mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 22:19:30 +01:00
Classic Cocktails 2: The liqueurening (#95392)
## About The Pull Request TL;DR: "What do you mean we didn't have a negroni in the game before?" This adds three new very commonly used liqueurs to the game: A bitter red aperitivo, an herbal liqueur, and maraschino liqueur. Additionally, it adds 15 new classic cocktails that use these new liqueurs. Mechanically relevant drinks include: - The Poet's Dream, which can grant non-heretics the ability to dream like them - The Garibaldi, which grants revolutionaries the determination to shrug off their wounds - The Jungle Bird, which soothes the supermatter when ingested by those around it - The Thermonuclear Daiquiri, which causes you to glow (and very rarely emit high-energy nuclear particles) - and more! Full list here: https://hackmd.io/@0lHAWBNkSXixU4v6xxYS_w/SkYjyDofbg  On the non-player facing side of things, this also refactors the heretic dream code a bit and adds a trait that enables non-heretics to have heretic dreams, which could easily be used by other things (ie if anyone wanted to make a perk or something that does this) Also, special thanks to MrMelbert and ChipPotato for helping me out with coding stuff in the discord! ## Why It's Good For The Game This is good for the game for more or less the same reasons as my first classic cocktail PR #92955 is good for the game: More variety gives bartenders more to do and a greater range of drinks to base gimmicks off of, and adding more cocktails to the game which are commonly served in IRL bars decreases awkward, RP breaking moments where someone orders a cocktail that's a staple you can find just about anywhere but which isn't in the game. Additionally, the new liqueurs are commonly used in many other classic and modern cocktails, which people can use to make cocktails in future projects. ## Changelog 🆑 add: Added three new liqueurs, with bottles available in the booze-o-mat. add: Added 15 new cocktails that use the aforementioned liqueurs. /🆑
This commit is contained in:
@@ -23,8 +23,14 @@
|
||||
set waitfor = FALSE
|
||||
var/datum/dream/chosen_dream
|
||||
|
||||
if (IS_HERETIC(src) && !mob_mood.get_mood_event("mansus_dream_fatigue") && GLOB.reality_smash_track.smashes.len)
|
||||
var/can_heretic_dream = ((IS_HERETIC(src) || HAS_TRAIT(src, TRAIT_HERETICAL_DREAMS)) && !mob_mood.get_mood_event("mansus_dream_fatigue"))
|
||||
|
||||
if (can_heretic_dream && GLOB.reality_smash_track.smashes.len)
|
||||
/// If someone attempts to have a heretical dream and there is an avaliable influence, one is picked randomly for a dream
|
||||
chosen_dream = new /datum/dream/heretic(pick(GLOB.reality_smash_track.smashes))
|
||||
else if (can_heretic_dream && !IS_HERETIC(src) && !GLOB.reality_smash_track.smashes.len)
|
||||
/// If a non-heretic attempts to have a heretic dream, but there aren't any influences due to there not being any real heretics, they are instead given a fake dream based on a random location.
|
||||
chosen_dream = new /datum/dream/heretic(get_safe_random_station_turf_equal_weight())
|
||||
else
|
||||
chosen_dream = pick_weight(GLOB.dreams)
|
||||
|
||||
@@ -190,8 +196,8 @@ GLOBAL_LIST_INIT(dreams, populate_dream_list())
|
||||
/// Heretics can see dreams about random machinery from the perspective of a random unused influence
|
||||
/datum/dream/heretic
|
||||
sleep_until_finished = TRUE
|
||||
/// The influence we will be dreaming about
|
||||
var/obj/effect/heretic_influence/influence
|
||||
/// The location of the influence (or lack thereof in the case of a fake dream) we will be dreaming about
|
||||
var/atom/dream_center
|
||||
/// The distance to the objects visible from the influence during the dream
|
||||
var/dream_view_range = 5
|
||||
var/list/what_you_can_see = list(
|
||||
@@ -223,8 +229,8 @@ GLOBAL_LIST_INIT(dreams, populate_dream_list())
|
||||
/// Cached list of allowed typecaches for each type in what_you_can_see
|
||||
var/static/list/allowed_typecaches_by_root_type = null
|
||||
|
||||
/datum/dream/heretic/New(obj/effect/heretic_influence/found_influence)
|
||||
influence = found_influence
|
||||
/datum/dream/heretic/New(atom/dream_center)
|
||||
src.dream_center = dream_center
|
||||
|
||||
/datum/dream/heretic/GenerateDream(mob/living/carbon/dreamer)
|
||||
. = list()
|
||||
@@ -238,7 +244,7 @@ GLOBAL_LIST_INIT(dreams, populate_dream_list())
|
||||
for(var/type in what_you_can_see)
|
||||
allowed_typecaches_by_root_type[type] = typecacheof(type) - what_you_cant_see
|
||||
|
||||
var/list/all_objects = oview(dream_view_range, influence)
|
||||
var/list/all_objects = oview(dream_view_range, dream_center)
|
||||
var/something_found = FALSE
|
||||
for(var/object_type in allowed_typecaches_by_root_type)
|
||||
var/list/filtered_objects = typecache_filter_list(all_objects, allowed_typecaches_by_root_type[object_type])
|
||||
|
||||
Reference in New Issue
Block a user