diff --git a/code/modules/clothing/spacesuits/rig/modules/utility.dm b/code/modules/clothing/spacesuits/rig/modules/utility.dm index 07816cd583..c61ba5b225 100644 --- a/code/modules/clothing/spacesuits/rig/modules/utility.dm +++ b/code/modules/clothing/spacesuits/rig/modules/utility.dm @@ -14,8 +14,10 @@ * /obj/item/rig_module/voice * /obj/item/rig_module/device/paperdispenser * /obj/item/rig_module/device/pen - * /obj/item/rig_module/device/stamp * /obj/item/rig_module/mounted/mop - * /obj/item/rig_module/cleaner_launcher */ + * /obj/item/rig_module/device/stamp + * /obj/item/rig_module/mounted/mop + * /obj/item/rig_module/cleaner_launcher + */ /obj/item/rig_module/device name = "mounted device" @@ -529,4 +531,64 @@ var/obj/item/weapon/grenade/new_grenade = new charge.product_type(get_turf(H)) H.visible_message("[H] launches \a [new_grenade]!") new_grenade.activate(H) - new_grenade.throw_at(target,fire_force,fire_distance) \ No newline at end of file + new_grenade.throw_at(target,fire_force,fire_distance) + +/obj/item/rig_module/device/paperdispenser + name = "hardsuit paper dispenser" + desc = "Crisp sheets." + icon_state = "paper" + interface_name = "paper dispenser" + interface_desc = "Dispenses warm, clean, and crisp sheets of paper." + engage_string = "Dispense" + usable = 1 + selectable = 0 + device_type = /obj/item/weapon/paper_bin + +/obj/item/rig_module/device/paperdispenser/engage(atom/target) + + if(!..() || !device) + return 0 + + if(!target) + device.attack_hand(holder.wearer) + return 1 + +/obj/item/rig_module/device/pen + name = "mounted pen" + desc = "For mecha John Hancocks." + icon_state = "pen" + interface_name = "mounted pen" + interface_desc = "Signatures with style(tm)." + engage_string = "Change color" + usable = 1 + device_type = /obj/item/weapon/pen/multi + +/obj/item/rig_module/device/stamp + name = "mounted internal affairs stamp" + desc = "DENIED." + icon_state = "stamp" + interface_name = "mounted stamp" + interface_desc = "Leave your mark." + engage_string = "Toggle stamp type" + usable = 1 + var/iastamp + var/deniedstamp + +/obj/item/rig_module/device/stamp/New() + ..() + iastamp = new /obj/item/weapon/stamp/internalaffairs(src) + deniedstamp = new /obj/item/weapon/stamp/denied(src) + device = iastamp + +/obj/item/rig_module/device/stamp/engage(atom/target) + if(!..() || !device) + return 0 + + if(!target) + if(device == iastamp) + device = deniedstamp + holder.wearer << "Switched to denied stamp." + else if(device == deniedstamp) + device = iastamp + holder.wearer << "Switched to internal affairs stamp." + return 1 \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 200cacbab4..58f5e0c1d0 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -630,7 +630,8 @@ var/list/ai_verbs_default = list( usr << "Your hologram will [hologram_follow ? "follow" : "no longer follow"] you now." -/mob/living/silicon/ai/proc/check_unable(var/flags = 0) if(stat == DEAD) +/mob/living/silicon/ai/proc/check_unable(var/flags = 0, var/feedback = 1) + if(stat == DEAD) if(feedback) src << "You are dead!" return 1