I’ve got a huge heap of “rumours” that the character can pursue as part of the game. In order to add a level of “gaminess” to it and preserve the illusion that the world is moving around outside of the player’s control, there’s a level of randomness to which rumours appear at any given time. You can reroll by performing other actions in the game.
Also, if a character is dead, their rumour will never show up.
If there are no new rumours, I want the game to explicitly tell the player this and send them back to another scene. And I also want the player to (separately) have the option not to pursue any of the rumours available to them.
In addition to this, most of the rumours are locked until you venture out beyond the starting area. Right now there are only two rumours you can pursue if you haven’t spent some time exploring the world. So I need to also reflect that: if the only rumours available are from places the character can’t access yet, it tells them there aren’t any new rumours.
Since there are fifteen god damn rumours, the code for doing all of this is kind of messy.
*if (randomrumours = false)
*rand rumour_arcy 0 2
*rand rumour_clooth 0 2
*rand rumour_jolliant 0 2
*rand rumour_molloth 0 2
*rand rumour_nyeru 0 2
*rand rumour_orrean 0 2
*rand rumour_aursley 0 2
*rand rumour_silk 0 2
*rand rumour_mortulous 0 2
*rand rumour_clankers 0 2
*rand rumour_flrrrr 0 2
*rand rumour_plucky 0 2
*rand rumour_rigrenn 0 2
*rand rumour_satiana 0 2
*rand rumour_stalaxia 0 2
*set randomrumours true
*if (dead_arcy = true)
*set rumour_arcy 0
*if (dead_clooth = true)
*set rumour_clooth 0
*if (dead_jolliant = true)
*set rumour_jolliant 0
*if (dead_molloth = true)
*set rumour_molloth 0
*if (dead_nyeru = true)
*set rumour_nyeru 0
*if (dead_orrean = true)
*set rumour_orrean 0
*if (dead_aursley = true)
*set rumour_aursley 0
*if (dead_silk = true)
*set rumour_silk 0
*if (dead_mortulous = true)
*set rumour_mortulous 0
*if (dead_clankers = true)
*set rumour_clankers 0
*if (dead_flrrrr = true)
*set rumour_flrrrr 0
*if (dead_plucky = true)
*set rumour_plucky 0
*if (dead_rigrenn = true)
*set rumour_rigrenn 0
*if (dead_satiana = true)
*set rumour_satiana 0
*if (dead_stalaxia = true)
*set rumour_stalaxia 0
You search for rumours of other immortal beings in the world.
*if (((((((((((((((((rumour_arcy < 2) and (rumour_clooth < 2)) and (rumour_jolliant < 2)) and (rumour_molloth < 2)) and (rumour_nyeru < 2)) and (rumour_orrean < 2)) and (rumour_aursley < 2)) and (rumour_silk < 2)) and (rumour_mortulous < 2)) and (rumour_clankers < 2)) and (rumour_flrrrr < 2)) and (rumour_plucky < 2)) and (rumour_rigrenn < 2)) and (rumour_satiana < 2)) and (rumour_stalaxia < 2))) or ((exploring = false) and ((rumour_arcy < 2) and (rumour_clooth < 2))))
Unfortunately, there aren't any new rumours.
*goto_scene downtime
*choice
*if (rumour_arcy = 2) # The small town of Trimpleton has lived in fear for centuries of a witch in the Tower of Rackenwort.
*goto arcy
*if (rumour_clooth = 2) # The fishing village of Smuthton has been blessed with suspicious quantities of oceanic trout.
*goto clooth
*if (exploring = true)
*if (rumour_jolliant = 2) # An invincible colossal warrior has gone missing in Ochines.
*goto jolliant
*if (rumour_molloth = 2) # Yeseryth, the capital city of Ucrya, is up in arms about an underground demonic entity.
*goto molloth
# I'm not interested in these rumours.
*goto_scene downtime
Unfortunately, I still get this:
I got it with dead_arcy = true
and exploring = true
.
Which isn’t what I want. It’s telling me that there aren’t any rumours available, but also at least one rumours is available. I’m not sure where the error is.