// Things anyone can say, not tied to a specific personality.

// Called once for each character

: bath-room 
	blurbslot 0= if
		"I need to use the bathroom." blurbsay
	else
		blurbslot 2 < if
			"You should have went when we stopped last!" blurbsay
			STAT_MORALE 1st-char .stat--
		then
	then
;

: sing-along
	blurbslot 0= if
		"Anyone want to do a sing-along?" blurbsay
	else
		blurbslot 2 < if
			"We should do a shut-up-along." blurbsay
			STAT_MORALE me .stat++
			STAT_MORALE 1st-char .stat--
		then
	then
;

: some-bullcrap
	blurbslot 0= if // Conversation starter, then everyone in party responds
		"This is some BULLCRAP." blurbsay
	else
		rnd5050 if
			blurbslot 2 < if ($ "I agree, " .. 1st-char .name@ .. "." $) blurbsay
			then
		else
			STAT_MORALE me .stat--
		then
	then
;

: turn-back // Random first person, random single responder, stuff happens.
	blurbslot 0= if
		"Maybe we should turn back..." blurbsay
	else
		blurbslot 2 < if
			"Maybe you should shut up!" blurbsay
			STAT_MORALE me .stat++
			STAT_MORALE 1st-char .stat--
		then
	then
;

: legend-bodybuild
	blurbslot 0= if
		"I once saw a bodybuilder throw a car at some zombies!" blurbsay
	else
		blurbslot 2 < if
			rnd5050 if
				($ "That makes no sense, " .. 1st-char .name@ .. "." $) blurbsay
				"You're a weirdo!" blurbsay
				STAT_MORALE 1st-char .stat--
		else
			"Oh NICE!" blurbsay
			STAT_MORALE me .stat++
		then then
	then
;

: whinetopic 1 6 rnd case
	1 of "zombies" endof
	2 of "being dirty" endof
	3 of "the weather" endof
	4 of "bugs" endof
	5 of "how everyone is a jerk" endof
	6 of ($ me .name@ .. "'s dad" $) endof
	endcase ;

: whiner // Picks two other people, lowers their morale
	blurbslot 0= if
		qmsg ($ me .name@ .. " whines incessantly about " .. whinetopic .. "." $) txt
	else
		blurbslot 3 < if
			STAT_MORALE me .stat--
		then
	then
;

: brooding
	blurbslot 0= if
		qmsg ($ me .name@ .. " broods about a tragic past....." $) txt
	else
		blurbslot 2 < if
			rnd5050 if
			qmsg ($ me .name@ .. " does some serious eye rolling." $) txt then
		then
	then
;

: smalltopic 1 6 rnd case
	1 of "an old pet" endof
	2 of "Canada" endof
	3 of "the weather" endof
	4 of "dinosaurs" endof
	5 of "the next step in the plan" endof
	6 of "something funny in the past" endof
	endcase ;

: smalltalk // small chance to raise morale for each member of group
	blurbslot 0= if
		qmsg ($ me .name@ .. " talks about " .. smalltopic .. "." $) txt
	else
		15 %chance if
			STAT_MORALE me .stat++
		then
	then
;

: civnoun 1 11 rnd case
	1 of "Twitter" endof
	2 of "fast food" endof
	3 of "email" endof
	4 of "selfies" endof
	5 of "celebrity news" endof
	6 of "viral videos" endof
	7 of "videogame streamers" endof
	8 of "the concept of hygiene" endof
	9 of "crudely illustrated fanfiction" endof
	10 of "imageboards" endof
	11 of "creepypasta" endof
	endcase ;

	: one-line1 "Everything will be fine if I can get to Canada." ;
	: one-line2 "Zombies are no problem. Well, maybe a small problem." ;
	: one-line3 "Rooaaaad triiiiip." ;
	: one-line4 "Everything smells a lot different than it did before soap became rare." ;
	: one-line5 "Hope I don't run into any more bandits..." ;
	: one-line6 ($ "With civilization gone, I mostly just miss " .. civnoun .. "." $) ;
	: one-line7 "If only we knew about throwing chairs when the zombies first showed up..." ;
	: one-line8 "I wonder if I could get strong enough to just throw the car at zombies..." ;
	: one-line9 "Are we there yet?" ;
	: one-line10 "Let's hope the car doesn't break down..." ;
	: one-line11 "I'm just glad we don't have to deal with fast zombies." ;
	: one-line12 "It's surprising how long a burger or hot dog takes to go bad." ;
	: one-line13 "This can opener has seen better days." ;
	: one-line14 "I can't wait to get out of this car and stretch my legs out." ;
	: one-line15 "I wonder how things are further up north?" ;
	: one-line16 "Maybe the Preppers were onto something after all! " ;
	: one-line17 "It's times like this that make we wonder if I should have been a Prepper." ;
	: one-line18 "I wonder how bad they have it on the west coast?" ;
	
	: one-line19 "Don't forget to check every single toilet for toilet loot." ;
	: one-line20 "Hockey sticks are good weapons, no wonder Canada is doing fine." ;
	: one-line21 "Keep an eye out for a sweeter car." ;
	: one-line22 "I want to find a tank to drive around." ;
	: one-line23 "These roads are awful. Cars don't last long on them." ;
	: one-line24 "This car isn't going to last forever." ;
	: one-line25 "I need to save up a lot of ammo if I'm going to make it." ;
	: one-line26 "Every day gets me a little closer to Canada." ;
	: one-line27 "Sports sticks like bats and golf clubs are great, until they break." ;
	: one-line28 "It takes a real strong and fit person to use a sledgehammer well." ;
	: one-line29 "Explosives are great until yourself up." ;
	: one-line30 "Cans of food are the new money. Cash isn't as nutritious." ;
	: one-line31 "I bet aliens are responsible for these zombies." ;
	: one-line32 "Furniture is the natural enemy of the zombie." ;
	: one-line33 "When a siege happens, you have to go all out!" ;
	: one-line34 "I hate fighting at night. It's best to leave early." ;
	: one-line35 "I hope it doesn't rain. It seems to irritate the zombies." ;
	
	deck-new
		card: one-line1
		card: one-line2
		card: one-line3
		card: one-line4
		card: one-line5
		card: one-line6
		card: one-line7
		card: one-line8
		card: one-line9
		card: one-line10
		card: one-line11
		card: one-line12
		card: one-line13
		card: one-line14
		card: one-line15
		card: one-line16
		card: one-line17
		card: one-line18
		card: one-line19
		card: one-line20
		card: one-line21
		card: one-line22
		card: one-line23
		card: one-line24
		card: one-line25
		card: one-line26
		card: one-line27
		card: one-line28
		card: one-line29
		card: one-line30
		card: one-line31
		card: one-line32
		card: one-line33
		card: one-line34
		card: one-line35
	constant ONE-LINERS
	ONE-LINERS var one-liners

: one-liner // One person says something, no reactions, pulled from a deck
	one-liners depths 0= if ONE-LINERS shuffles to one-liners then
	blurbslot 0= if
		one-liners drawcard blurbsay
	then
;

	deck-new
		card: some-bullcrap
		card: turn-back
		card: legend-bodybuild
		card: whiner
		card: brooding
		card: smalltalk
		card: sing-along
		card: bath-room
		35 cards: one-liner

	constant BLURB-DECK
	BLURB-DECK var blurb-deck