Void stamp integration - the stampening (#94359)

## About The Pull Request

Void stamp added to bureaucracy loot spawners, a new box that contains a
granted, denied, and void stamp found in the lawdrobe, hop locker,
bureaucracy crate, mod stamper module, and the paperwork implant gets a
stamp that can cycle between 3 different ones like the mod stamp.

## Why It's Good For The Game

Finally the void stamp is obtainable

## Changelog

🆑
add: The void stamp is now obtainable
add: The lawdrobe now sells a box of stamps
add: The head of personnel's locker now contains a box of stamps
fix: The mod stamper module is now visible
/🆑

---------

Co-authored-by: Fghj240 <fakeemail@notrealemail.com>
This commit is contained in:
Fghj240
2026-01-08 18:31:15 +00:00
committed by GitHub
co-authored by Fghj240
parent 415b984d06
commit d5102b2030
9 changed files with 42 additions and 16 deletions
+21 -8
View File
@@ -278,7 +278,7 @@
/obj/item/mod/module/stamp
name = "MOD stamper module"
desc = "A module installed into the wrist of the suit, this functions as a high-power stamp, \
able to switch between accept and deny modes."
able to switch between accept, deny, and void modes."
icon_state = "stamp"
module_type = MODULE_ACTIVE
complexity = 1
@@ -290,15 +290,28 @@
/obj/item/stamp/mod
name = "MOD electronic stamp"
desc = "A high-power stamp, able to switch between accept and deny mode when used."
desc = "A high-power stamp, able to switch between accept, deny, and void modes when used."
icon_state = "stamp-ok"
/obj/item/stamp/mod/attack_self(mob/user, modifiers)
. = ..()
if(icon_state == "stamp-ok")
icon_state = "stamp-deny"
else
icon_state = "stamp-ok"
balloon_alert(user, "switched mode")
var/choices = list()
var/icon_states = list()
icon_states["Granted"] = "stamp-ok"
icon_states["Denied"] = "stamp-deny"
icon_states["Void"] = "stamp-void"
for(var/possible_icon_state in icon_states)
if(!(src.icon_state == icon_states[possible_icon_state]))
choices[possible_icon_state] = image(src.icon, icon_states[possible_icon_state])
var/chosen_icon_state = show_radial_menu(user, user, choices, custom_check = CALLBACK(src, PROC_REF(check_menu), src, user), require_near = TRUE)
if(chosen_icon_state)
playsound(src, 'sound/machines/click.ogg', 30, TRUE, -3)
src.icon_state = icon_states[chosen_icon_state]
/obj/item/stamp/mod/proc/check_menu(datum/target, mob/user)
if(user.incapacitated || !user.is_holding(target))
return FALSE
return TRUE
///Atrocinator - Flips your gravity.
/obj/item/mod/module/atrocinator