Skip to content

Commit

Permalink
Lotto Ticket Updates (#32120)
Browse files Browse the repository at this point in the history
* Initial commit

* Fixes runtime

* Adds lotto vendors to each map's bar.

* Revert "Adds lotto vendors to each map's bar."

This reverts commit 729b84d.

* Fixes proc

* Additional fixes

* One more description adjustment
  • Loading branch information
west3436 committed Feb 24, 2022
1 parent 23649be commit 84be608
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 2 deletions.
9 changes: 9 additions & 0 deletions code/datums/supplypacks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2622,3 +2622,12 @@ var/list/all_supply_groups = list("Supplies","Clothing","Security","Hospitality"
containertype = /obj/structure/stackopacks
containername = "\improper Zam Snax stack of packs"
group = "Vending Machine packs"

/datum/supply_packs/lotto
name = "Lotto Ticket stack of packs"
contains = list(/obj/structure/vendomatpack/lotto,
/obj/structure/vendomatpack/lotto)
cost = 20
containertype = /obj/structure/stackopacks
containername = "\improper Lotto Ticket stack of packs"
group = "Vending Machine packs"
28 changes: 26 additions & 2 deletions code/game/machinery/vending.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3716,7 +3716,7 @@ var/global/num_vending_terminals = 1

/obj/machinery/vending/lotto
name = "\improper Lotto Tickets"
desc = "Wall-mounted vending machine which dispenses scratch-off lottery tickets. Winners can be cashed at Cargo."
desc = "Table-mounted vending machine which dispenses scratch-off lottery tickets. Winners can be cashed here."
product_slogans = list(
"Feeling lucky?",
"Money won is twice as sweet as money earned.",
Expand Down Expand Up @@ -3748,6 +3748,19 @@ var/global/num_vending_terminals = 1

pack = /obj/structure/vendomatpack/lotto


/obj/machinery/vending/lotto/proc/AnnounceWinner(var/obj/machinery/vending/lotto/lottovend, var/mob/living/carbon/human/character, var/winnings)
var/rank = character.mind.role_alt_title
var/datum/speech/speech = announcement_intercom.create_speech("[character.real_name],[rank ? " [rank]," : " visitor," ] has won [winnings] credits in the lottery!", transmitter=announcement_intercom)
speech.speaker = lottovend
speech.name = "Lottery Tickets Vendor"
speech.job = "Automated Announcement"
speech.as_name = "Lottery Tickets Vendor"
speech.frequency = COMMON_FREQ

Broadcast_Message(speech, vmask=null, data=0, compression=0, level=list(0,1))
qdel(speech)

/obj/machinery/vending/lotto/attackby(obj/item/I, user)
add_fingerprint(user)
if(istype(I, /obj/item/toy/lotto_ticket))
Expand All @@ -3759,6 +3772,17 @@ var/global/num_vending_terminals = 1
visible_message("<b>[src]</b>'s monitor flashes, \"Withdrawing [T.winnings] credits from the Central Command Lottery Fund!\"")
dispense_cash(T.winnings, get_turf(src))
playsound(src, "polaroid", 50, 1)
if(T.winnings >= 10000)
AnnounceWinner(src,user,T.winnings)
qdel(T)
else
..()
..()

/obj/machinery/vending/lotto/throw_item()
var/mob/living/target = locate() in view(7, src)

if (!target)
return 0
for(var/i = 0 to rand(3,12))
var/obj/I = new /obj/item/weapon/paper(get_turf(src))
I.throw_at(target, 16, 3)

0 comments on commit 84be608

Please sign in to comment.