You can lose it all (#95616)

## About The Pull Request

Replaces visible messages with the machine talking directly

<img width="448" height="31" alt="image"
src="https://github.com/user-attachments/assets/a0ea268e-67f8-4301-ae9d-1926be7d79ae"
/>

Winning the jackpot now gives +4 instead of +6, but is now a permanent
moodlet. The only way to lose it is if you lose at least 10k from a
CRAB-17 market crash, which will replace it with a 20m mood debuff of
-2.

<img width="639" height="523" alt="image"
src="https://github.com/user-attachments/assets/9227b931-8e72-40c9-914c-657fd50ed5d3"
/>


Also adds a memory for winning the jackpot.

<img width="641" height="147" alt="image"
src="https://github.com/user-attachments/assets/2d34dab0-9ee8-4d1a-a7af-1ad855a51abe"
/>

<img width="235" height="75" alt="image"
src="https://github.com/user-attachments/assets/e870ef6d-d4c8-4cd0-976b-316e8399669e"
/>


## Why It's Good For The Game

Winning the jackpot makes you feel great all day, not just for 30
minutes. You won life saving gamblings!
Also you aren't really glad when all your money is gone, either.
This commit is contained in:
John Willard
2026-04-15 13:48:49 -05:00
committed by GitHub
parent d8e1662c35
commit 569bf2fc55
6 changed files with 77 additions and 27 deletions
+19
View File
@@ -564,6 +564,25 @@
"[protagonist_name] [mood_verb] as they stare down [antagonist_name]'s barrel.",
)
/datum/memory/won_jackpot
story_value = STORY_VALUE_AMAZING
/datum/memory/won_jackpot/get_names()
return list("[protagonist_name] winning it big.")
/datum/memory/won_jackpot/get_starts()
return list(
"[protagonist_name] hits [deuteragonist_name]'s lever, with money symbols in their eyes.",
"[deuteragonist_name] plays a jingle as [protagonist_name] pulls the lever.",
)
/datum/memory/won_jackpot/get_moods()
return list(
"[protagonist_name] [mood_verb] as they collect the money from the [deuteragonist_name].",
"[protagonist_name] [mood_verb] as [deuteragonist_name] starts spitting out money with a blare.",
)
/// Saw someone get gibbed.
/datum/memory/witness_gib
story_value = STORY_VALUE_OKAY
@@ -607,6 +607,8 @@
event_flags = MOOD_EVENT_GAMING
/datum/mood_event/slots/win/be_replaced(datum/mood/home, datum/mood_event/new_event, ...)
if(istype(new_event, /datum/mood_event/slots/all_gone))
return ALLOW_NEW_MOOD
if(new_event.mood_change < mood_change)
return BLOCK_NEW_MOOD
return ..()
@@ -617,8 +619,18 @@
/datum/mood_event/slots/win/jackpot
description = "JACKPOT! AW YEAH!"
mood_change = 6
timeout = 30 MINUTES
mood_change = 4
/datum/mood_event/slots/all_gone
description = "NOOOOOOO! IT'S ALL GONE!!!"
mood_change = -2
timeout = 20 MINUTES
/datum/mood_event/slots/all_gone/be_replaced(datum/mood/home, datum/mood_event/new_event, ...)
if(istype(new_event, /datum/mood_event/slots/win/jackpot))
return ALLOW_NEW_MOOD
description = "I'll never get it back..."
return BLOCK_NEW_MOOD
/datum/mood_event/empathetic_happy
description = "Seeing happy people makes me happy."