Well, (some of) you asked for this, so here you go. No pretty pictures this time.
New script commands
I still have DROD RPG 1 on my other computer, so I'm looking through the lists of script commands on both games to work out exactly which ones are new
Attack tile is an RPG-flavoured version of the familiar DROD command. It strikes an enemy, dealing a specified amount of HP damage, with the same pop-up number as when the player strikes it; there is an option to make it ignore the enemy's DEF. ("
Set monster var"
can also be used to reduce an enemy's HP, but it won't produce the pop-up.) An obvious use for this is scripting an accessory that attacks enemies from a distance.
Behavior: Most new behaviors have been covered in previous posts -- any behavior specific to one monster type, weapon or shield is available to be used on custom monsters or equipment. There is also a new behaviour, Wall-dwelling, that makes monsters behave like seep (they die if they are on a door and it opens).
Each victory makes a script jump to a specified label each time a monster is killed.
Script flow: RPG 2 has the improved script flow commands from TSS, such as Else If and Gosub.
Equipment Generate: Covered in the above post.
Flashing Message: As in TSS. Flashes a line of text on screen.
Image overlay: As in TSS. Makes an image appear on screen, with its own sub-script to control how long the image lasts and how it should change (movement, fading and so on).
Imperative: The new imperative Invisible Inspectable lets you right-click "
invisible"
characters (which can, of course, be visible to the player with Ghost display). This is great for custom collectables.
Replace with default script: If a character is currently running an individual script, this makes it instead run the default script for its character type.
Reset MyScript variables: Also in 5.2. This resets all _MyScript variables at once.
Room location text: Same as in TSS. Allows a room to have an individual name.
Arrays. Variables can be designated as arrays by putting # as the first character of the name. This allows many values to be passed at once: for example, a set of monster stats, or a set of multipliers. You can use "
Set array var"
to put a value into one position of an array, or several consecutive positions, making some scripts a lot more concise.
Set ceiling light/darkness: Also in 5.2. Allows ceiling lights to be controlled by script.
Set monster var: Previously covered. Allows scripts to change the HP, ATK, DEF, GR or REP of any monster, for instance if you want to script a magical item that drains an enemy's ATK, or if you want to give large monsters non-default stats.
Set movement type: Controls whether an entity is ground, air, wall or water-moving.
Set music: While the command itself is not new, RPG 2 includes many of the Emmett Plant tracks from TSS, as well as an awesome new title screen theme! Tracks that were specific to the
Tendry's Tale hold are also available for selection, as well as some ambient noise tracks.
Set var: There are some new variables, in addition to the ones already explained for custom queens and tarstuff spawns. _MyName changes the name shown to the player, so for longer holds, you can give characters names like "
Chapter 1 Goblin-like"
so that all your Chapter 1 characters appear together, while the name the player sees will be "
Weak Goblin"
or whatever. _MyDescription lets you put any text you want into a trait that will be displayed on right-click and in the damage calculator.
All multiplier variables have a "
My"
equivalent, for instance _MyMonsterGRMult. This multiplies the specified quantity (in this case, the GR dropped by all monsters in the room) as long as the character that "
owns"
the multiplier is alive. This allows you to script brain-like entities that affect other monsters. These variables also work on equipment!
Set wall light: You could already turn wall lights on and off with "
Activate item at"
, but now you can also change their colour!
"Wait for" improvements: Obviously, there are new events related to the new objects such as crates and shovels. The new commands "
Wait for All"
, "
Wait for Any"
and "
Wait for Exactly One"
allow setting up multiple conditions for a single Wait command.
Wait for item group: Like "
Wait for item"
, but its list of options are all groups of related items, so you can (for example) wait for any closed door, any tarstuff, any collectable... with a single script command.
Wait until expression: Lets you compare an expression to a value without having to put the expression in a temporary variable.
World map commands: Previously covered.
Finally, while not a script command in itself, RPG 2 supports a wide variety of
function primitives that can be applied to variables. These can be entered into any command that expects a value to be supplied. For example, you can easily get the minimum of two values, or the direction one rotation clockwise of a specified direction, or the ATK of the entity on a specified tile.
And that's all for this series of posts. I hope that everything I've said has made you look forward to the release. There is, of course, one thing I've not been able to talk about, and that is the RPG 2 main hold... and all I will say is that it is
fantastic and I am so excited about how soon we will be able to share it with you!
____________________________
50th Skywatcher