tomatus,
Wellll. SECRETS REVEALED HERE!
I actually built a whole suite of developer tools right into the game and forgot to disable them wayyy back around release #3, and nobody found them so I've left them in for every subsequent version in case this question came up. But, this was years ago. I couldn't remember how to use any of them. I've just spent some time looking through the old code to figure out how to do it. Here's the guide to....
Adding dialog to the game!You can actually insert dialog into the game by...playing the game! You select a dealer, get them into a situation of some kind, and then use a secret command to insert dialog for them.
Warning:
This is really a quite complicated system. Adding dialog is easy, adding it properly is harder.A very large amount of text is unfortunately required to make this clear.
Important! Dialog is "situation-specific." Please remember that.
If you add dialog to the game when a dealer is in a certain "mood situation," that line of dialog will never, ever appear outside of that situation.
Simple enough? Nope. There's more! There are 3 kinds of situations:
- Automatic situations : The game decides these based on things like the amounts of money the players have.
- Custom situations : It is possible for a line of dialog to trigger a custom situation, which replaces whatever automatic situation might have occurred.
- Additive situations : Certain special circumstances (I only programmed 3) can contribute extra dialog options into already-existing ones.
So here's the situations in the game, and how they work:
intro : This is situation every dealer is in when you arrive at their table from the lobby. They leave this situation immediately at the end of the first hand of cards.
general : This situation always occurs when no other situation would. Each character has the most dialog for this one.
closeLoss : The dealer just lost a single hand (but not the whole game) by a small amount.
closeWin : The dealer just won a single hand (but not the whole game) by a small amount.
winning : The dealer has significantly more money than the player.
losing : The dealer has significantly less money than the player.
win : The dealer has just won the last of the player's money.
loss : The dealer has just lost the last of their money.
_instaWin : The player has used an "insta-win" token.
win# : Part of the win sequence for the dealer. Numbers start at 0 for the first image of the end-game cutscene, and increase by one to correspond to each image included in that dealer's scene.
loss# : Part of the loss sequence for the dealer. Numbers start at 0 for the first image of the end-game cutscene, and increase by one to correspond to each image included in that dealer's scene.
winning_nearlyLost : [Additive] The dealer was losing earlier but is winning now. These dialog lines will be added to the lines for winning.
losing_nearlyWon : [Additive] The dealer was winning earlier but is losing now. These dialog lines will be added to the lines for losing.
*_valentine : [Additive] Dialog lines to add on valentine's day (Feb 14). * is replaced by situation, eg winning_valentine, losing_valentine
customName : A situation, or sequence of situations can have any custom name. If you start a line of dialog with _seq=customName|dialog will result in the game switching to customName situation after this line of dialog is shown. In other words, a line of dialog can launch a sequence of subsequent custom situations, and these can result in the dealer telling a story over the course of several successive hands of cards.
And, one more thing! You'll have noticed that each situation a dealer can be in has a corresponding image. But you can override these if appropriate. For example, you can show an image intended for "winning" alongside a line of text for "losing" by prefixing the line of dialog with a special command:
_special=#|
Where the number represents which number of image to use. This can crash the game if you use a number that doesn't exist, but basically, dealer images start at zero and go up to...whatever the artist created for that dealer.
All good? Questions?
As for how to actually do this in a reasonably easy way without needing to data-mine the game? I need to write up the 2 easy methods. More soon!
Journeyman.