diff --git a/aurorastation.dme b/aurorastation.dme index b9f720ac8a9..46b3bab2195 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -2171,6 +2171,7 @@ #include "code\modules\reagents\reagent_containers\pill.dm" #include "code\modules\reagents\reagent_containers\spray.dm" #include "code\modules\reagents\reagent_containers\syringes.dm" +#include "code\modules\reagents\reagent_containers\tooth_paste.dm" #include "code\modules\reagents\reagent_containers\food\cans.dm" #include "code\modules\reagents\reagent_containers\food\condiment.dm" #include "code\modules\reagents\reagent_containers\food\drinks.dm" diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 34e9799438f..7aa927da523 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -1120,4 +1120,23 @@ /obj/item/weapon/storage/box/tranquilizer/fill() ..() for(var/i in 1 to 8) - new /obj/item/ammo_casing/tranq(src) \ No newline at end of file + new /obj/item/ammo_casing/tranq(src) + +/obj/item/weapon/storage/box/toothpaste + can_hold = list(/obj/item/weapon/reagent_containers/toothpaste, + /obj/item/weapon/reagent_containers/toothbrush) + +/obj/item/weapon/storage/box/toothpaste/fill() + new /obj/item/weapon/reagent_containers/toothpaste(src) + new /obj/item/weapon/reagent_containers/toothbrush(src) + make_exact_fit() + +/obj/item/weapon/storage/box/toothpaste/green/fill() + new /obj/item/weapon/reagent_containers/toothpaste(src) + new /obj/item/weapon/reagent_containers/toothbrush/green(src) + make_exact_fit() + +/obj/item/weapon/storage/box/toothpaste/red/fill() + new /obj/item/weapon/reagent_containers/toothpaste(src) + new /obj/item/weapon/reagent_containers/toothbrush/red(src) + make_exact_fit() \ 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 621ca96cc78..d7c1a85523d 100644 --- a/code/modules/client/preference_setup/loadout/loadout_general.dm +++ b/code/modules/client/preference_setup/loadout/loadout_general.dm @@ -140,4 +140,16 @@ /datum/gear/battlemonsters display_name = "battlemonsters starter deck" - path = /obj/item/battle_monsters/wrapped \ No newline at end of file + path = /obj/item/battle_monsters/wrapped + +/datum/gear/toothpaste + display_name = "toothpaste and toothbrush" + path = /obj/item/weapon/storage/box/toothpaste + +/datum/gear/toothpaste/New() + ..() + var/toothpaste = list() + toothpaste["toothpaste and blue toothbrush"] = /obj/item/weapon/storage/box/toothpaste + toothpaste["toothpaste and green toothbrush"] = /obj/item/weapon/storage/box/toothpaste/green + toothpaste["toothpaste and red toothbrush"] = /obj/item/weapon/storage/box/toothpaste/red + gear_tweaks += new/datum/gear_tweak/path(toothpaste) \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index ab7c9dd9ac6..512f1b15800 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -1592,6 +1592,79 @@ glass_name = "Meatshake" glass_desc = "Blended meat and cream for those who want crippling health issues down the road. Has two straws for sharing! Perfect for dates!" +/datum/reagent/drink/toothpaste + name = "Toothpaste" + id = "toothpaste" + description = "A paste commonly used in oral hygiene." + reagent_state = LIQUID + color = "#b1eae8" + taste_description = "toothpaste" + overdose = REAGENTS_OVERDOSE + var/strength = 50 + + glass_icon_state = "toothpaste" + glass_name = "glass of toothpaste" + glass_desc = "Dentists recommend drinking zero glasses a day, and instead brushing normally." + glass_center_of_mass = list("x"=7, "y"=8) + +/datum/reagent/drink/toothpaste/affect_ingest(var/mob/living/carbon/human/M, var/alien, var/removed) + + if(!istype(M)) + return + + if(alien == IS_VAURCA) + M.intoxication += (strength / 100) * removed * 3.5 + +/datum/reagent/drink/toothpaste/cold_gate + name = "Cold Gate" + id = "cold_gate" + description = "A C'thur Favorite, guaranteed to make even the bloodiest of warriors mandibles shimmer." + strength = 25 + taste_description = "mint" + + glass_icon_state = "cold_gate" + glass_name = "glass of Cold Gate" + glass_desc = "A C'thur Favorite, guaranteed to make even the bloodiest of warriors mandibles shimmer." + glass_center_of_mass = list("x"=7, "y"=8) + +/datum/reagent/drink/toothpaste/waterfresh + name = "Waterfresh" + id = "waterfresh" + description = "A concoction of toothpaste and mouthwash, for when you need to show your pearly whites." + strength = 40 + taste_description = "bubble bath" + + glass_icon_state = "waterfresh" + glass_name = "glass of Waterfresh" + glass_desc = "A concoction of toothpaste and mouthwash, for when you need to show your pearly whites. Toothbrush Included." + glass_center_of_mass = list("x"=7, "y"=8) + +/datum/reagent/drink/toothpaste/sedantian_firestorm + name = "Sedantian Firestorm" + id = "sedantian_firestorm" + description = "Florinated phoron, is the drink suppose to be on fire?" + strength = 80 + taste_description = "melting asphalt" + adj_temp = 25 + default_temperature = T0C + 60 + + glass_icon_state = "sedantian_firestorm" + glass_name = "glass of Sedantian Firestorm" + glass_desc = "Florinated phoron, is the drink suppose to be on fire?" + glass_center_of_mass = list("x"=7, "y"=8) + +/datum/reagent/drink/toothpaste/kois_odyne + name = "Kois Odyne" + id = "kois_odyne" + description = "A favourite among the younger vaurca, born from an accident involving nanopaste and the repair of internal augments." + strength = 60 + taste_description = "chalk" + + glass_icon_state = "kois_odyne" + glass_name = "glass of Kois Odyne" + glass_desc = "A favourite among the younger vaurca, born from an accident involving nanopaste and the repair of internal augments." + glass_center_of_mass = list("x"=7, "y"=8) + /* Alcohol */ // Basic diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index f843bd6c93d..50fb680f2a6 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -3168,4 +3168,32 @@ id = "rmt" result = "rmt" result_amount = 1 - required_reagents = list("potassium" = 1, "inaprovaline" = 1) \ No newline at end of file + required_reagents = list("potassium" = 1, "inaprovaline" = 1) + +/datum/chemical_reaction/cold_gate + name = "Cold Gate" + id = "cold_gate" + result = "cold_gate" + result_amount = 3 + required_reagents = list("mintsyrup" = 1, "ice" = 1, "toothpaste" = 1) + +/datum/chemical_reaction/waterfresh + name = "Waterfresh" + id = "waterfresh" + result = "waterfresh" + result_amount = 3 + required_reagents = list("tonic" = 1, "sodawater" = 1, "toothpaste" = 1) + +/datum/chemical_reaction/sedantian_firestorm + name = "Sedantian Firestorm" + id = "sedantian_firestorm" + result = "sedantian_firestorm" + result_amount = 2 + required_reagents = list("phoron" = 1, "toothpaste" = 1) + +/datum/chemical_reaction/kois_odyne + name = "Kois Odyne" + id = "kois_odyne" + result = "kois_odyne" + result_amount = 3 + required_reagents = list("tonic" = 1, "koispaste" = 1, "toothpaste" = 1) diff --git a/code/modules/reagents/reagent_containers/tooth_paste.dm b/code/modules/reagents/reagent_containers/tooth_paste.dm new file mode 100644 index 00000000000..3d109229066 --- /dev/null +++ b/code/modules/reagents/reagent_containers/tooth_paste.dm @@ -0,0 +1,66 @@ +/obj/item/weapon/reagent_containers/toothpaste + name = "tube of toothpaste" + desc = "A simple tube full of toothpaste." + icon = 'icons/obj/chemical.dmi' + icon_state = "toothpaste" + flags = OPENCONTAINER + possible_transfer_amounts = null + amount_per_transfer_from_this = 5 + volume = 20 + +/obj/item/weapon/reagent_containers/toothpaste/Initialize() + . = ..() + reagents.add_reagent("toothpaste", 20) + +/obj/item/weapon/reagent_containers/toothpaste/on_reagent_change() + update_icon() + +/obj/item/weapon/reagent_containers/toothpaste/update_icon() + var/percent = round((reagents.total_volume / volume) * 100) + switch(percent) + if(0 to 9) icon_state = "toothpaste_empty" + if(10 to 50) icon_state = "toothpaste_half" + if(51 to INFINITY) icon_state = "toothpaste" + +/obj/item/weapon/reagent_containers/toothpaste/attack_self(mob/user as mob) + return + +/obj/item/weapon/reagent_containers/toothbrush + name = "toothbrush" + desc = "An essential tool in dental hygiene." + icon = 'icons/obj/chemical.dmi' + icon_state = "toothbrush_b" + flags = OPENCONTAINER + possible_transfer_amounts = null + amount_per_transfer_from_this = 5 + volume = 5 + +/obj/item/weapon/reagent_containers/toothbrush/on_reagent_change() + update_icon() + +/obj/item/weapon/reagent_containers/toothbrush/update_icon() + cut_overlays() + + if(reagents.has_reagent("toothpaste")) + add_overlay("toothpaste_overlay") + +/obj/item/weapon/reagent_containers/toothbrush/attack_self(mob/user as mob) + return + +/obj/item/weapon/reagent_containers/toothbrush/self_feed_message(var/mob/user) + user.visible_message("\The [user] brushes [user.get_pronoun(1)] teeth with \the [src]","You brush your teeth with \the [src]") + +/obj/item/weapon/reagent_containers/toothbrush/other_feed_message_start(var/mob/user, var/mob/target) + user.visible_message("[user] is trying to brush \the [target]'s teeth \the [src]!") + +/obj/item/weapon/reagent_containers/toothbrush/other_feed_message_finish(var/mob/user, var/mob/target) + user.visible_message("[user] has brushed \the [target]'s teeth with \the [src]!") + +/obj/item/weapon/reagent_containers/toothbrush/feed_sound(var/mob/user) + return + +/obj/item/weapon/reagent_containers/toothbrush/green + icon_state = "toothbrush_g" + +/obj/item/weapon/reagent_containers/toothbrush/red + icon_state = "toothbrush_r" \ No newline at end of file diff --git a/html/changelogs/alberyk-toothpastememe.yml b/html/changelogs/alberyk-toothpastememe.yml new file mode 100644 index 00000000000..96703c4cbce --- /dev/null +++ b/html/changelogs/alberyk-toothpastememe.yml @@ -0,0 +1,7 @@ +author: Alberyk + +delete-after: True + +changes: + - rscadd: "Added toothpaste and toothbrush." + - rscadd: "Added a couple of vaurcan drinks related to toothpaste." diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi index 8ea2cb8df5b..fd0de94a303 100644 Binary files a/icons/obj/chemical.dmi and b/icons/obj/chemical.dmi differ diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index c0385a6faa8..1e073660534 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index a3ed1bc12d1..51ec16ea782 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -56216,6 +56216,8 @@ }, /obj/item/weapon/storage/fancy/candle_box, /obj/item/weapon/storage/fancy/candle_box, +/obj/item/weapon/reagent_containers/toothpaste, +/obj/item/weapon/reagent_containers/toothpaste, /turf/simulated/floor/wood, /area/crew_quarters/bar) "bTq" = ( diff --git a/maps/aurora/aurora-6_surface.dmm b/maps/aurora/aurora-6_surface.dmm index 9a442f86c56..f1d2fbfdc43 100644 --- a/maps/aurora/aurora-6_surface.dmm +++ b/maps/aurora/aurora-6_surface.dmm @@ -15577,6 +15577,10 @@ /area/crew_quarters/toilet) "CS" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/toothpaste, +/obj/item/weapon/reagent_containers/toothbrush/red, +/obj/item/weapon/reagent_containers/toothbrush, /turf/simulated/floor/tiled/freezer, /area/crew_quarters/toilet) "CU" = (