mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-31 09:08:30 +01:00
Drinking singulo ignores supermatter hallucinations and pulls nearby objects (#71927)
## About The Pull Request Drinking a singulo will now: - Give immunity to supermatter hallucinations - Pulls objects to you based on the total volume in your system (20u = 1x1, 45u = 2x2, 80u = 3x3) - Makes a burp and supermatter rays/sound when objects are pulled The new ingredient is: - Vokda 5u - Wine 5u - Liquid Dark Matter 1u (replaces Radium) ## Why It's Good For The Game More cool effects for drinks. Singularity is all about gravity and the drink should have a theme around that.  ## Changelog 🆑 add: Drinking singulo will now ignore supermatter hallucinations and pull objects to you balance: Change singulo drink recipe to require liquid dark matter instead of radium. /🆑
This commit is contained in:
@@ -198,7 +198,7 @@
|
||||
|
||||
/datum/chemical_reaction/drink/singulo
|
||||
results = list(/datum/reagent/consumable/ethanol/singulo = 10)
|
||||
required_reagents = list(/datum/reagent/consumable/ethanol/vodka = 5, /datum/reagent/uranium/radium = 1, /datum/reagent/consumable/ethanol/wine = 5)
|
||||
required_reagents = list(/datum/reagent/consumable/ethanol/vodka = 5, /datum/reagent/liquid_dark_matter = 1, /datum/reagent/consumable/ethanol/wine = 5)
|
||||
|
||||
/datum/chemical_reaction/drink/alliescocktail
|
||||
results = list(/datum/reagent/consumable/ethanol/alliescocktail = 2)
|
||||
|
||||
@@ -1445,6 +1445,32 @@
|
||||
quality = DRINK_VERYGOOD
|
||||
taste_description = "concentrated matter"
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
var/static/list/ray_filter = list(type = "rays", size = 40, density = 15, color = SUPERMATTER_SINGULARITY_RAYS_COLOUR, factor = 15)
|
||||
|
||||
/datum/reagent/consumable/ethanol/singulo/on_mob_metabolize(mob/living/drinker)
|
||||
ADD_TRAIT(drinker, TRAIT_MADNESS_IMMUNE, type)
|
||||
|
||||
/datum/reagent/consumable/ethanol/singulo/on_mob_end_metabolize(mob/living/drinker)
|
||||
REMOVE_TRAIT(drinker, TRAIT_MADNESS_IMMUNE, type)
|
||||
drinker.remove_filter("singulo_rays")
|
||||
|
||||
/datum/reagent/consumable/ethanol/singulo/on_mob_life(mob/living/carbon/drinker, delta_time, times_fired)
|
||||
if(DT_PROB(2.5, delta_time))
|
||||
// 20u = 1x1, 45u = 2x2, 80u = 3x3
|
||||
var/volume_to_radius = FLOOR(sqrt(volume/5), 1) - 1
|
||||
var/suck_range = clamp(volume_to_radius, 0, 3)
|
||||
|
||||
if(!suck_range)
|
||||
return ..()
|
||||
|
||||
var/turf/gravity_well_turf = get_turf(drinker)
|
||||
goonchem_vortex(gravity_well_turf, 0, suck_range)
|
||||
playsound(get_turf(drinker), 'sound/effects/supermatter.ogg', 150, TRUE)
|
||||
drinker.add_filter("singulo_rays", 1, ray_filter)
|
||||
animate(drinker.get_filter("singulo_rays"), offset = 10, time = 1.5 SECONDS, loop = -1)
|
||||
addtimer(CALLBACK(drinker, TYPE_PROC_REF(/atom/, remove_filter), "singulo_rays"), 1.5 SECONDS)
|
||||
drinker.emote("burp")
|
||||
return ..()
|
||||
|
||||
/datum/glass_style/drinking_glass/singulo
|
||||
required_drink_type = /datum/reagent/consumable/ethanol/singulo
|
||||
|
||||
Reference in New Issue
Block a user