Added new scripting functions "Add To Group" and "Remove From Group" for adding an entity to a group or removing it from a group
Added new scripting function "Restart Game" for manually restarting the game
Added new scripting function "Equip Item" for equipping an item to character's equipment slot (e.g equip_item(player, "right_hand", "ITEM_0001"))
Added new scripting function "Unequip Item" for unequipping an item from a character's equipment slot (e.g. unequip_item(player, "right_hand"))
Added "Equipment" section to the Stats Editor (currently only displays some basic information about the default equipment slots)
Added initial settings to the Item Editor for defining an item as equippable and its associated effect when equipped (only basic stat boost for now)
Added button to the Game Configuration dialog's Translations tab for importing data from a CSV file
Added support for using the ".direction" syntax in assignment statements to change an entity's direction (e.g. entity["id"].directon = WEST)
Added support to scripting language for getting the current map's name (as string) and groups (as array) (using syntax: map.name and map.groups)
Added debug console error messages that are displayed for "tile by coordinate" expressions when values for X, Y, and Z are invalid
Added option to the Main Menu editor for changing the arrow cursor's color
Updated style and color scheme of visual script nodes in the Script Editor
Updated top right panel in Map Editor to include buttons for adjusting the tile grid up/down in steps (as an alternative to Ctrl + Scroll Wheel) and to display current grid height
Updated Noise Generator dialog to include a help button that opens its built-in documentation
Updated Surface Level panel in the Voxel Editor to open its corresponding built-in documentation when dragging-and-dropping the guide icon
Updated "Modify Navigation" function to support entity references (self, entity["id"], tile[0, 0, 0], etc.) instead of only IDs
Updated "Set Entity Script" function to support optional parameter for specifying when to trigger tile scripts (using a value of ENTER_TILE, STOP_ON_TILE, or EXIT_TILE)
Updated "Execute Script" function to support additional optional parameter to indicate whether the current script should pause until the triggered script has completed
Changed "Export to CSV File" on Translations tab to use system's desktop location as the default export path instead of installation folder
Fixed issue with Shift + Arrow Keys not snapping to 90-degree increments when game camera is in isometric mode
Fixed issue where pressing F2 in the Voxel Editor would switch the properties panel to Map Properties in certain cases
Fixed issue with "Assign Entity ID" function call no longer working in conditional expressions or as a Boolean value
Fixed issue where local variables were not able to be used as conditional expressions (e.g. if my_var then ... end)
Fixed issue with Boolean expressions using the "and" or "or" operator were not evaluating properly in some cases
Fixed issue with "When Next to Player" behavior setting for NPCs not triggering if the player approached the NPC first
Fixed issue where party members weren't getting placed back into the turn order if revived during a turn-based battle
Fixed issue where triggering a "Display Message" function from an NPC's "When Next to Player" dialogue would not work properly
Fixed issue with using the "Set Entity Model" function to change a character's model during turn-based battles
Fixed issue where an array's values were not being deserialized properly when loaded in-game
Fixed issue with item dropdowns when item names were localized and an item didn't have an image
Fixed issue with "Set Dialogue" scripting function not working properly
Fixed issue with Entity Expression Builder where party member ID was not being updated in the expression field, removed "Use ID string only" checkbox for party member option
Fixed first-person control issue when moving backward then turning left/right
Fixed some timing issues that could occur with functions called from inside "while" loops and "for" loops
Localization: Added localization for Spanish (selectable from the general editor settings) and credit in About dialog for Pablo
Localization: Added localization for Dutch (selectable from the general editor settings) and credit in About dialog for Ernst
Documentation: Added built-in docs for the "Noise Generator" functionality (under "Application Interface" heading)
Documentation: Added built-in docs for the "Surface Level" functionality (under "Terminology & Concepts" heading)
Documentation: Added built-in docs for the "Execute Script" scripting function to include info about optional "pause" argument
Documentation: Updated example image and linked some additional keywords in the "Voxel" built-in docs
Documentation: Updated visual node example images for "Start Dialogue" and "Stop Player" scripting functions
Documentation: Updated examples for "Boolean" data type's built-in docs
Release Notes for v0.5.8.4
Added "range" function to scripting language that generates an array of integers (e.g. to iterate through in a "for" loop, see "Script Syntax" and "Array" documentation for details)
Added "null" keyword to scripting language (e.g. to check if a variable hasn't been assigned a value or if an entity with an ID doesn't exist)
Added NPC behavior setting for triggering events when next to the player (for example, to start a battle or dialogue)
Added "speed" as a stat increase option to the Stats Editor (affects the character's movement speed and relative "walk" animation speed)
Added new scripting function "Play Music" which plays a specified music file
Added "currency" as a stat increase option to the Stats Editor (currency earned by party members will all be given to the main player character)
Updated color value syntax in the scripting language to support hex code strings (e.g. color["0000ff"] for blue)
Updated "Move Player" and "Move Character" scripting functions to also support tile coordinate or tile entity reference instead of only entity ID
Updated Map Editor to catch error and display an info popup dialog when attempting to open an invalid/corrupted map file
Updated Map Properties panel to automatically open the Procedural Sky Settings dialog when first selecting it for background type
Updated display of arrays in scripting (via Print, Display Message, etc.) to output descriptive text for any entities in the array
Updated resource dropdowns in the editor to display icons for items (e.g. in the "Give Item" visual script node, etc.)
Updated entity marker icons to automatically update their positions when an entity is rotated in the Map Editor
Updated "Replace Navigation" scripting function to support "group" syntax for the entity parameter (e.g. replace_navigation(group["area01"], PENDING, WALK_AND_INTERACT))
Added buttons to the Procedural Sky Settings dialog for resetting to default values and opening the built-in documentation
Added appropriate button icons to all popup window dialogs for "OK" buttons, "Cancel" buttons, etc.
Added descriptions for "Assign Value" and "For Loop" logic nodes when selected in the Script Tools panel
Added "nav remove" debug console command for removing visual navigation lines (to help test performance improvements when modifying many navigations paths at once)
Added toolbar button to the Voxel Editor color palette for exporting palettes to PNG or HEX files
Changed default movement control type in the gameplay settings to "Relative to Camera" instead of "Tank"
Changed icon and tooltip text of button for editing a map's procedural sky settings, added separator lines to corresponding settings dialog
Fixed issue in Voxel Editor where animations would break when adding new frames to a model and then enabling animation its light source
Fixed issue with localization button on toolbar not being initially disabled in the Dialogue Editor before any tabs have been opened
Fixed issue with "Select a Resource" dialog's "OK" button not being initially disabled if no resources are selected
Fixed issue where surface level for tiles was not being considered when moving in the Map Editor's first-person mode
Fixed issue where first-person controls within turn-based battles stopped working if scripted camera movements had been done at any point before the battle
Fixed issue where help buttons on logic nodes in the Script Editor were not properly opening any documentation
Fixed issue with entity tooltip text not being translated or evaluating placeholder expressions in-game
Fixed some text formatting issues in the in-game debug console when commands entered contained certain sequences of characters
Fixed script parser crash that could occur when certain functions had fewer arguments included than required
Fixed "handle_entity_input_event" errors that were sometimes displayed when transitioning to a new map
Fixed issue where a tile's collision override setting was not being applied when using the "Add Tile" scripting function
Fixed script parser so "Give Item", "Remove Item", "Add Item To Container", and "Remove Item From Container" functions will properly return numeric count of items added/removed
Fixed some calculation issues related to the positioning of entity marker icons in the Map Editor
Documentation: Added built-in docs for "Procedural Sky" and "Fog" functionality and "Remove Item" and "Play Music" scripting functions
Documentation: Updated built-in docs for "Conditional Expression" to include info about "and", "or", and "contains[x]" syntax, and additional examples
Documentation: Updated built-in docs for "Map Properties" to include a row for the new "Fog" setting
Documentation: Updated built-in docs for "Move Character" and "Move Player" to include additional argument types supported for the destination tile
Documentation: Updated built-in docs for "Script Syntax" to include info about "null" keyword and "range" function
Documentation: Updated built-in docs for "Array" to include examples of the "range" function and user-defined arrays
Documentation: Brought the built-in docs for "Ambient Light" up to date
Documentation: Brought the built-in docs for "Give Item" scripting function up to date
Release Notes for v0.5.8.3
Added support to scripting language for optional "elseif" conditions in "If" statements (e.g. if x > 10 then ... elseif x > 5 then ... else ... end)
Added initial support to scripting language for defining and accessing array variables (e.g. my_list = array["A", "B", "C"]; print(my_list[random(0, 2)]))
Added Global Event Script option for "Player is Defeated" (script will override default behavior of restarting the game when the player dies)
Added new scripting function "Revive Character" which revives a defeated character, bringing them back to life with the specified health (e.g. revive_character(player, player.stat["max_hp"]))
Added "inverse" function to scripting language (e.g. inverse(value), where value is a direction, number, boolean, coordinate, color, or navigation type)
Added option to the Map Properties panel for setting the initial camera orientation to use when the map is loaded
Added ability to get X, Y, or Z value of coordinates stored in variables (e.g. my_var = player.coord; print(my_var.x))
Added support to scripting language for using concatenated strings in property names, IDs, etc. (e.g. global.property["prop" + string_var])
Updated "entity bounds" indicator in the Map Editor to also show the direction in which the selected entity is rotated (shown as an arrow)
Updated "Heal Entity" scripting function to only work on characters who are currently alive
Updated help button on the Game Configuration dialog to open the Global Properties and Translations documentation when on those tabs
Updated Map Properties UI components to open corresponding built-in documentation when dragging-and-dropping guide icon
Changed syntax highlighting for "random" function to match blue color of other scripting functions
Changed selection border color of visual script nodes to be more apparent and added shadow outline to nodes
Fixed issue where game cursor was still showing interaction icons after the player had been defeated
Fixed issue where title text of popup dialogs would display in the system's language instead of the configured one
Fixed issue with global event script dropdowns showing as blank instead of "None" for projects that hadn't assigned any scripts yet
Fixed issue with incorrect camera angle after using "Put Player" to move the player character to a tile at a different height
Fixed issue where group auto-hiding and fog-of-war logic was not being triggered when the player was moved via "Put Player"
Fixed issue in the Script Editor where previously saved comment node text would not be populated into the "Edit Text" popup until edited again
Fixed issue with scrollbar improperly showing in variable expression fields in visual script nodes
Fixed issue where Map Properties tab would be incorrectly displayed in certain cases when clicking on a model button while in an editor other than the Map Editor
Fixed Linux crash that could occur when a script was parsed in the Quick Script Builder dialog
Documentation: Added built-in documentation for the "Revive Character" scripting function
Documentation: Added built-in documentation for the "Execute Script" scripting function
Documentation: Added built-in documentation for the "End Battle" scripting function
Documentation: Added built-in documentation for "Global Event Scripts" functionality
Documentation: Updated built-in docs for "Script Syntax" to include info about the "random" and "inverse" functions, "elseif" functionality, and arrays
Documentation: Brought the built-in "Heal Entity" scripting function documentation up to date
Release Notes for v0.5.8.2
Added buttons to the Map Editor viewport for raising and lowering the tile placement grid
Added ability to trigger a script when the camera's cardinal direction has changed (via "Global Event Scripts" tab in Game Configuration)
Added ability to trigger a script when a player character levels up, character entity is passed as "self" (via "Global Event Scripts" tab in Game Configuration)
Added ability to reference a character's level (e.g. player.stat["level"])
Updated "Assign Value" visual script node to support assignment to entity properties and stats in variable field
Update textual display of entities in-game to use entity type instead of just "Entity" (e.g. "[Tile:grass@(3, 2, 0)]")
Fixed issue where correct operator for "Assign Value" visual script node was not being selected when generated from source
Fixed issue where "Reset Camera At Speed" function would fail if camera had only been rotated and not moved
Fixed issue where entity behavior/ID/stat assignments were no longer being parsed properly in scripts
Fixed issue where the control variable's value in "For" loops was not being properly passed down into nested "If" statements
Fixed issue with opening characters directly from the Favorites list
Fixed issue with Script Editor crashing when the last statement in a statement list was followed by a semicolon
Fixed issue with "Set Entity Model" function not keeping model override for the player character across maps
Fixed some issues related to camera scripting while in the first-person camera view
Documentation: Added built-in documentation for the "Add Item To Container" scripting function
Documentation: Updated built-in docs for "Script Syntax" to include info about currently available data types
Documentation: Updated built-in docs for "Entity" to include additional reference types (Tile by Coordinate, Initiator, and Party Member)
Documentation: Updated built-in docs for "Tile" to include info about tiles being restricted to one per XYZ coordinate
Release Notes for v0.5.8.1
Added buttons to the built-in documentation pages for opening the online wiki version
Updated "Print To Console" visual script node to use syntax highlighting in the data field
Updated coord[x, y, z], color[r, g, b], and tile[x, y, z] expressions to support arithmetic expressions for their parameter values
Fixed issue with script parser crashing when processing scripts in a thread while running on Linux
Fixed issue with search functionality not working properly for built-in documentation
Fixed issue with "secret_wall" script in the example content not working properly
Fixed issue with not being able to compare two "contains" conditions in scripts (e.g. self contains "ITEM_0001" == self contains "ITEM_0002")
Fixed issue with arithmetic expressions not working properly when using coordinates
Fixed issue with in-game debug console not properly parsing script commands
Documentation: Added initial page to built-in docs for "Array" data type
Documentation: Updated built-in docs for "String" data type to include details on string concatenation
Documentation: Updated built-in docs for "Script Syntax" to include explanations and examples for assignment statements, "while" loops, and "for" loops
Documentation: Brought the "Editor Settings" built-in docs up to date