Update 1.0.60c
- fixed in version 1.0.60c: attacking a target tagged with Pursue would cause the game to remove Passive tags from the target as intended, but not Immobile or Inactive tags; the game would remove Immobile and Inactive tags from the attacker instead.
- fixed in version 1.0.60c: when engaging the game's auto-move-and-attack behaviors, if the target wasn't in move-and-attack range of the top-scoring skill, the game simply wouldn't move the character or select a skill. Now, post-fix, if this happens the game goes through the selected character's other skills in descending order of effectiveness until it finds one that can reach the target, then auto-move-and-attacks with that skill.
- fixed in version 1.0.60c: due to a failure to call the Close() method on the XMLTextReader object used to download news updates on the title screen, the game would hang when returning to the title screen from a loaded game--and, upon returning a second time, appear to freeze entirely.
Update May 6th 2024
Visual/interface improvements:
- when grabbing an item sack containing equipment in it in battle, if the grabber can use that equipment and they have nothing equipped in the corresponding equipment slot, the - game will now prompt you if you want the character to auto-equip the thing they just grabbed.
- the game now tracks the last 20 loading screen tips displayed to avoid having repeats too often.
- item sacks now visually drop onto the battlefield when the ItemDrop script action is invoked.
Bug fixes:
- fixed: the game was freezing whenever a player-controlled (non-AI) character used Defensive Stance.
- fixed: the Sick status effect had started making skills cost 2,000% their normal energy cost instead of 200%.
- fixed: after last month's introduction of the new, more efficient parabolic arc code, battlefield objects chucked with skills like Toss and Throw were no longer getting parabolic arcs.
- AI fix: due to a quirk in how C# handles integer division, the AI was not applying a penalty to its scoring of attacks against targets with non-lethal on-death attacks (such as explosive charges).
- AI fix:due to a quirk in how C# handles integer division, the AI was not applying any penalty to its scoring of attacks against targets with non-lethal counterattacks.
- fixed: when shoving a unit onto a space with an ornamental bridge tile below the terrain, the game would use the bridge for the destination elevation instead of the terrain, sometimes inappropriately causing the target to take damage and/or become stunned.
- fixed: on certain occasions, item sacks on top of bridge tiles became non-interactable.
- fixed: it was possible for inorganic destructible objects to get the Poisoned status despite having 100% Poison resistance, just so long as the skill conferring the status was not of the Poison element.
- fixed: if movement speed was set to instant, doors that AI-controlled characters moved through would not be opened and scripts triggered mid-move via the MoveOver trigger would not be triggered.
- fixed: attempting to use an item in a character screen during deployment at the start of battle would fail without providing a pop-up message.
- fixed: with equipment that would replace a filled slot, the shop interface was still only showing a comparison of one stat maximum (rather than the intended 1-3), and could display a stat penalty as a reason for wanting the equipment.
- fixed: the text sprite for Drowning Res. was missing (most noticeable in shop interface explanations for why certain characters want aquatic armor).
- fixed: with Vindictive and Vengeful equipment that would replace a filled slot, the shop interface was still failing to display the sprite for additional counterattacks granted by the equipment.
- fixed: the rear horn in a spriggat's portrait would appear incorrectly scaled, positioned, and colored if a prior character portrait contained a hair accessory.
- fixed: some safeguards to ensure that a fall into a chasm will always be an insta-K.O. (even if falling 10 levels of elevation might not otherwise cause enough damage).
updated the description of Feedback to make its self-healing effects less ambiguous.
- fixed a couple of typos in the loading screen tips.
A few improvements for campaign creators:
- unit tooltips can now display a different fourth stat (besides counterattacks), as well as fifth and sixth stats when browsing characters within dialogue. Simply append the names of the fourth, fifth, and sixth stats after the list name, delimited by commas (e.g. -ShowUnits:UnitsInRoster,BASE Strength,BASE Psy,BASE Accuracy- will cause character tooltips to display the unit's base strength, psy, and accuracy in addition to their health, energy, and speed).
- new sound effect: Crowd Booing Muffled.
- added missing documentation for the pitch range parameter in the PlaySound script action.
- added minimum parameter checks to about a half-dozen portrait-related script actions that were missing them.
- added missing in-game documentation for the Move Over unit trigger.
- fixed a visual issue with the spot where the necks meet the ears in most of the male "NPC" portrait clothing sets.
- fixed: the blacksmith interface would show duplicates of weapons in reserve supplies when showing potential items to rename or repair.
- fixed: equipment-modifying items were not usable in cut scenes.
- fixed: the game could still display buttons in custom menus twice if they were preceded by hidden buttons.
Update 24.02.2024
Interface and quality-of-life upgrades:
- improved auto-move-and-attack behavior: the game now heavily favors skills that do not require the character to move further to use. (That is: if the target is already in a skill's range when auto-move-and-attack is used, the character should now generally stay in place and use that skill instead of moving positions to use a different skill.)
i- n the shop, when mousing over equipment, the game now tells you the biggest reason why each character who wants that piece of equipment wants it--and if that reason happens to be an increase to a stat, the game shows you how much that stat would increase.
- for moves smashing an enemy up against the edge of the map, the collision damage preview now displays the collision just off the edge of the map instead of layering it under the ordinary damage reticle.
Balance tweaks, optimizations, and other miscellaneous improvements:
- objective reticles are now placed around all of the fruit trees on the first turn of Out of Food Battle.
- updated the fruit tree sprite so that it has a different silhouette from the regular tree, making it easier to spot (especially for colorblind players).
- removed the turn 24 and 28 reinforcements from the Battle with Ebon Raban when playing on difficulties below Veteran.
- added an "Unlocked!" pop-up message to the steel door when pulling the lever in the Coria Dogs Ground Floor battle.
- implemented a virtual keyboard! The game now fully supports input text fields with gamepad (not used in the main campaign, but usable in player-created campaigns).
- status effect immunity messages now only pop up if the target is a character. (The player doesn't really need to hear about how boulders and trees are immune to, say, Blinded or Enthralled status.)
- AI improvement: enemies can now path their way through closed doors, opening the doors as they move!
- AI improvement: CPU-controlled characters will no longer wander into campfires.
- the level-up screen now has an animation for when characters learn new counterattacks.
- switched the game's internal operate() function over from if-else statements to a switch statement for increased performance.
- did a bit of code optimization for when the game checks for whether spaces are solid land.
- improved end credits scrolling behavior. Instead of automatically skipping to the entire next scene, clicking now increases the scroll speed by nearly 10x while the button is held down, and advances to the next scene only when scrolling is completed.
- added the number of the current save slot to generated log files.
Bug fixes:
- FIXED: the gamepad navigator code could sometimes fail to enable navigation to some of the reply buttons in dialogue branches with multiple responses once the reply options finished fading in.
- FIXED: the flashback cut scenes had ceased to advance to the next frame upon ending cut scene dialogue due to changes made to fix unintended behaviors in the engine for Together in Battle.
- FIXED: clicking on a bridge or on stairs while moving in exploration mode would cause the selected character to move adjacent to (rather than onto) the clicked object.
- FIXED: when ending dialogue in exploration mode, the game would select the next character in the army rather than re-selecting the last selected character.
- FIXED: the land movement sprite had become misconfigured in movement tiles during Exploration Mode due to changes adding localization support to the game.
- FIXED: shoving an object while in exploration mode could result in the game displaying that object as the current selected unit in the actions bar.
- FIXED: null error that could occur when clicking to use a triggerable object when in exploration mode.
- FIXED: in some circumstances, the animation for dropping a flyer into water or lava could play much too slowly.
- FIXED: if Heavy status wore off while a flying character was dunked in water or lava, they would immediately return to flying movement. Now, they must instead swim to shore first.
- FIXED: flyers who were dunked into water or lava by virtue of being Heavy would, upon swimming to an adjacent tile of liquid terrain after Heavy status wore off, immediately resume flying. Such units must now swim back to land (or a bridge tile) to recover Flying movement.
- FIXED: the AI could have characters inflicted with Immobilized status use Swim when in water or lava.
- FIXED: when shown in battle, the info bar was layering on top of UI elements that should have taken priority over it.
- FIXED: when shown in battle, particle effect velocity for the info bar was not scaled properly.
- FIXED: choosing a particular set of particle effects did nothing for Create skills.
- FIXED: the game was leaving the "talking" symbol visible on the last speaker portrait when transitioning to a new dialogue branch with no speaker.
- FIXED: character dialogue would animate, with accompanying babble sounds, even as a report covered the dialogue menu onscreen. In a branch with a ShowReport action, the game now initiates dialogue animation and babble sounds only after the report is closed.
- FIXED: the game could sometimes overwrite proc gen equipment materials values with old placeholder values, resulting the game not loading material names correctly and therefore failing to generate the correct names for weapon and armor images.
- FIXED: localization-related changes to the code over the past few months caused the game to stop displaying the name of the status effect in "[Status effect] wore off" pop-up messages.
- FIXED: using the StopMusic script action and then resuming the track that was playing prior to StopMusic with PlayMusic would not work, as the game would think that track was already playing.
- FIXED: in rare circumstances, the game could produce a range error trying to place an enemy with exceptionally long range on a proc gen battle map without enough space to get them outside of enemy range.
- FIXED: when finishing deployment in a map with both a Fog of War condition and a Go First condition for any army other than the player, the game would reconfigure fog of war to reflect the perspective of whichever army went during the first turn, thereby inappropriately revealing hidden areas of the map to the player.
- FIXED: in some cases, the game running and then closing dialogue with an OnReachingArea trigger in the middle of an AI turn could cause the game to tell the AI that none of its characters had moved or acted yet, resulting in them taking multiple turns.
- FIXED: the game could freeze if character movement mid-combat sequence (e.g. with a skill like Charge) brought a character into an area of the map that triggers OnReachingArea dialogue.
- FIXED: during OnCharAttacked dialogue where the speaker's name was set via the -ATTACKER- special character, the game was leaving the resulting unique ID in place in lieu of the attacker's name.
- FIXED: in some circumstances where a unit took a long time making a move on the battlefield destined to be interrupted by a trap, the game would start calculating the next move for that unit before the move was finished, without taking the trap's effects into account.
- FIXED: missing-space typo due to localization implementation in the reserve supplies screen when asking the player if they want a character to automatically equip multiple new equippable items.
- FIXED: narrowing down a tag by its parameters for RemoveTag was only working in cut scenes, not battles.
- FIXED: using RemoveTag to strip a unit of its scriptID would remove the tag, but not the associated scriptID marker used to find it by the game.
- FIXED: binoculars had stopped working due to a bug fix from a prior update.
- FIXED: the area preference tag wasn't being applied to long-term moves that caused the character to stop within the named area on their way to a destination outside the area.
- FIXED: under circumstances where the AI was controlling more than 8 characters in the same army, if an AI-controlled character in that army died on its own turn (typically from an enemy counterattack), the AI would inappropriately skip the turn of the next character in order.
- FIXED: it was possible for the game to trigger the top AI move twice if scripted character movement occurred at the start of the enemy turn.
- FIXED: units afflicted with the Frozen status effect could nonetheless regain energy on their turns.
- FIXED: prior fixes had once again broken the game's ability to pick out the correct unit for displaying the talk symbol and producing unit babble in battle when multiple units shared its name (even when using a script ID in place of a name).
- FIXED: the deployment screen would show the option to switch to a second (empty) page of characters if the player's roster was exactly 18 units in size.
- FIXED: the reserve supplies screen would show the option to switch to a second (empty) page of characters if the player's roster was exactly 18 units in size.
- FIXED: the title screen news ticker would not reappear after returning to the title screen from playing the game.
- FIXED: an over-long delay between news items in the title screen news ticker.
- FIXED: alignment on the floor button destructible object.
- FIXED: the Crickets and CricketsAlt loops were not looping cleanly.
cleaned up the "Grab" sound effect a bit.
- FIXED in 1.0.53a: the game could freeze when calculating knockback attacks for the AI.
- FIXED in 1.0.53b: stairs were having their elevation commands applied twice in battle and exploration scenes, causing them to float above the ground in some cases.
- FIXED in 1.0.53b: AI-controlled characters would not open a closed door during their move onto the door's space if that space happened to be the last space in their move.
- FIXED in 1.0.53b: triggering an on-death attack for a destructible object (such as Explode) would not grant experience to the character who destroyed the object and triggered the attack.
- FIXED in 1.0.53c: the code to make sure enemies don't end their turns walking onto a closed door without opening that door could cause a range error during other enemy moves.
- FIXED in 1.0.53d: objects and non-player armies were sometimes not appearing when procedurally generating maps in the map editor.
Goodies for the campaign creation suite:
- new map tileset added to the game: Castle Sandstone! (It's the same as the Castle tileset, but sandstone-colored.)
- a bunch of new cutscene backgrounds!
- new destructible objects: jugs and planters! These come in multiple varieties.
- new destructible objects: trapped chests! These come in two varieties: chests trapped with poison needles and chests trapped with explosives.
- new destructible objects: modular rugs! These are variants of the Rug object that lay flat on the floor, below move and attack tiles, and seamlessly connect together to create rugs of arbitrary size and shape.
- new item button and skill button graphics!
- new sound effects and sound loops!
- when calling LoadConv, the new conversation keeps the existing trigger character and secondary character of the prior dialogue or script by default.
- new script action: KnockbackUnit. Pushes the unit in a specified direction for a specified number of spaces, as if they'd been shoved or subjected to a kinetic gust. Three parameters: unit name, direction, and number of spaces.
- new script action supported: NextFrame. Automatically ends any dialogue that may be open and advances to the next frame of the current cut scene.
- new operation type supported for SetVal and its ilk: abs. Sets the custom value equal to the absolute value of the operand.
- added multiple-operations support to the SetStat script action.
- added parameter count error-checking to a bunch more script actions.
- new tag used to affect randomized battlefield placement: AvoidOwnArmy. This causes the game to weight placement of the tagged unit so that members of the unit's own army are treated as enemies, enforcing minimum distance rules.
- new tag used to affect randomized battlefield placement: AvoidArmyObjects. This causes the game to weight placement of the tagged unit so that destructible objects belonging to various armies are treated as characters, including them when calculating minimum distances.
- new after-attack type supported: "Can Attack." The character can continue using other skills, but can no longer move.
- the runScripts attribute for items can now contain custom script parameters! Just like with the Run script action, add a comma, a parameter name, a second comma, and then a parameter value to pass a parameter to the script that gets run.
- reworked the Generate Map window of the map editor to make better use of space and support more object groups per map.
- the map editor will now let you select more than just 2 terrain tilesets and more than just 1 hazard tileset in the Generate Map window.
- added "force spawn distance from player" support to characters and destructible objects in proc gen maps.
- the map editor successfully loads and saves the "forced spawn distance from the player" attribute of army groups and objects in proc gen maps.
- added "force spawn distance from player" fields for destructible objects to the Generate Map window of the map editor.
- the game now properly supports stairs which appear to lead down below the map; there is a now a "StairsDown" variant of all existing stairs objects.
- improved proc gen map logic for placing stairs (they can now only be placed at elevation 1, and not adjacent to environmental hazards).
- the game's procedural map generator can now generate bridges across large stretches of hazard tiles, not just one-tile gaps.
- the game's procedural map generator can now generate bridges across gaps between cliffs.
- fixed: on rare occasions, the proc gen map algorithm could generate more than one bridge tile on the same space.
- fixed a range error that could occur when generating spawn positions for destructible objects in proc gen maps.
improved the game's detection of premade unit load IDs (as opposed to actual class names) for army group units in proc gen maps.
- fixed: upon loading proc gen maps, the map editor would strip out colons from any premade unit load IDs within army groups.
right-clicking a destructible object present on the battlefield in the map editor now works like right-clicking open terrain, initiating a camera drag-pan.
- fixed: the map editor was not setting terrain check boxes correctly within the Generate Map window of the map editor to match the sets used by existing proc gen maps upon loading them.
- fixed: loading a dialogue tree containing a NewScene action in branch 0 within a frame of the cut scene editor would cause the game to actually load the new scene within the editor.
- fixed: when cloning a unit in the campaign editor, the editor would add an attribute called "nodeCategory" to the cloned unit, thereby causing the engine to not be able to parse the XML file containing all of the custom campaign units and seeming to wipe out the units list.