some hints

This commit is contained in:
SandPoot
2023-07-19 20:51:25 -03:00
parent 3c3f609541
commit 19ee7f8bd2
18 changed files with 214 additions and 7 deletions
+10
View File
@@ -13,6 +13,16 @@
var/cooldown_time = 100
req_access = list(ACCESS_AI_UPLOAD)
/obj/machinery/ai_slipper/Initialize(mapload)
. = ..()
register_context()
/obj/machinery/ai_slipper/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
. = ..()
if(issilicon(user))
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Dispense foam")
return CONTEXTUAL_SCREENTIP_SET
/obj/machinery/ai_slipper/examine(mob/user)
. = ..()
. += "<span class='notice'>It has <b>[uses]</b> uses of foam remaining.</span>"
+10 -2
View File
@@ -700,6 +700,14 @@
/obj/machinery/door/airlock/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
. = ..()
if(hasSiliconAccessInArea(user))
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Open interface")
LAZYSET(context[SCREENTIP_CONTEXT_SHIFT_LMB], INTENT_ANY, density ? "Open" : "Close")
LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, locked ? "Unbolt" : "Bolt")
LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, secondsElectrified ? "Un-electrify" : "Electrify")
LAZYSET(context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB], INTENT_ANY, emergency ? "Disable emergency access" : "Enable emergency access")
. = CONTEXTUAL_SCREENTIP_SET
if(istype(held_item, /obj/item/stack/sheet/plasteel))
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Reinforce")
return CONTEXTUAL_SCREENTIP_SET
@@ -720,12 +728,12 @@
return CONTEXTUAL_SCREENTIP_SET
if (TOOL_WELDER)
LAZYSET(context[SCREENTIP_CONTEXT_RMB], INTENT_ANY, "Weld shut")
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_HARM, "Weld shut")
if (panel_open)
switch (security_level)
if (AIRLOCK_SECURITY_METAL, AIRLOCK_SECURITY_PLASTEEL_I, AIRLOCK_SECURITY_PLASTEEL_O)
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Cut shielding")
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_HARM, "Cut shielding")
return CONTEXTUAL_SCREENTIP_SET
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Repair")
+13
View File
@@ -80,6 +80,19 @@ Possible to do for anyone motivated enough:
/// If we are currently calling another holopad
var/calling = FALSE
/obj/machinery/holopad/Initialize(mapload)
. = ..()
register_context()
/obj/machinery/holopad/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
. = ..()
if(isAI(user) && on_network)
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Project yourself")
if(LAZYLEN(masters) && masters[user])
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Stop projecting")
LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, "Stop projecting")
return CONTEXTUAL_SCREENTIP_SET
/obj/machinery/holopad/secure
name = "secure holopad"
desc = "It's a floor-mounted device for projecting holographic images. This one will refuse to auto-connect incoming calls."
+7
View File
@@ -52,8 +52,15 @@ Buildable meters
update()
pixel_x += rand(-5, 5)
pixel_y += rand(-5, 5)
register_context()
return ..()
/obj/item/pipe/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
. = ..()
if(held_item?.tool_behaviour == TOOL_WRENCH)
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Fasten")
return CONTEXTUAL_SCREENTIP_SET
/obj/item/pipe/proc/make_from_existing(obj/machinery/atmospherics/make_from)
setDir(make_from.dir)
pipename = make_from.name
@@ -930,6 +930,14 @@ DEFINE_BITFIELD(turret_flags, list(
pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24)
pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0
power_change() //Checks power and initial settings
register_context()
/obj/machinery/turretid/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
. = ..()
if(issilicon(user) && !(stat & BROKEN))
LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, enabled ? "Disable" : "Enable")
LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, lethal ? "Set to stun" : "Set to kill")
return CONTEXTUAL_SCREENTIP_SET
/obj/machinery/turretid/Destroy()
turrets.Cut()
+6
View File
@@ -299,6 +299,12 @@
/obj/machinery/status_display/Initialize(mapload, ndir, building)
. = ..()
update_appearance()
register_context()
/obj/machinery/status_display/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
. = ..()
if(isAI(user))
LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, "Start streaming") // funny
/obj/machinery/status_display/evac/Initialize(mapload)
. = ..()
+16
View File
@@ -16,6 +16,16 @@
var/used = 0
/obj/item/dnainjector/Initialize(mapload)
. = ..()
register_item_context()
/obj/item/dnainjector/add_item_context(obj/item/source, list/context, mob/living/target, mob/living/user)
. = ..()
if(isliving(target) && target.has_dna() && !used)
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Inject")
return CONTEXTUAL_SCREENTIP_SET
/obj/item/dnainjector/attack_paw(mob/user)
return attack_hand(user)
@@ -524,6 +534,12 @@
var/research = FALSE //Set to true to get expended and filled injectors for chromosomes
var/filled = FALSE
/obj/item/dnainjector/activator/add_item_context(obj/item/source, list/context, atom/target, mob/living/user)
. = ..()
if(istype(target, /obj/machinery/computer/scan_consolenew) && used)
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Recycle")
return CONTEXTUAL_SCREENTIP_SET
/obj/item/dnainjector/activator/inject(mob/living/carbon/M, mob/user)
if(M.has_dna() && !HAS_TRAIT_NOT_FROM(M, TRAIT_RADIMMUNE,BLOODSUCKER_TRAIT) && !HAS_TRAIT(M,TRAIT_NOCLONE))
M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2))
@@ -65,6 +65,13 @@ GLOBAL_LIST_INIT(double_bedsheets, list(/obj/item/bedsheet/double,
if(bedsheet_type == BEDSHEET_DOUBLE)
stack_amount *= 2
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
register_item_context()
/obj/item/bedsheet/add_item_context(obj/item/source, list/context, atom/target, mob/living/user)
. = ..()
if(iscarbon(target))
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Prepare Surgery")
return CONTEXTUAL_SCREENTIP_SET
/obj/item/bedsheet/attack(mob/living/M, mob/user)
if(!attempt_initiate_surgery(src, M, user))