diff --git a/code/game/objects/items/food/bread.dm b/code/game/objects/items/food/bread.dm index 41510dba45f..10d3c9264ad 100644 --- a/code/game/objects/items/food/bread.dm +++ b/code/game/objects/items/food/bread.dm @@ -45,6 +45,7 @@ icon_state = "breadslice" foodtypes = GRAIN food_reagents = list(/datum/reagent/consumable/nutriment = 2) + venue_value = FOOD_PRICE_TRASH /obj/item/food/breadslice/plain/Initialize() . = ..() @@ -144,7 +145,7 @@ food_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/nutriment/vitamin = 10, /datum/reagent/consumable/nutriment/protein = 10) tastes = list("bread" = 10, "tofu" = 10) foodtypes = GRAIN | VEGETABLES - venue_value = FOOD_PRICE_CHEAP + venue_value = FOOD_PRICE_TRASH /obj/item/food/bread/tofu/MakeProcessable() AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/breadslice/tofu, 5, 30) diff --git a/code/game/objects/items/food/meat.dm b/code/game/objects/items/food/meat.dm index 442cc149217..17ef84955d4 100644 --- a/code/game/objects/items/food/meat.dm +++ b/code/game/objects/items/food/meat.dm @@ -82,6 +82,7 @@ tastes = list("tofu" = 1) foodtypes = VEGETABLES w_class = WEIGHT_CLASS_SMALL + venue_value = FOOD_PRICE_CHEAP /obj/item/food/tofu/prison name = "soggy tofu" @@ -444,6 +445,8 @@ tastes = list("fish" = 1, "hot peppers" = 1) foodtypes = MEAT | TOXIC w_class = WEIGHT_CLASS_TINY + //spider eggs, xenomeat. both of those events have to happen or xenobio memes + venue_value = FOOD_PRICE_EXOTIC /obj/item/food/sashimi/Initialize() . = ..() @@ -1195,3 +1198,15 @@ . = ..() if(prob(50)) icon_state = "fried_chicken2" + +/obj/item/food/beef_stroganoff + name = "beef stroganoff" + desc = "A russian dish that consists of beef and sauce. Really popular in japan, or at least that's what my animes would allude to." + icon_state = "beefstroganoff" + food_reagents = list(/datum/reagent/consumable/nutriment/protein = 16, /datum/reagent/consumable/nutriment/vitamin = 4) + tastes = list("beef" = 3, "sour cream" = 1, "salt" = 1, "pepper" = 1) + foodtypes = MEAT | VEGETABLES | DAIRY + trash_type = /obj/item/trash/plate + w_class = WEIGHT_CLASS_SMALL + //basic ingredients, but a lot of them. just covering costs here + venue_value = FOOD_PRICE_NORMAL diff --git a/code/game/objects/items/food/pastries.dm b/code/game/objects/items/food/pastries.dm index 09f1cc1ba16..94898ad01d4 100644 --- a/code/game/objects/items/food/pastries.dm +++ b/code/game/objects/items/food/pastries.dm @@ -347,6 +347,7 @@ desc = "A delicious and spongy little cake, with berries." tastes = list("muffin" = 3, "berry" = 1) foodtypes = GRAIN | FRUIT | SUGAR | BREAKFAST + venue_value = FOOD_PRICE_NORMAL /obj/item/food/muffin/booberry name = "booberry muffin" @@ -363,6 +364,7 @@ food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/protein = 3, /datum/reagent/consumable/nutriment/vitamin = 1) tastes = list("custard" = 1) foodtypes = GRAIN | MEAT | VEGETABLES + venue_value = FOOD_PRICE_NORMAL ////////////////////////////////////////////WAFFLES//////////////////////////////////////////// @@ -625,6 +627,7 @@ tastes = list("bun" = 3, "meat" = 2) foodtypes = GRAIN | MEAT | VEGETABLES w_class = WEIGHT_CLASS_SMALL + venue_value = FOOD_PRICE_CHEAP /obj/item/food/khachapuri name = "khachapuri" diff --git a/code/game/objects/items/food/soup.dm b/code/game/objects/items/food/soup.dm index b93129d336e..a71c5b754b3 100644 --- a/code/game/objects/items/food/soup.dm +++ b/code/game/objects/items/food/soup.dm @@ -154,8 +154,9 @@ desc = "The universes best soup! Yum!!!" icon_state = "milosoup" food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/protein = 8, /datum/reagent/water = 5, /datum/reagent/consumable/nutriment/vitamin = 4) - tastes = list("milo" = 1) // wtf is milo + tastes = list("milo" = 1) // wtf is milo //i don't know either but hey i guess japanese tourists will order it foodtypes = VEGETABLES + venue_value = FOOD_PRICE_NORMAL /obj/item/food/soup/mushroom name = "chantrelle soup" diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm index 22d997f24b1..b8d7b029183 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm @@ -270,3 +270,18 @@ ) result = /obj/item/food/fried_chicken subcategory = CAT_MEAT + +/datum/crafting_recipe/food/beef_stroganoff + name = "Beef Stroganoff" + reqs = list( + /datum/reagent/consumable/flour = 5, + /datum/reagent/consumable/milk = 5, + /datum/reagent/consumable/salt = 5, + /datum/reagent/consumable/blackpepper = 5, + /obj/item/food/grown/mushroom = 2, + /obj/item/food/grown/onion = 1, + /obj/item/food/grown/tomato = 1, + /obj/item/food/meat/steak = 1, + ) + result = /obj/item/food/beef_stroganoff + subcategory = CAT_MEAT diff --git a/code/modules/food_and_drinks/restaurant/_venue.dm b/code/modules/food_and_drinks/restaurant/_venue.dm index 52686e4f074..33f71c48408 100644 --- a/code/modules/food_and_drinks/restaurant/_venue.dm +++ b/code/modules/food_and_drinks/restaurant/_venue.dm @@ -5,7 +5,7 @@ ///Max amount of guests at any time var/max_guests = 6 ///Weighted list of customer types - var/list/customer_types = list(/datum/customer_data/american = 5, /datum/customer_data/italian = 3, /datum/customer_data/french = 3) + var/list/customer_types = list(/datum/customer_data/american = 5, /datum/customer_data/italian = 3, /datum/customer_data/french = 3, /datum/customer_data/japanese = 3, /datum/customer_data/japanese/salaryman = 2) ///Is the venue open at the moment? var/open ///Portal linked to this venue at the moment diff --git a/code/modules/food_and_drinks/restaurant/customers/_customer.dm b/code/modules/food_and_drinks/restaurant/customers/_customer.dm index 56c8938cbe6..c4818067337 100644 --- a/code/modules/food_and_drinks/restaurant/customers/_customer.dm +++ b/code/modules/food_and_drinks/restaurant/customers/_customer.dm @@ -28,7 +28,7 @@ ///Base icon for the customer var/base_icon = "amerifat" ///Sound to use when this robot type speaks - var/speech_sound = 'sound/effects/tourist_talk.ogg' + var/speech_sound = 'sound/creatures/tourist/tourist_talk.ogg' /datum/customer_data/New() . = ..() @@ -77,7 +77,7 @@ leave_mad_lines = list("Sacre bleu!", "Merde! This place is shittier than the Rhine!") leave_happy_lines = list("Hon hon hon.", "A good effort.") wait_for_food_lines = list("Hon hon hon") - speech_sound = 'sound/effects/tourist_talk_french.ogg' + speech_sound = 'sound/creatures/tourist/tourist_talk_french.ogg' orderable_objects = list( /datum/venue/restaurant = list(/obj/item/food/baguette = 20, /obj/item/food/garlicbread = 5, /obj/item/food/soup/onion = 4, /obj/item/food/pie/berryclafoutis = 2, /obj/item/food/omelette = 15), /datum/venue/bar = list(/datum/reagent/consumable/ethanol/champagne = 15, /datum/reagent/consumable/ethanol/mojito = 5, /datum/reagent/consumable/ethanol/sidecar = 5, /datum/reagent/consumable/ethanol/between_the_sheets = 4, /datum/reagent/consumable/ethanol/beer = 10)) @@ -87,3 +87,41 @@ var/mutable_appearance/flag = mutable_appearance(customer.icon, "french_flag") flag.appearance_flags = RESET_COLOR return flag + + + +/datum/customer_data/japanese + nationality = "Space-Japanese" + prefix_file = "strings/names/japanese_prefix.txt" + base_icon = "japanese" + clothing_sets = list("japanese_animes") + + found_seat_lines = list("Konnichiwa!", "Arigato gozaimasuuu~", "I hope there's some beef stroganoff...") + cant_find_seat_lines = list("I want to sit under the cherry tree already, senpai!", "Give me a seat before my Tsundere becomes Yandere!", "This place has less seating than a capsule hotel!", "No place to sit? This Shokunin is so cold...") + leave_mad_lines = list("I can't believe you did this! WAAAAAAAAAAAAAH!!", "I-It's not like I ever wanted your food! B-baka...", "I was gonna give you my tip!") + leave_happy_lines = list("Oh NOURISHMENT PROVIDER! This is the happiest day of my life. I love you!", "I take a potato chip.... AND EAT IT!", "Itadakimasuuu~", "Gochisousama desu!") + wait_for_food_lines = list("No food yet? I guess it can't be helped.", "I can't wait to finally meet you burger-sama...", "Give me my food, you meanie!") + speech_sound = 'sound/creatures/tourist/tourist_talk_japanese1.ogg' + orderable_objects = list( + /datum/venue/restaurant = list(/obj/item/food/tofu = 5, /obj/item/food/breadslice/plain = 5, /obj/item/food/soup/milo = 10, /obj/item/food/soup/vegetable = 4, /obj/item/food/sashimi = 4, /obj/item/food/chawanmushi = 4, /obj/item/food/muffin/berry = 2, /obj/item/food/beef_stroganoff = 2), + /datum/venue/bar = list(/datum/reagent/consumable/ethanol/sake = 8, /datum/reagent/consumable/cafe_latte = 6, /datum/reagent/consumable/ethanol/aloe = 6, /datum/reagent/consumable/chocolatepudding = 4, /datum/reagent/consumable/tea = 4, /datum/reagent/consumable/cherryshake = 1, /datum/reagent/consumable/ethanol/bastion_bourbon = 1)) + +/datum/customer_data/japanese/get_overlays(mob/living/simple_animal/robot_customer/customer) + //leaving and eaten + if(type == /datum/customer_data/japanese && customer.ai_controller.blackboard[BB_CUSTOMER_LEAVING] && customer.ai_controller.blackboard[BB_CUSTOMER_EATING]) + var/mutable_appearance/you_won_my_heart = mutable_appearance('icons/effects/effects.dmi', "love_hearts") + you_won_my_heart.appearance_flags = RESET_COLOR + return you_won_my_heart + +/datum/customer_data/japanese/salaryman + clothing_sets = list("japanese_salary") + + found_seat_lines = list("I wonder if giant monsters attack here too...", "Hajimemashite.", "Konbanwa.", "Where's the conveyor belt...") + cant_find_seat_lines = list("Please, a seat. I just want a seat.", "I'm on a schedule here. Where is my seat?", "...I see why this place is suffering. They won't even seat you.") + leave_mad_lines = list("This place is just downright shameful, and I'm telling my coworkers.", "What a waste of my time.", "I hope you don't take pride in the operation you run here.") + leave_happy_lines = list("Thank you for the hospitality.", "Otsukaresama deshita.", "Business calls.") + wait_for_food_lines = list("Zzzzzzzzzz...", "Dame da ne~", "Dame yo dame na no yo~") + speech_sound = 'sound/creatures/tourist/tourist_talk_japanese2.ogg' + orderable_objects = list( + /datum/venue/restaurant = list(/obj/item/food/tofu = 5, /obj/item/food/soup/milo = 6, /obj/item/food/soup/vegetable = 4, /obj/item/food/sashimi = 4, /obj/item/food/chawanmushi = 4, /obj/item/food/meatbun = 4, /obj/item/food/beef_stroganoff = 2), + /datum/venue/bar = list(/datum/reagent/consumable/ethanol/beer = 14, /datum/reagent/consumable/ethanol/sake = 9, /datum/reagent/consumable/cafe_latte = 3, /datum/reagent/consumable/coffee = 3, /datum/reagent/consumable/soy_latte = 3, /datum/reagent/consumable/ethanol/atomicbomb = 1)) diff --git a/code/modules/mob/living/simple_animal/friendly/robot_customer.dm b/code/modules/mob/living/simple_animal/friendly/robot_customer.dm index 4d74e6e147b..3541a8d2410 100644 --- a/code/modules/mob/living/simple_animal/friendly/robot_customer.dm +++ b/code/modules/mob/living/simple_animal/friendly/robot_customer.dm @@ -75,7 +75,7 @@ /mob/living/simple_animal/robot_customer/send_speech(message, message_range, obj/source, bubble_type, list/spans, datum/language/message_language, list/message_mods) . = ..() var/datum/customer_data/customer_info = ai_controller.blackboard[BB_CUSTOMER_CUSTOMERINFO] - playsound(src, customer_info.speech_sound, TRUE, extrarange = MEDIUM_RANGE_SOUND_EXTRARANGE, falloff_distance = 5) + playsound(src, customer_info.speech_sound, 30, extrarange = MEDIUM_RANGE_SOUND_EXTRARANGE, falloff_distance = 5) /mob/living/simple_animal/robot_customer/examine(mob/user) . = ..() diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 1088f2f3e94..04a90a5250b 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -1183,6 +1183,8 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "Aloe" glass_desc = "Very, very, very good." chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + //somewhat annoying mix + glass_price = DRINK_PRICE_MEDIUM /datum/reagent/consumable/ethanol/andalusia name = "Andalusia" @@ -1762,6 +1764,7 @@ All effects don't start immediately, but rather get worse over time; the rate is shot_glass_icon_state = "shotglassgreen" ph = 4 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + glass_price = DRINK_PRICE_HIGH /datum/reagent/consumable/ethanol/bastion_bourbon/on_mob_metabolize(mob/living/L) var/heal_points = 10 @@ -1860,6 +1863,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "cup of sake" glass_desc = "A traditional cup of sake." chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/ethanol/peppermint_patty name = "Peppermint Patty" @@ -1947,6 +1951,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "Between the Sheets" glass_desc = "The only drink that comes with a label reminding you of Nanotrasen's zero-tolerance promiscuity policy." chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + glass_price = DRINK_PRICE_MEDIUM /datum/reagent/consumable/ethanol/between_the_sheets/on_mob_life(mob/living/L, delta_time, times_fired) ..() diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index b921a7efeb1..39ec6d20240 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -281,6 +281,7 @@ glass_name = "glass of coffee" glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere." chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/coffee/overdose_process(mob/living/M, delta_time, times_fired) M.Jitter(5 * REM * delta_time) @@ -307,6 +308,7 @@ glass_name = "glass of tea" glass_desc = "Drinking it from here would not seem right." chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/tea/on_mob_life(mob/living/carbon/M, delta_time, times_fired) M.dizziness = max(M.dizziness - (2 * REM * delta_time), 0) @@ -684,6 +686,7 @@ glass_name = "soy latte" glass_desc = "A nice and refreshing beverage while you're reading." chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + glass_price = DRINK_PRICE_EASY /datum/reagent/consumable/soy_latte/on_mob_life(mob/living/carbon/M, delta_time, times_fired) M.dizziness = max(M.dizziness - (5 * REM * delta_time), 0) @@ -706,6 +709,7 @@ glass_name = "cafe latte" glass_desc = "A nice, strong and refreshing beverage while you're reading." chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + glass_price = DRINK_PRICE_EASY /datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/carbon/M, delta_time, times_fired) M.dizziness = max(M.dizziness - (5 * REM * delta_time), 0) @@ -753,6 +757,7 @@ glass_name = "cherry shake" glass_desc = "A cherry flavored milkshake." chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + glass_price = DRINK_PRICE_MEDIUM /datum/reagent/consumable/bluecherryshake name = "Blue Cherry Shake" diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index d0e2111e21b..4f62cfe55f5 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -922,6 +922,7 @@ glass_name = "chocolate pudding" glass_desc = "Tasty." chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + glass_price = DRINK_PRICE_EASY /datum/reagent/consumable/vanillapudding name = "Vanilla Pudding" diff --git a/icons/mob/tourists.dmi b/icons/mob/tourists.dmi index 546cff2aed7..4b16b3903fa 100644 Binary files a/icons/mob/tourists.dmi and b/icons/mob/tourists.dmi differ diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index 4d24a3ab8c5..aa0e2c9951d 100644 Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ diff --git a/sound/effects/tourist_talk.ogg b/sound/creatures/tourist/tourist_talk.ogg similarity index 100% rename from sound/effects/tourist_talk.ogg rename to sound/creatures/tourist/tourist_talk.ogg diff --git a/sound/effects/tourist_talk_french.ogg b/sound/creatures/tourist/tourist_talk_french.ogg similarity index 100% rename from sound/effects/tourist_talk_french.ogg rename to sound/creatures/tourist/tourist_talk_french.ogg diff --git a/sound/creatures/tourist/tourist_talk_japanese1.ogg b/sound/creatures/tourist/tourist_talk_japanese1.ogg new file mode 100644 index 00000000000..265aef709d2 Binary files /dev/null and b/sound/creatures/tourist/tourist_talk_japanese1.ogg differ diff --git a/sound/creatures/tourist/tourist_talk_japanese2.ogg b/sound/creatures/tourist/tourist_talk_japanese2.ogg new file mode 100644 index 00000000000..d721723787a Binary files /dev/null and b/sound/creatures/tourist/tourist_talk_japanese2.ogg differ diff --git a/strings/names/japanese_prefix.txt b/strings/names/japanese_prefix.txt new file mode 100644 index 00000000000..52009203699 --- /dev/null +++ b/strings/names/japanese_prefix.txt @@ -0,0 +1,23 @@ +Anime +Girugamesh +Tokyo +Gaybang +Osaka +Salary +Green Tea +Milo Fan +Love Triangle +Dynasty +Sensei +Sama +Weeb +Weeaboo +Sakura +Manga +Supa +Doki Doki +Kawaii +Tsundere +Yandere +Desu +Touhou