Object Examine Text Overhaul (#20923)

Extends and reworks how various extended information text (desc_info,
desc_build, desc_upgrades) are handled to make object interactions and
mechanics A.) much more clearly documented in-game and B.) much easier
to support from the back-end.

Almost certainly a candidate for test merge.

Assembly/Disassembly instructions are noticeably sporadic, largely due
to our current lack of a unified framework. That's a future thing I'd
like to attack so that it can be handled programmatically, but for now I
only targeted the biggest culprits as I came across them.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
This commit is contained in:
Batrachophreno
2025-07-21 15:35:14 +00:00
committed by GitHub
parent 827985ea9f
commit 387cee9243
391 changed files with 4203 additions and 2828 deletions
+9 -9
View File
@@ -32,6 +32,15 @@
slot_r_hand_str = 'icons/mob/items/stacks/righthand_materials.dmi',
)
/obj/item/stack/feedback_hints(mob/user, distance, is_adjacent)
. += ..()
if(is_adjacent)
if(!iscoil())
if(!uses_charge)
. += "There [src.amount == 1 ? "is" : "are"] <b>[src.amount]</b> [src.singular_name]\s in the stack."
else
. += "You have enough charge to produce <b>[get_amount()]</b>."
/obj/item/stack/Initialize(mapload, amount)
. = ..()
if (!stacktype)
@@ -71,15 +80,6 @@
else
icon_state = "[initial(icon_state)]_3"
/obj/item/stack/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(is_adjacent)
if(!iscoil())
if(!uses_charge)
. += "There [src.amount == 1 ? "is" : "are"] <b>[src.amount]</b> [src.singular_name]\s in the stack."
else
. += "You have enough charge to produce <b>[get_amount()]</b>."
/obj/item/stack/attack_self(mob/user)
list_recipes(user, recipes)