diff --git a/code/game/objects/random/misc.dm b/code/game/objects/random/misc.dm index 21179e8af6..bee06511aa 100644 --- a/code/game/objects/random/misc.dm +++ b/code/game/objects/random/misc.dm @@ -932,3 +932,39 @@ prob(3);/obj/item/clothing/accessory/poncho/thermal/purple, prob(3);/obj/item/clothing/accessory/poncho/thermal/blue) +/obj/random/mug + name = "Random Mug" + desc = "This is a random coffee mug." + icon = 'icons/obj/drinks_mugs.dmi' + icon_state = "coffeecup_spawner" + +/obj/random/mug/item_to_spawn() + return pick(/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/sol, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fleet, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fivearrows, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/psc, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/alma, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/almp, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/nt, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal/wulf, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/gilthari, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/zeng, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/wt, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/aether, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/bishop, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/oculum, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/one, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/puni, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/heart, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/pawn, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/diona, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/britcup, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tourist, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/flame, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/blue, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/black, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green/dark, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/rainbow, + /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal) \ No newline at end of file diff --git a/code/modules/client/preference_setup/loadout/loadout_general.dm b/code/modules/client/preference_setup/loadout/loadout_general.dm index 542348fec4..5ea1155eb2 100644 --- a/code/modules/client/preference_setup/loadout/loadout_general.dm +++ b/code/modules/client/preference_setup/loadout/loadout_general.dm @@ -120,6 +120,52 @@ gear_tweaks += new/datum/gear_tweak/path(sortAssoc(lunchboxes)) gear_tweaks += new/datum/gear_tweak/contents(lunchables_lunches(), lunchables_snacks(), lunchables_drinks()) +/datum/gear/coffeemug + display_name = "coffee mugs" + description = "A coffee mug in various designs." + cost = 1 + path = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug + +/datum/gear/coffeemug/New() + ..() + var/list/coffeemugs = list() + coffeemugs["plain coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug + coffeemugs["SCG coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/sol + coffeemugs["Fleet coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fleet + coffeemugs["Five Arrows coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fivearrows + coffeemugs["Pearlshield coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/psc + coffeemugs["Almach Association coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/alma + coffeemugs["Almach Protectorate coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/almp + coffeemugs["NT coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/nt + coffeemugs["Wulf Aeronautics mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal/wulf + coffeemugs["Gilthari Exports coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/gilthari + coffeemugs["Zeng-Hu coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/zeng + coffeemugs["Ward-Takahashi coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/wt + coffeemugs["Aether Atmospherics coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/aether + coffeemugs["Bishop Cybernetics coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/bishop + coffeemugs["Oculum Broadcast coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/oculum + coffeemugs["#1 coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/one + coffeemugs["#1 monkey coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/puni + coffeemugs["heart coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/heart + coffeemugs["pawn coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/pawn + coffeemugs["diona coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/diona + coffeemugs["british coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/britcup + coffeemugs["NCS Northern Star coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tourist + coffeemugs["flame coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/flame + coffeemugs["blue coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/blue + coffeemugs["black coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/black + coffeemugs["green coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green + coffeemugs["dark green coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green/dark + coffeemugs["rainbow coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/rainbow + coffeemugs["metal coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal + coffeemugs["glass coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/glass + coffeemugs["tall coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall + coffeemugs["tall black coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/black + coffeemugs["tall metal coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/metal + coffeemugs["tall rainbow coffee mug"] = /obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/rainbow + gear_tweaks += new /datum/gear_tweak/path(coffeemugs) + gear_tweaks += new /datum/gear_tweak/reagents(lunchables_drink_reagents()) + /datum/gear/towel display_name = "towel" path = /obj/item/weapon/towel diff --git a/code/modules/food/drinkingglass/glass_boxes.dm b/code/modules/food/drinkingglass/glass_boxes.dm index 4573a5520f..b9b5f398f9 100644 --- a/code/modules/food/drinkingglass/glass_boxes.dm +++ b/code/modules/food/drinkingglass/glass_boxes.dm @@ -80,4 +80,4 @@ /obj/item/weapon/storage/box/glasses/coffeemug name = "box of coffee mugs" - starts_with = list(/obj/item/weapon/reagent_containers/food/drinks/britcup = 7) \ No newline at end of file + starts_with = list(/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug = 7) \ No newline at end of file diff --git a/code/modules/food/drinkingglass/mugs.dm b/code/modules/food/drinkingglass/mugs.dm new file mode 100644 index 0000000000..8fa1c42eeb --- /dev/null +++ b/code/modules/food/drinkingglass/mugs.dm @@ -0,0 +1,224 @@ +/obj/item/weapon/reagent_containers/food/drinks/britcup + name = "cup" + desc = "A cup with the British flag emblazoned on it." + icon_state = "britcup" + volume = 30 + center_of_mass = list("x"=15, "y"=13) + +/obj/item/weapon/reagent_containers/food/drinks/britcup/on_reagent_change() + ..() + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug + name = "coffee mug" + base_name = "mug" + desc = "A plain white coffee mug." + icon = 'icons/obj/drinks_mugs.dmi' + base_icon = "coffeecup" + volume = 30 + var/fillsource = "coffeecup" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/update_icon() + cut_overlays() + + if(reagents.total_volume) + var/image/filling = image('icons/obj/drinks_mugs.dmi', src, null) + var/percent = round((reagents.total_volume / volume) * 100) + switch(percent) + if(0 to 39) + filling.icon_state = null + return + if(40 to 79) filling.icon_state = "[fillsource]40" + if(80 to 99) filling.icon_state = "[fillsource]80" + if(100 to INFINITY) filling.icon_state = "[fillsource]100" + filling.color = reagents.get_color() + add_overlay(filling) + +// Government +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/sol + name = "\improper SCG coffee mug" + desc = "A blue coffee mug emblazoned with the crest of the Solar Confederate Government." + base_icon = "coffeecup_sol" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fleet + name = "\improper SCG Fleet coffee cup" + desc = "A coffee mug imprinted with the emblem of the Solar Confederate Fleet." + base_icon = "coffeecup_fleet" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/fivearrows + name = "\improper Five Arrows coffee mug" + desc = "A coffee mug with the flag of the Five Arrows proudly displayed on it." + base_icon = "coffeecup_fivearrows" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/alma + name = "\improper Almach Association coffee cup" + desc = "A grey coffee cup emblazoned with the star of the Almach Association." + icon_state = "coffeecup_alma" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/almp + name = "\improper Almach Protectorate coffee cup" + desc = "A purple coffee cup emblazoned with the star of the Almach Protectorate." + icon_state = "coffeecup_almp" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/psc + name = "\improper Pearlshield coffee mug" + desc = "A coffee mug bearing the symbol of the Pearlshield Coalition." + base_icon = "coffeecup_psc" + +// Corporations +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/nt + name = "\improper NT coffee mug" + desc = "A blue NanoTrasen coffee mug." + base_icon = "coffeecup_NT" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal/wulf + name = "\improper Wulf Aeronautics coffee mug" + desc = "A metal coffee mug bearing the livery of Wulf Aeronautics." + base_icon = "coffeecup_wulf" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/gilthari + name = "\improper Gilthari Exports coffee mug" + desc = "A coffee mug bearing golden G of Gilthari Exports." + base_icon = "coffeecup_gilth" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/wt + name = "\improper Ward-Takahashi coffee mug" + desc = "A coffee mug in a geometric Ward-Takahashi design." + base_icon = "coffeecup_wt" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/aether + name = "\improper Aether Atmospherics coffee mug" + desc = "A coffee mug in Aether Atmospherics colours." + base_icon = "coffeecup_aether" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/zeng + name = "\improper Zeng-Hu coffee cup" + desc = "A coffee cup bearing the Zeng-Hu logo." + icon_state = "coffeecup_zeng" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/bishop + name = "\improper Bishop coffee mug" + desc = "A black coffee mug adorned with Bishop's logo." + base_icon = "coffeecup_bishop" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/oculum + name = "pawn coffee mug" + desc = "A black and blue coffee mug decorated with the logo of Oculum Broadcast." + base_icon = "coffeecup_oculum" + +// Symbols, markings +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/one + name = "#1 coffee mug" + desc = "A white coffee mug, prominently featuring a #1." + base_icon = "coffeecup_one" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/puni + name = "#1 monkey coffee mug" + desc = "A white coffee mug, prominently featuring a \"#1 monkey\" decal." + base_icon = "coffeecup_puni" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/heart + name = "heart coffee mug" + desc = "A white coffee mug, it prominently features a red heart." + base_icon = "coffeecup_heart" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/pawn + name = "pawn coffee mug" + desc = "A black coffee mug adorned with the image of a red chess pawn." + base_icon = "coffeecup_pawn" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/diona + name = "diona nymph coffee mug" + desc = "A green coffee mug featuring the image of a diona nymph." + base_icon = "coffeecup_diona" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/britcup + name = "british coffee mug" + desc = "A coffee mug with the British flag emblazoned on it." + base_icon = "coffeecup_brit" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/flame + name = "flame coffee cup" + desc = "A coffee cup with the a flame emblazoned on it." + icon_state = "coffeecup_flame" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tourist + name = "\improper Northern Star coffee mug" + desc = "A novelty coffee mug depicting the NCS Northern Star." + base_icon = "coffeecup_northstar" + +// Pure colors & other +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/black + name = "black coffee mug" + desc = "A sleek black coffee mug." + base_icon = "coffeecup_black" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green + name = "green coffee mug" + desc = "A pale green and pink coffee mug." + base_icon = "coffeecup_green" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/green/dark + desc = "A dark green coffee mug." + base_icon = "coffeecup_corp" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/blue + name = "blue coffee mug" + desc = "A blue coffee mug." + base_icon = "coffeecup_blue" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/rainbow + name = "rainbow coffee mug" + desc = "A rainbow coffee mug. The colors are almost as blinding as a welder." + base_icon = "coffeecup_rainbow" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/metal + name = "metal coffee mug" + desc = "A metal coffee mug. You're not sure which metal." + base_icon = "coffeecup_metal" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/glass + name = "glass coffee mug" + desc = "A glass coffee mug, using space age technology to keep it cool for use." + base_icon = "glasscoffeecup" + fillsource = "glasscoffeecup" + + +// Tall coffee mugs +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall + name = "tall coffee mug" + desc = "An unreasonably tall coffee mug, for when you really need to wake up in the morning." + icon = 'icons/obj/drinks_mugs_tall.dmi' + base_icon = "coffeecup_tall" + fillsource = "coffeecup_tall" + volume = 60 + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/update_icon() + cut_overlays() + + if(reagents.total_volume) + var/image/filling = image('icons/obj/drinks_mugs_tall.dmi', src, null) + var/percent = round((reagents.total_volume / volume) * 100) + switch(percent) + if(0 to 69) + filling.icon_state = null + return + if(70 to 89) filling.icon_state = "[fillsource]70" + if(90 to 99) filling.icon_state = "[fillsource]90" + if(100 to INFINITY) filling.icon_state = "[fillsource]100" + filling.color = reagents.get_color() + add_overlay(filling) + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/black + name = "tall black coffee mug" + desc = "An unreasonably tall coffee mug, for when you really need to wake up in the morning. This one is black." + base_icon = "coffeecup_tall_black" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/metal + name = "tall metal coffee mug" + desc = "An unreasonably tall coffee mug, for when you really need to wake up in the morning. This one is made of metal." + base_icon = "coffeecup_tall_metal" + +/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug/tall/rainbow + name = "tall rainbow coffee mug" + desc = "An unreasonably tall coffee mug, for when you really need to wake up in the morning. This one is rainbow colored." + base_icon = "coffeecup_tall_rainbow" \ No newline at end of file diff --git a/code/modules/food/food/drinks.dm b/code/modules/food/food/drinks.dm index 4bf357ed04..0bc37873ee 100644 --- a/code/modules/food/food/drinks.dm +++ b/code/modules/food/food/drinks.dm @@ -418,15 +418,4 @@ desc = "Keeping your drinks at the perfect temperature since 1892." icon_state = "vacuumflask" volume = 60 - center_of_mass = list("x"=15, "y"=4) - -/obj/item/weapon/reagent_containers/food/drinks/britcup - name = "cup" - desc = "A cup with the British flag emblazoned on it." - icon_state = "britcup" - volume = 30 - center_of_mass = list("x"=15, "y"=13) - -/obj/item/weapon/reagent_containers/food/drinks/britcup/on_reagent_change() - ..() - + center_of_mass = list("x"=15, "y"=4) \ No newline at end of file diff --git a/icons/obj/drinks_mugs.dmi b/icons/obj/drinks_mugs.dmi new file mode 100644 index 0000000000..e562e120d2 Binary files /dev/null and b/icons/obj/drinks_mugs.dmi differ diff --git a/icons/obj/drinks_mugs_tall.dmi b/icons/obj/drinks_mugs_tall.dmi new file mode 100644 index 0000000000..8e2be2e2cf Binary files /dev/null and b/icons/obj/drinks_mugs_tall.dmi differ diff --git a/polaris.dme b/polaris.dme index e9e331692b..a795b7148f 100644 --- a/polaris.dme +++ b/polaris.dme @@ -1854,6 +1854,7 @@ #include "code\modules\food\drinkingglass\glass_boxes.dm" #include "code\modules\food\drinkingglass\glass_types.dm" #include "code\modules\food\drinkingglass\metaglass.dm" +#include "code\modules\food\drinkingglass\mugs.dm" #include "code\modules\food\drinkingglass\shaker.dm" #include "code\modules\food\food\cans.dm" #include "code\modules\food\food\condiment.dm"