mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 23:58:07 +01:00
Merge branch 'master' of github.com:tgstation/tgstation into upstream-2026-06-23
This commit is contained in:
@@ -370,24 +370,27 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list(
|
||||
to_chat(user, span_warning("[src] cuts into your hand!"))
|
||||
jab.apply_damage(force * 0.5, BRUTE, user.get_active_hand(), attacking_item = src)
|
||||
|
||||
/obj/item/shard/attackby(obj/item/item, mob/user, list/modifiers, list/attack_modifiers)
|
||||
if(istype(item, /obj/item/lightreplacer))
|
||||
var/obj/item/lightreplacer/lightreplacer = item
|
||||
/obj/item/shard/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
|
||||
if(istype(tool, /obj/item/lightreplacer))
|
||||
var/obj/item/lightreplacer/lightreplacer = tool
|
||||
lightreplacer.attackby(src, user)
|
||||
else if(istype(item, /obj/item/stack/sheet/cloth))
|
||||
var/obj/item/stack/sheet/cloth/cloth = item
|
||||
to_chat(user, span_notice("You begin to wrap the [cloth] around the [src]..."))
|
||||
if(do_after(user, craft_time, target = src))
|
||||
var/obj/item/knife/shiv/shiv = new shiv_type
|
||||
shiv.set_custom_materials(custom_materials)
|
||||
cloth.use(1)
|
||||
to_chat(user, span_notice("You wrap the [cloth] around the [src], forming a makeshift weapon."))
|
||||
remove_item_from_storage(src, user)
|
||||
qdel(src)
|
||||
user.put_in_hands(shiv)
|
||||
return ITEM_INTERACT_SUCCESS
|
||||
|
||||
else
|
||||
return ..()
|
||||
if(!istype(tool, /obj/item/stack/sheet/cloth))
|
||||
return NONE
|
||||
|
||||
var/obj/item/stack/sheet/cloth/cloth = tool
|
||||
to_chat(user, span_notice("You begin to wrap the [cloth] around the [src]..."))
|
||||
if(do_after(user, craft_time, target = src))
|
||||
return ITEM_INTERACT_FAILURE
|
||||
|
||||
var/obj/item/knife/shiv/shiv = new shiv_type
|
||||
shiv.set_custom_materials(custom_materials)
|
||||
cloth.use(1)
|
||||
to_chat(user, span_notice("You wrap the [cloth] around the [src], forming a makeshift weapon."))
|
||||
qdel(src)
|
||||
user.put_in_hands(shiv)
|
||||
return ITEM_INTERACT_SUCCESS
|
||||
|
||||
/obj/item/shard/welder_act(mob/living/user, obj/item/I)
|
||||
if(I.use_tool(src, user, 0, volume=50))
|
||||
|
||||
@@ -478,12 +478,13 @@
|
||||
|
||||
if(isstack(created))
|
||||
var/obj/item/stack/crafted_stack = created
|
||||
if(recipe.res_amount > 0 && recipe.req_amount != recipe.res_amount)
|
||||
var/scale = recipe.req_amount / recipe.res_amount
|
||||
for(var/mat in result_mats)
|
||||
result_mats[mat] *= scale
|
||||
crafted_stack.mats_per_unit = SSmaterials.get_material_set_cache(result_mats)
|
||||
crafted_stack.update_custom_materials()
|
||||
if(crafted_stack.amount) // If our stack's been emptied, it means another stack's already eaten it, and that stack'll deal with materials
|
||||
if(recipe.res_amount > 0 && recipe.req_amount != recipe.res_amount)
|
||||
var/scale = recipe.req_amount / recipe.res_amount
|
||||
for(var/mat in result_mats)
|
||||
result_mats[mat] *= scale
|
||||
crafted_stack.mats_per_unit = SSmaterials.get_material_set_cache(result_mats)
|
||||
crafted_stack.update_custom_materials()
|
||||
else
|
||||
created.set_custom_materials(result_mats, recipe.req_amount * multiplier)
|
||||
|
||||
|
||||
@@ -1181,9 +1181,11 @@
|
||||
merge_type = /obj/item/stack/tile/material
|
||||
|
||||
/obj/item/stack/tile/material/place_tile(turf/open/target_plating, mob/user)
|
||||
// Save refernce to the materials for the case when we place last tile in the stack
|
||||
var/list/saved_mats_per_unit = mats_per_unit
|
||||
. = ..()
|
||||
var/turf/open/floor/material/floor = .
|
||||
floor?.set_custom_materials(mats_per_unit)
|
||||
floor?.set_custom_materials(saved_mats_per_unit)
|
||||
|
||||
/obj/item/stack/tile/eighties
|
||||
name = "retro tile"
|
||||
|
||||
Reference in New Issue
Block a user