mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 23:27:34 +01:00
Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-15-10-2025
This commit is contained in:
@@ -31,6 +31,7 @@
|
||||
if(!canconsume(target_mob, user))
|
||||
return ITEM_INTERACT_BLOCKING
|
||||
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if(target_mob == user)
|
||||
target_mob.visible_message(span_notice("[user] attempts to [apply_method] [src]."))
|
||||
if(self_delay)
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
if(!canconsume(target, user))
|
||||
return ITEM_INTERACT_BLOCKING
|
||||
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if(target == user)
|
||||
user.visible_message(
|
||||
span_notice("[user] swallows some of the contents of \the [src]."),
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
if(!canconsume(target_mob, user))
|
||||
return ITEM_INTERACT_BLOCKING
|
||||
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if(target_mob != user)
|
||||
target_mob.visible_message(
|
||||
span_danger("[user] attempts to feed [target_mob] something from [src]."),
|
||||
@@ -331,6 +332,10 @@
|
||||
ITEM_SLOT_DEX_STORAGE
|
||||
)
|
||||
|
||||
/obj/item/reagent_containers/cup/bucket/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/cuffable_item)
|
||||
|
||||
/datum/armor/cup_bucket
|
||||
melee = 10
|
||||
fire = 75
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
. = ..()
|
||||
if(!.) //if the bottle wasn't caught
|
||||
var/mob/thrower = throwingdatum?.get_thrower()
|
||||
if(!istype(thrower))
|
||||
return
|
||||
smash(hit_atom, thrower, throwingdatum)
|
||||
|
||||
/obj/item/reagent_containers/cup/glass/proc/smash(atom/target, mob/thrower, datum/thrownthing/throwingdatum, break_top = FALSE)
|
||||
@@ -72,6 +74,10 @@
|
||||
custom_materials = list(/datum/material/gold=HALF_SHEET_MATERIAL_AMOUNT)
|
||||
volume = 150
|
||||
|
||||
/obj/item/reagent_containers/cup/glass/trophy/gold_cup/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/cuffable_item) //closed handles
|
||||
|
||||
/obj/item/reagent_containers/cup/glass/trophy/silver_cup
|
||||
name = "silver cup"
|
||||
desc = "Best loser!"
|
||||
@@ -84,6 +90,9 @@
|
||||
custom_materials = list(/datum/material/silver=SMALL_MATERIAL_AMOUNT*8)
|
||||
volume = 100
|
||||
|
||||
/obj/item/reagent_containers/cup/glass/trophy/silver_cup/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/cuffable_item) //closed handle
|
||||
|
||||
/obj/item/reagent_containers/cup/glass/trophy/bronze_cup
|
||||
name = "bronze cup"
|
||||
@@ -168,6 +177,10 @@
|
||||
base_icon_state = "tea"
|
||||
inhand_icon_state = "coffee"
|
||||
|
||||
/obj/item/reagent_containers/cup/glass/mug/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/cuffable_item)
|
||||
|
||||
/obj/item/reagent_containers/cup/glass/mug/update_icon_state()
|
||||
icon_state = "[base_icon_state][reagents.total_volume ? null : "_empty"]"
|
||||
return ..()
|
||||
@@ -292,7 +305,7 @@
|
||||
if(prob(flip_chance)) // landed upright
|
||||
src.visible_message(span_notice("[src] lands upright!"))
|
||||
var/mob/living/thrower = throwingdatum?.get_thrower()
|
||||
if(thrower)
|
||||
if(istype(thrower))
|
||||
thrower.add_mood_event("bottle_flip", /datum/mood_event/bottle_flip)
|
||||
else // landed on its side
|
||||
animate(src, transform = matrix(prob(50)? 90 : -90, MATRIX_ROTATE), time = 3, loop = 0)
|
||||
@@ -396,6 +409,13 @@
|
||||
if(icon_state == "colocup6")
|
||||
desc = "A cheap, mass produced style of cup, typically used at parties. Woah, this one is in red! What the hell?"
|
||||
|
||||
/obj/item/reagent_containers/cup/glass/colocup/lean
|
||||
name = "lean"
|
||||
desc = "A cup of that purple drank, the stuff that makes you go WHEEZY BABY."
|
||||
icon_state = "lean"
|
||||
list_reagents = list(/datum/reagent/consumable/lean = 20)
|
||||
random_sprite = FALSE
|
||||
|
||||
//////////////////////////drinkingglass and shaker//
|
||||
//Note by Darem: This code handles the mixing of drinks. New drinks go in three places: In Chemistry-Reagents.dm (for the drink
|
||||
// itself), in Chemistry-Recipes.dm (for the reaction that changes the components into the drink), and here (for the drinking glass
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
/obj/item/reagent_containers/cup/maunamug/Initialize(mapload, vol)
|
||||
. = ..()
|
||||
AddElement(/datum/element/cuffable_item)
|
||||
cell = new /obj/item/stock_parts/power_store/cell(src)
|
||||
|
||||
/obj/item/reagent_containers/cup/maunamug/get_cell()
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
var/fraction = min(amount_per_transfer_from_this / reagents.total_volume, 1)
|
||||
|
||||
if(ismob(target))
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/victim = target
|
||||
|
||||
var/obj/item/safe_thing = victim.is_eyes_covered()
|
||||
|
||||
if(safe_thing)
|
||||
@@ -45,13 +45,15 @@
|
||||
to_chat(user, span_notice("You transfer [trans] unit\s of the solution."))
|
||||
update_appearance()
|
||||
return ITEM_INTERACT_BLOCKING
|
||||
|
||||
else if(isalien(target)) //hiss-hiss has no eyes!
|
||||
to_chat(target, span_danger("[target] does not seem to have any eyes!"))
|
||||
return ITEM_INTERACT_BLOCKING
|
||||
|
||||
target.visible_message(span_danger("[user] squirts something into [target]'s eyes!"), \
|
||||
span_userdanger("[user] squirts something into your eyes!"))
|
||||
|
||||
target.visible_message(
|
||||
span_danger("[user] squirts something into [target]'s eyes!"),
|
||||
span_userdanger("[user] squirts something into your eyes!"),
|
||||
)
|
||||
SEND_SIGNAL(target, COMSIG_MOB_REAGENTS_DROPPED_INTO_EYES, user, src, reagents, fraction)
|
||||
reagents.expose(target, TOUCH, fraction)
|
||||
var/mob/M = target
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
injected += injected_reagent.name
|
||||
var/contained = english_list(injected)
|
||||
log_combat(user, affected_mob, "attempted to inject", src, "([contained])")
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
|
||||
if(!used_up && (ignore_flags || affected_mob.try_inject(user, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE))) // Ignore flag should be checked first or there will be an error message.
|
||||
to_chat(affected_mob, span_warning("You feel a tiny prick!"))
|
||||
|
||||
@@ -67,6 +67,11 @@
|
||||
///You can use this var to tone down the strength of the highlight for less shiny types of plastic.
|
||||
var/highlight_strenght = 1.0
|
||||
|
||||
/obj/item/reagent_containers/cup/jerrycan/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/cuffable_item)
|
||||
update_appearance()
|
||||
|
||||
/obj/item/reagent_containers/cup/jerrycan/update_overlays()
|
||||
. = ..()
|
||||
|
||||
@@ -91,10 +96,6 @@
|
||||
if(cap_type)
|
||||
. += mutable_appearance(icon_file, "[base_icon_state]_cap_[cap_type]")
|
||||
|
||||
/obj/item/reagent_containers/cup/jerrycan/Initialize(mapload)
|
||||
. = ..()
|
||||
update_appearance()
|
||||
|
||||
/obj/item/reagent_containers/cup/jerrycan/opaque
|
||||
fill_icon_thresholds = null
|
||||
initial_reagent_flags = parent_type::initial_reagent_flags & ~TRANSPARENT
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
to_chat(user, span_warning("[src] is empty!"))
|
||||
return ITEM_INTERACT_BLOCKING
|
||||
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if(interacting_with == user)
|
||||
interacting_with.visible_message(span_notice("[user] attempts to [apply_method] [src] on [user.p_them()]self."))
|
||||
if(self_delay)
|
||||
|
||||
Reference in New Issue
Block a user