From 2a313a91d5b7ebeddd2b96883f08f676aa94fc82 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Wed, 17 Jun 2020 15:27:30 -0400 Subject: [PATCH] Adds ticket dispenser --- code/game/objects/structures/morgue.dm | 4 +- code/modules/paperwork/ticketmachine.dm | 201 ++++++++++++++++++++++++ icons/obj/bureaucracy.dmi | Bin 24465 -> 25889 bytes paradise.dme | 1 + sound/misc/announce_dig.ogg | Bin 0 -> 30660 bytes 5 files changed, 204 insertions(+), 2 deletions(-) create mode 100644 code/modules/paperwork/ticketmachine.dm create mode 100644 sound/misc/announce_dig.ogg diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 1ea1c277af8..a56664f0fe4 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -456,8 +456,8 @@ /obj/machinery/crema_switch desc = "Burn baby burn!" name = "crematorium igniter" - icon = 'icons/obj/power.dmi' - icon_state = "crema_switch" + icon = 'icons/obj/objects.dmi' + icon_state = "launcherbtt" anchored = 1.0 req_access = list(ACCESS_CREMATORIUM) var/on = 0 diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm new file mode 100644 index 00000000000..f758f49be89 --- /dev/null +++ b/code/modules/paperwork/ticketmachine.dm @@ -0,0 +1,201 @@ +//Bureaucracy machine! +//Simply set this up in the hopline and you can serve people based on ticket numbers + +/obj/machinery/ticket_machine + name = "ticket machine" + icon = 'icons/obj/bureaucracy.dmi' + icon_state = "ticketmachine" + desc = "A marvel of bureaucratic engineering encased in an efficient plastic shell. It can be refilled with a hand labeler refill roll and linked to buttons with a multitool." + density = FALSE + maptext_height = 26 + maptext_width = 32 + maptext_x = 7 + maptext_y = 10 + layer = HIGH_OBJ_LAYER + var/ticket_number = 0 //Increment the ticket number whenever the HOP presses his button + var/current_number = 0 //What ticket number are we currently serving? + var/max_number = 100 //At this point, you need to refill it. + var/cooldown = 50 + var/ready = TRUE + var/list/ticket_holders = list() + var/list/obj/item/ticket_machine_ticket/tickets = list() + var/id = 1 + +/obj/machinery/ticket_machine/emag_act(mob/user) //Emag the ticket machine to dispense burning tickets, as well as randomize its number to destroy the HoP's mind. + if(emagged) + return + to_chat(user, "You overload [src]'s bureaucratic logic circuitry to its MAXIMUM setting.") + ticket_number = rand(0,max_number) + current_number = ticket_number + emagged = TRUE + if(tickets.len) + for(var/obj/item/ticket_machine_ticket/ticket in tickets) + ticket.audible_message("\the [ticket] disperses!") + qdel(ticket) + tickets.Cut() + update_icon() + +/obj/machinery/ticket_machine/Initialize() + . = ..() + update_icon() + +/obj/machinery/ticket_machine/proc/increment() + if(current_number > ticket_number) + return + if(current_number && !(emagged) && tickets[current_number]) + tickets[current_number].audible_message("\the [tickets[current_number]] disperses!") + qdel(tickets[current_number]) + if(current_number < ticket_number) + current_number ++ //Increment the one we're serving. + playsound(src, 'sound/misc/announce_dig.ogg', 50, FALSE) + atom_say("Now serving ticket #[current_number]!") + if(!(emagged) && tickets[current_number]) + tickets[current_number].audible_message("\the [tickets[current_number]] vibrates!") + update_icon() //Update our icon here rather than when they take a ticket to show the current ticket number being served + +/obj/machinery/ticket_machine_button + name = "increment ticket counter" + desc = "Use this button after you've served someone to tell the next person to come forward." + icon = 'icons/obj/power.dmi' + icon_state = "crema_switch" + req_access = list() + var/id = 1 + var/cooldown = FALSE + +/obj/machinery/ticket_machine_button/attack_ghost(mob/user) + if(user.can_advanced_admin_interact()) + return attack_hand(user) + +/obj/machinery/ticket_machine_button/attack_hand(mob/user) + if(allowed(usr) || user.can_advanced_admin_interact()) + for(var/obj/machinery/ticket_machine/M in world) + if(M.id == id) + if(cooldown) + return + cooldown = TRUE + M.increment() + addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 10) + else + to_chat(usr, "Access denied.") + + +/obj/machinery/ticket_machine/update_icon() + switch(ticket_number) //Gives you an idea of how many tickets are left + if(0 to 49) + icon_state = "ticketmachine_100" + if(50 to 99) + icon_state = "ticketmachine_50" + if(100) + icon_state = "ticketmachine_0" + handle_maptext() + +/obj/machinery/ticket_machine/proc/handle_maptext() + switch(ticket_number) //This is here to handle maptext offsets so that the numbers align. + if(0 to 9) + maptext_x = 13 + if(10 to 99) + maptext_x = 10 + if(100) + maptext_x = 8 + maptext = "[current_number]" //Finally, apply the maptext + +/obj/machinery/ticket_machine/attackby(obj/item/I, mob/user, params) + ..() + if(istype(I, /obj/item/hand_labeler_refill)) + if(!(ticket_number >= max_number)) + to_chat(user, "[src] refuses [I]! There [max_number-ticket_number==1 ? "is" : "are"] still [max_number-ticket_number] ticket\s left!") + return + to_chat(user, "You start to refill [src]'s ticket holder (doing this will reset its ticket count!).") + if(do_after(user, 30, target = src)) + to_chat(user, "You insert [I] into [src] as it whirs nondescriptly.") + qdel(I) + ticket_number = 0 + current_number = 0 + if(tickets.len) + for(var/obj/item/ticket_machine_ticket/ticket in tickets) + ticket.audible_message("\the [ticket] disperses!") + qdel(ticket) + tickets.Cut() + max_number = initial(max_number) + update_icon() + return + +/obj/machinery/ticket_machine/proc/reset_cooldown() + ready = TRUE + +/obj/machinery/ticket_machine/attack_hand(mob/living/carbon/user) + . = ..() + if(!ready) + to_chat(user,"You press the button, but nothing happens...") + return + if(ticket_number >= max_number) + to_chat(user,"Ticket supply depleted, please refill this unit with a hand labeller refill cartridge!") + return + if((user in ticket_holders) && !(emagged)) + to_chat(user, "You already have a ticket!") + return + playsound(src, 'sound/machines/terminal_insert_disc.ogg', 100, FALSE) + ticket_number ++ + to_chat(user, "You take a ticket from [src], looks like you're ticket number #[ticket_number]...") + var/obj/item/ticket_machine_ticket/theirticket = new /obj/item/ticket_machine_ticket(get_turf(src)) + theirticket.name = "Ticket #[ticket_number]" + theirticket.maptext = "[ticket_number]" + theirticket.saved_maptext = "[ticket_number]" + theirticket.ticket_number = ticket_number + theirticket.source = src + theirticket.owner = user + user.put_in_hands(theirticket) + ticket_holders += user + tickets += theirticket + if(emagged) //Emag the machine to destroy the HOP's life. + ready = FALSE + addtimer(CALLBACK(src, .proc/reset_cooldown), cooldown)//Small cooldown to prevent piles of flaming tickets + theirticket.fire_act() + user.drop_item(theirticket) + user.adjust_fire_stacks(1) + user.IgniteMob() + return + +/obj/item/ticket_machine_ticket + name = "Ticket" + desc = "A ticket which shows your place in the Head of Personnel's line. Made from Nanotrasen patented NanoPaper®. Though solid, its form seems to shimmer slightly. Feels (and burns) just like the real thing." + icon = 'icons/obj/bureaucracy.dmi' + icon_state = "ticket" + maptext_x = 7 + maptext_y = 10 + w_class = WEIGHT_CLASS_TINY + resistance_flags = FLAMMABLE + max_integrity = 50 + var/saved_maptext = null + var/mob/living/carbon/owner + var/obj/machinery/ticket_machine/source + var/ticket_number + +/obj/item/ticket_machine_ticket/attack_hand(mob/user) + . = ..() + maptext = saved_maptext //For some reason, storage code removes all maptext off objs, this stops its number from being wiped off when taken out of storage. + +/obj/item/ticket_machine_ticket/attackby(obj/item/P, mob/living/carbon/human/user, params) //Stolen from papercode + ..() + if(is_hot(P)) + if(HAS_TRAIT(user, CLUMSY) && prob(10)) + user.visible_message("[user] accidentally ignites [user.p_them()]self!", \ + "You miss the paper and accidentally light yourself on fire!") + user.drop_item(P) + user.adjust_fire_stacks(1) + user.IgniteMob() + return + user.visible_message("[user] lights [src] ablaze with [P]!", "You light [src] on fire!") + fire_act() + +/obj/item/paper/extinguish() + ..() + update_icon() + +/obj/item/ticket_machine_ticket/Destroy() + if(owner && source) + source.ticket_holders -= owner + source.tickets[ticket_number] = null + owner = null + source = null + return ..() diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index 3d287a2365a354edf5755c5115a2339bd127001f..1847e985d89417f9d27bbe376396d0527a59e1cf 100644 GIT binary patch delta 4017 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 Xk}x(i-eq3I00000NkvXXu0mjfn{~Jt delta 2557 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 T(>Bt%00000NkvXXu0mjfHErdX diff --git a/paradise.dme b/paradise.dme index b83ea6be6df..7caea9733cd 100644 --- a/paradise.dme +++ b/paradise.dme @@ -2179,6 +2179,7 @@ #include "code\modules\paperwork\photography.dm" #include "code\modules\paperwork\silicon_photography.dm" #include "code\modules\paperwork\stamps.dm" +#include "code\modules\paperwork\ticketmachine.dm" #include "code\modules\pda\ai.dm" #include "code\modules\pda\app.dm" #include "code\modules\pda\cart.dm" diff --git a/sound/misc/announce_dig.ogg b/sound/misc/announce_dig.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2342d2eb505efcaa1eb66a2eba4e76dc380b6423 GIT binary patch literal 30660 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 literal 0 HcmV?d00001