DSPK V03.00 Furcadia
* Setting up Variables. Can't show buttons here - no furres are in the map yet!
(0:0) When everything is starting up,
(5:399) clear all variables to zero.
(0:9) When a furre arrives in the dream,
* OK, constants are a waste of lines, but I'm lazy.
* You ask me, its worth six lines to not have to remember the numbers.
(5:300) set variable %CREDITS_OFFSET to the value 27.
(5:300) set variable %DEX_OFFSET to the value 28.
(5:300) set variable %STR_OFFSET to the value 39.
(5:300) set variable %INT_OFFSET to the value 50.
(5:300) set variable %STA_OFFSET to the value 61.
(5:300) set variable %WIS_OFFSET to the value 72.
* Removing Everything
(0:31) When a furre says {remove},
(5:630) forget all PhoenixSpeak info about the triggering furre.
(5:633) forget all PhoenixSpeak info about this dream.
(5:399) clear all variables to zero.
* Two blocks merged as an OR clause to save lines.
(0:31) When a furre says {remove},
* OR
(0:80) When a furre clicks DragonSpeak Button 6,
(1:600) and the PhoenixSpeak info {credits} about the triggering furre is equal to 0,
(5:181) hide the triggering furre's DragonSpeak Button 1.
(5:181) hide the triggering furre's DragonSpeak Button 2.
(5:181) hide the triggering furre's DragonSpeak Button 3.
(5:181) hide the triggering furre's DragonSpeak Button 4.
(5:181) hide the triggering furre's DragonSpeak Button 5.
(5:181) hide the triggering furre's DragonSpeak Button 11.
(5:181) hide the triggering furre's DragonSpeak Button 12.
(5:181) hide the triggering furre's DragonSpeak Button 13.
(5:181) hide the triggering furre's DragonSpeak Button 14.
(5:181) hide the triggering furre's DragonSpeak Button 15.
(5:181) hide the triggering furre's DragonSpeak Button 16.
(5:181) hide the triggering furre's DragonSpeak Button 17.
(5:181) hide the triggering furre's DragonSpeak Button 18.
(5:181) hide the triggering furre's DragonSpeak Button 19.
(5:181) hide the triggering furre's DragonSpeak Button 20.
(5:181) hide the triggering furre's DragonSpeak Button 21.
(5:181) hide the triggering furre's DragonSpeak Button 22.
(5:181) hide the triggering furre's DragonSpeak Button 23.
(5:181) hide the triggering furre's DragonSpeak Button 24.
(5:181) hide the triggering furre's DragonSpeak Button 25.
(5:181) hide the triggering furre's DragonSpeak Button 26.
(5:181) hide the triggering furre's DragonSpeak Button 27.
(5:181) hide the triggering furre's DragonSpeak Button 28.
(5:181) hide the triggering furre's DragonSpeak Button 29.
(5:181) hide the triggering furre's DragonSpeak Button 30.
(5:181) hide the triggering furre's DragonSpeak Button 31.
(5:181) hide the triggering furre's DragonSpeak Button 32.
(5:181) hide the triggering furre's DragonSpeak Button 33.
(5:181) hide the triggering furre's DragonSpeak Button 34.
(5:181) hide the triggering furre's DragonSpeak Button 35.
(5:181) hide the triggering furre's DragonSpeak Button 36.
(5:181) hide the triggering furre's DragonSpeak Button 37.
(5:181) hide the triggering furre's DragonSpeak Button 38.
(5:181) hide the triggering furre's DragonSpeak Button 39.
(5:181) hide the triggering furre's DragonSpeak Button 40.
(5:181) hide the triggering furre's DragonSpeak Button 41.
(5:181) hide the triggering furre's DragonSpeak Button 42.
(5:181) hide the triggering furre's DragonSpeak Button 43.
(5:181) hide the triggering furre's DragonSpeak Button 44.
(5:181) hide the triggering furre's DragonSpeak Button 45.
(5:181) hide the triggering furre's DragonSpeak Button 46.
(5:181) hide the triggering furre's DragonSpeak Button 47.
(5:181) hide the triggering furre's DragonSpeak Button 48.
(5:181) hide the triggering furre's DragonSpeak Button 49.
(5:181) hide the triggering furre's DragonSpeak Button 50.
(5:181) hide the triggering furre's DragonSpeak Button 51.
(5:181) hide the triggering furre's DragonSpeak Button 52.
(5:181) hide the triggering furre's DragonSpeak Button 53.
(5:181) hide the triggering furre's DragonSpeak Button 54.
(5:181) hide the triggering furre's DragonSpeak Button 55.
(5:181) hide the triggering furre's DragonSpeak Button 56.
(5:181) hide the triggering furre's DragonSpeak Button 57.
(5:181) hide the triggering furre's DragonSpeak Button 58.
(5:181) hide the triggering furre's DragonSpeak Button 59.
(5:181) hide the triggering furre's DragonSpeak Button 60.
(5:181) hide the triggering furre's DragonSpeak Button 61.
(5:181) hide the triggering furre's DragonSpeak Button 62.
(5:181) hide the triggering furre's DragonSpeak Button 63.
(5:181) hide the triggering furre's DragonSpeak Button 64.
(5:181) hide the triggering furre's DragonSpeak Button 65.
(5:181) hide the triggering furre's DragonSpeak Button 66.
(5:181) hide the triggering furre's DragonSpeak Button 67.
(5:181) hide the triggering furre's DragonSpeak Button 68.
(5:181) hide the triggering furre's DragonSpeak Button 69.
(5:181) hide the triggering furre's DragonSpeak Button 70.
(5:181) hide the triggering furre's DragonSpeak Button 71.
(5:181) hide the triggering furre's DragonSpeak Button 72.
(5:181) hide the triggering furre's DragonSpeak Button 73.
(5:181) hide the triggering furre's DragonSpeak Button 74.
(5:181) hide the triggering furre's DragonSpeak Button 75.
(5:181) hide the triggering furre's DragonSpeak Button 76.
(5:181) hide the triggering furre's DragonSpeak Button 77.
(5:181) hide the triggering furre's DragonSpeak Button 78.
(5:181) hide the triggering furre's DragonSpeak Button 79.
(5:181) hide the triggering furre's DragonSpeak Button 80.
(5:181) hide the triggering furre's DragonSpeak Button 81.
(5:181) hide the triggering furre's DragonSpeak Button 82.
* Arriving in the dream
(0:9) When a furre arrives in the dream,
(5:180) show the triggering furre's DragonSpeak Button 7.
(5:180) show the triggering furre's DragonSpeak Button 9.
* Existing user
(0:9) When a furre arrives in the dream,
(1:601) and the PhoenixSpeak info {account} about the triggering furre is not equal to 0,
(5:200) emit message {A voice echos through the air, "<i>Welcome back, young one! I see that your travel fares well. Please feel free to stay at our Inn</i>"} to the triggering furre.
(5:15) move the triggering furre to (14,42), or to someplace nearby if it's occupied.
* No account
(0:9) When a furre arrives in the dream,
(1:600) and the PhoenixSpeak info {account} about the triggering furre is equal to 0,
(5:15) move the triggering furre to (16,9), or to someplace nearby if it's occupied.
(5:200) emit message {A voice echo's throguh the wind, "Welcome, [FURRE] , to the Kingdom of Ascaries! I am Lady Mirianda, your Guide! I see you are fairly new, so let's get you started." [Hit the <b>Start</b> button on the screen]} to the triggering furre.
(5:180) show the triggering furre's DragonSpeak Button 1.
(5:180) show the triggering furre's DragonSpeak Button 2.
(5:180) show the triggering furre's DragonSpeak Button 3.
(5:180) show the triggering furre's DragonSpeak Button 6.
(5:180) show the triggering furre's DragonSpeak Button 8.
* Creating Account
(0:80) When a furre clicks DragonSpeak Button 8,
(1:600) and the PhoenixSpeak info {account} about the triggering furre is equal to 0,
(5:600) memorize that the PhoenixSpeak info {account} about the triggering furre will now be 1.
(5:600) memorize that the PhoenixSpeak info {dexterity} about the triggering furre will now be 0.
(5:600) memorize that the PhoenixSpeak info {strength} about the triggering furre will now be 0.
(5:600) memorize that the PhoenixSpeak info {intelligence} about the triggering furre will now be 0.
(5:600) memorize that the PhoenixSpeak info {stamina} about the triggering furre will now be 0.
(5:600) memorize that the PhoenixSpeak info {wisdom} about the triggering furre will now be 0.
(5:600) memorize that the PhoenixSpeak info {credits} about the triggering furre will now be 10.
(5:600) memorize that the PhoenixSpeak info {maxcredits} about the triggering furre will now be 10.
(5:200) emit message {Your account with this dream has been successfuly created with the stats and level given below.} to the triggering furre.
(5:200) emit message {Please add your stats above by following the screen.} to the triggering furre.
(5:181) hide the triggering furre's DragonSpeak Button 3.
(5:181) hide the triggering furre's DragonSpeak Button 8.
(5:180) show the triggering furre's DragonSpeak Button 4.
(5:180) show the triggering furre's DragonSpeak Button 5.
(5:180) show the triggering furre's DragonSpeak Button 11.
(5:180) show the triggering furre's DragonSpeak Button 12.
(5:180) show the triggering furre's DragonSpeak Button 13.
(5:180) show the triggering furre's DragonSpeak Button 14.
(5:180) show the triggering furre's DragonSpeak Button 15.
(5:180) show the triggering furre's DragonSpeak Button 16.
(5:180) show the triggering furre's DragonSpeak Button 17.
(5:300) set variable %DEX_BUTTON to the value %DEX_OFFSET.
(5:300) set variable %STR_BUTTON to the value %STR_OFFSET.
(5:300) set variable %INT_BUTTON to the value %INT_OFFSET.
(5:300) set variable %STA_BUTTON to the value %STA_OFFSET.
(5:300) set variable %WIS_BUTTON to the value %WIS_OFFSET.
(5:180) show the triggering furre's DragonSpeak Button %DEX_BUTTON.
(5:180) show the triggering furre's DragonSpeak Button %STR_BUTTON.
(5:180) show the triggering furre's DragonSpeak Button %INT_BUTTON.
(5:180) show the triggering furre's DragonSpeak Button %STA_BUTTON.
(5:180) show the triggering furre's DragonSpeak Button %WIS_BUTTON.
* Finishing Character Design
(0:80) When a furre clicks DragonSpeak Button 6,
(1:601) and the PhoenixSpeak info {credits} about the triggering furre is not equal to 0,
(5:200) emit message {You still have Unused credits.} to the triggering furre.
(5:610) remember the PhoenixSpeak info {credits} about the triggering furre, and put it in variable %credit .
(5:200) emit message {You have %credit Credits that need to be spent. Just click one of the 5 stat distribute buttons on the screen.} to the triggering furre.
(0:80) When a furre clicks DragonSpeak Button 6,
(1:600) and the PhoenixSpeak info {credits} about the triggering furre is equal to 0,
(5:181) hide the triggering furre's DragonSpeak Button 6.
(5:15) move the triggering furre to (14,42), or to someplace nearby if it's occupied.
(0:80) When a furre clicks DragonSpeak Button 6,
(1:600) and the PhoenixSpeak info {credits} about the triggering furre is equal to 0,
* OR
(0:80) When a furre clicks DragonSpeak Button 7,
* OR
(0:80) When a furre clicks DragonSpeak Button 8,
(1:600) and the PhoenixSpeak info {account} about the triggering furre is equal to 0,
(5:610) remember the PhoenixSpeak info {account} about the triggering furre, and put it in variable %level .
(5:610) remember the PhoenixSpeak info {dexterity} about the triggering furre, and put it in variable %dext .
(5:610) remember the PhoenixSpeak info {intelligence} about the triggering furre, and put it in variable %intel .
(5:610) remember the PhoenixSpeak info {strength} about the triggering furre, and put it in variable %strength .
(5:610) remember the PhoenixSpeak info {stamina} about the triggering furre, and put it in variable %stam .
(5:610) remember the PhoenixSpeak info {wisdom} about the triggering furre, and put it in variable %wis .
(5:200) emit message {<b>Info for Character [FURRE]</b>} to the triggering furre.
(5:200) emit message {[!]Level: %level } to the triggering furre.
(5:200) emit message {[!]Dexterity: %dext } to the triggering furre.
(5:200) emit message {[!]Intelligence: %intel } to the triggering furre.
(5:200) emit message {[!]Strength: %strength } to the triggering furre.
(5:200) emit message {[!]Stamina: %stam } to the triggering furre.
(5:200) emit message {[!]Wisdom: %wis } to the triggering furre.
* Checking Other's stats
* Checking if fur is not in front
(0:80) When a furre clicks DragonSpeak Button 9,
(5:350) set variable %checkone to the X,Y position the triggering furre (moved from/is standing at).
(5:350) set variable %checktwo to the X,Y position the triggering furre (moved from/is standing at).
(0:80) When a furre clicks DragonSpeak Button 9,
(1:13) and the triggering furre is facing northeast (up and right),
(5:352) move the position in variable %checkone northeast (up and right) 1 step(s).
(0:80) When a furre clicks DragonSpeak Button 9,
(1:14) and the triggering furre is facing southeast (down and right),
(5:353) move the position in variable %checkone southeast (down and right) 1 step(s).
(0:80) When a furre clicks DragonSpeak Button 9,
(1:15) and the triggering furre is facing southwest (down and left),
(5:354) move the position in variable %checkone southwest (down and left) 1 step(s).
(0:80) When a furre clicks DragonSpeak Button 9,
(1:16) and the triggering furre is facing northwest (up and left),
(5:355) move the position in variable %checkone northwest (up and left) 1 step(s).
(0:80) When a furre clicks DragonSpeak Button 9,
* Pro tip: for .x .y variables, you can just use the variable in brackets, rather than the pair.
(1:1101) and there's no furre at (%checkone),
(5:200) emit message { [FURRE] , there is no one at ( %checkone.x , %checkone.y )} to the triggering furre.
* This block could be merged with the above stat listing, but would save only
* 5 lines, and would make for some horrible code. Not worth it.
(0:80) When a furre clicks DragonSpeak Button 9,
(1:1100) and there's a furre at (%checkone),
(5:51) make any furre standing at (%checkone) become the new triggering furre.
(5:201) emit message {<b> [FURRE] 's STATS</b>} to any furre present.
(5:610) remember the PhoenixSpeak info {account} about the triggering furre, and put it in variable %templevel .
(5:610) remember the PhoenixSpeak info {dexterity} about the triggering furre, and put it in variable %tempdext .
(5:610) remember the PhoenixSpeak info {strength} about the triggering furre, and put it in variable %tempstrength .
(5:610) remember the PhoenixSpeak info {intelligence} about the triggering furre, and put it in variable %tempintel .
(5:610) remember the PhoenixSpeak info {stamina} about the triggering furre, and put it in variable %tempstam .
(5:610) remember the PhoenixSpeak info {wisdom} about the triggering furre, and put it in variable %tempwis .
(5:51) make any furre standing at (%checktwo) become the new triggering furre.
(5:200) emit message {[!]Level: %templevel } to the triggering furre.
(5:200) emit message {[!]Dexterity: %tempdext } to the triggering furre.
(5:200) emit message {[!]Strength: %tempstrength } to the triggering furre.
(5:200) emit message {[!]Intelligence: %tempintel } to the triggering furre.
(5:200) emit message {[!]Stamina: %tempstam } to the triggering furre.
(5:200) emit message {[!]Wisdom: %tempwis } to the triggering furre.
***********
* Hit button
* Note that %BUTTON could be calculated rather than taken from the offset.
* Expression is (buttonClicked - lowestClickableButton + 1) * 11 + 28
* This would save about 20 lines but make it harder to modify.
***********
(0:80) When a furre clicks DragonSpeak Button 11,
(5:300) set variable %BUTTON to the value %DEX_OFFSET.
(5:610) remember the PhoenixSpeak info {dexterity} about the triggering furre, and put it in variable %STAT.
(5:300) set variable %CLICKED to the value 1.
(0:80) When a furre clicks DragonSpeak Button 12,
(5:300) set variable %BUTTON to the value %STR_OFFSET.
(5:610) remember the PhoenixSpeak info {strength} about the triggering furre, and put it in variable %STAT.
(5:300) set variable %CLICKED to the value 1.
(0:80) When a furre clicks DragonSpeak Button 13,
(5:300) set variable %BUTTON to the value %INT_OFFSET.
(5:610) remember the PhoenixSpeak info {intelligence} about the triggering furre, and put it in variable %STAT.
(5:300) set variable %CLICKED to the value 1.
(0:80) When a furre clicks DragonSpeak Button 14,
(5:300) set variable %BUTTON to the value %STA_OFFSET.
(5:610) remember the PhoenixSpeak info {stamina} about the triggering furre, and put it in variable %STAT.
(5:300) set variable %CLICKED to the value 1.
(0:80) When a furre clicks DragonSpeak Button 15,
(5:300) set variable %BUTTON to the value %WIS_OFFSET.
(5:610) remember the PhoenixSpeak info {wisdom} about the triggering furre, and put it in variable %STAT.
(5:300) set variable %CLICKED to the value 1.
***********
* No more credits
***********
(0:81) When a furre clicks any DragonSpeak Button,
(1:200) and variable %CLICKED is equal to 1,
(1:600) and the PhoenixSpeak info {credits} about the triggering furre is equal to 0,
(5:200) emit message {You have 0 Credits, [FURRE]. Hit <b>Done</b> if you are finished.} to the triggering furre.
(5:300) set variable %CLICKED to the value 0.
***********
* Stat maxed out (Can't happen, so wasting 6 lines. Nevermind.)
***********
(0:81) When a furre clicks any DragonSpeak Button,
(1:200) and variable %CLICKED is equal to 1,
(1:201) and variable %STAT is greater than 9,
(5:200) emit message {You cannot raise that stat any farther. Try another stat.} to the triggering furre.
(5:300) set variable %CLICKED to the value 0.
***********
* Can raise stat
***********
(0:81) When a furre clicks any DragonSpeak Button,
(1:200) and variable %CLICKED is equal to 1,
(1:602) and the PhoenixSpeak info {credits} about the triggering furre is greater than 0,
(5:610) remember the PhoenixSpeak info {credits} about the triggering furre, and put it in variable %CREDITS.
* +1 to stat
(5:302) take variable %BUTTON and add %STAT to it.
(5:181) hide the triggering furre's DragonSpeak Button %BUTTON.
(5:302) take variable %BUTTON and add 1 to it.
(5:180) show the triggering furre's DragonSpeak Button %BUTTON.
(5:302) take variable %STAT and add 1 to it.
* -1 from credits. Subtracting %CREDITS from %BUTTON too, as the numbers are backwards.
(5:300) set variable %BUTTON to the value %CREDITS_OFFSET.
(5:304) take variable %BUTTON and subtract %CREDITS from it.
(5:181) hide the triggering furre's DragonSpeak Button %BUTTON.
(5:302) take variable %BUTTON and add 1 to it. * Adding to subtract - numbers are backwards.
(5:180) show the triggering furre's DragonSpeak Button %BUTTON.
(5:304) take variable %CREDITS and subtract 1 from it.
* Save the credits to PS (should we be changing maxcredits?)
(5:600) memorize that the PhoenixSpeak info {credits} about the triggering furre will now be %CREDITS.
(5:600) memorize that the PhoenixSpeak info {maxcredits} about the triggering furre will now be %CREDITS.
***********
* Save stats
***********
(0:80) When a furre clicks DragonSpeak Button 11,
(1:200) and variable %CLICKED is equal to 1,
(5:200) emit message {You've added 1 C to your Dexterity.} to the triggering furre.
(5:600) memorize that the PhoenixSpeak info {dexterity} about the triggering furre will now be %STAT.
(5:300) set variable %DEX_BUTTON to the value %BUTTON.
(0:80) When a furre clicks DragonSpeak Button 12,
(1:200) and variable %CLICKED is equal to 1,
(5:200) emit message {You've added 1 C to your Strength.} to the triggering furre.
(5:600) memorize that the PhoenixSpeak info {strength} about the triggering furre will now be %STAT.
(5:300) set variable %STR_BUTTON to the value %BUTTON.
(0:80) When a furre clicks DragonSpeak Button 13,
(1:200) and variable %CLICKED is equal to 1,
(5:200) emit message {You've added 1 C to your Intelligence.} to the triggering furre.
(5:600) memorize that the PhoenixSpeak info {intelligence} about the triggering furre will now be %STAT.
(5:300) set variable %INT_BUTTON to the value %BUTTON.
(0:80) When a furre clicks DragonSpeak Button 14,
(1:200) and variable %CLICKED is equal to 1,
(5:200) emit message {You've added 1 C to your Stamina.} to the triggering furre.
(5:600) memorize that the PhoenixSpeak info {stamina} about the triggering furre will now be %STAT.
(5:300) set variable %STA_BUTTON to the value %BUTTON.
(0:80) When a furre clicks DragonSpeak Button 15,
(1:200) and variable %CLICKED is equal to 1,
(5:200) emit message {You've added 1 C to your Wisdom.} to the triggering furre.
(5:600) memorize that the PhoenixSpeak info {wisdom} about the triggering furre will now be %STAT.
(5:300) set variable %WIS_BUTTON to the value %BUTTON.
*Endtriggers* 8888 *Endtriggers*