1.0.60l (2025-08-21)
Hotfix 1.0.60l:
fixed: the game had started saving blank characters with null stats under certain circumstances, leading to null errors.
1.0.60k (2025-08-13)
This combines a series of small hotfixes and minor improvements into a single update (hence, the jump from version 1.0.60d to 1.0.60k)!
- added in version 1.0.60e: added a tag to Sarn Kamina causing her to greatly prefer staying in the middle island during the Rescuing Sarn Kamina battle.
- added in version 1.0.60e: when playing with gamepad, if you select a healing skill, the game now goes out of its way to position the selector on a tile containing an ally who's actually been damaged.
- fixed in version 1.0.60f: the settings menu was cut off by the top and bottom of the screen for players with super-widescreen monitors, preventing them from switching to a properly supported 16:9 resolution in-game.
- fixed in version 1.0.60f: the fourth row of items in the reserve supplies screen was covered by the character inventory sub-window.
- fixed in version 1.0.60g: the game was only loading class or species data when entering a cutscene or generating a proc gen unit, not when instantiating a battle, leading to situations where characters couldn't promote despite meeting the requirements if the player hadn't been in a cutscene yet after loading up their save.
- fixed in version 1.0.60h: the Transfer script action would add a character to the destination roster even if they no longer existed in the roster they were to be transferred from, causing characters who fell to permadeath during the bandit fortress escape maps to appear on the main roster anyway.
- fixed in version 1.0.60h: the -ATKX- and -ATKY- special characters had started each returning 0 when using skill scripts regardless of where the attack was centered.
- fixed in version 1.0.60i: when in randomizer mode, the game could sometimes recruit a second Emma Strider during the bandit fortress escape.
- fixed in version 1.0.60i: the game could sometimes throw a range error during exploration.
- fixed in version 1.0.60j: villager recruits could speak lines intended for enemy bandits in the Out of Food battle.
- fixed in version 1.0.60j: the gamepad cursors were misplaced for the page picker for character portraits in the reserve supplies screen when in a shop.
- fixed in version 1.0.60j: proc gen weapons and armor in the Randomizer campaign were relying on outdated materials data, causing them to be generated without an item image.
- fixed in version 1.0.60k: due to an oversight in the game's logic for populating battles with both specific named characters and members of the player's roster, following the battle in Adelbrae in the randomizer campaign, Emma Strider was getting cloned in the game's data, leading to all manner of other weirdness at various points later in the campaign.
1.0.60d (2024-12-08)
- fixed: the cutscene editor had begun throwing errors when displaying a shop with the shop tutorial set to true.
1.0.60c (2024-11-12)
- 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.
1.0.60b (2024-09-25)
- fixed in version 1.0.60b: proc gen character dialogue using -TIC2- or -LAUGH2- special characters would have the entire line replaced with the character's tic or laugh narration.
- fixed in version 1.0.60b: the campaign creation suite was not loading campaign-specific custom character classes upon loading up a campaign for editing.
1.0.60a-BAD (2024-09-04)
- reduced frame drops that had started occurring during combat zoom-in and zoom-out.
- fixed: gamepad cursors were misaligned to buttons in the new turn box and the actions bar.
- fixed: the game had begun triggering visual and audio cues for characters dropping into chasms when merely moving onto bridges above (or, in the case of flying units, flying onto) chasm tiles.
- fixed: a null error was preventing the cutscene editor from working properly.
1.0.60a (2024-09-05)
- reduced frame drops that had started occurring during combat zoom-in and zoom-out.
- fixed: gamepad cursors were misaligned to buttons in the new turn box and the actions bar.
- fixed: the game had begun triggering visual and audio cues for characters dropping into chasms when merely moving onto bridges above (or, in the case of flying units, flying onto) chasm tiles.
- fixed: a null error was preventing the cutscene editor from working properly.
- fixed: the TIB character creator (which is not supported in TTL and does nothing in the game) could be selected from the main menu of the title screen using gamepad even though no button for it was visible.
1.0.60 (2024-08-20)
New features and improvements:
- combat objectives now auto-display at the start of each battle! No longer will you have to infer your victory and loss conditions from dialogue (or manually open the objectives menu)--the game now simply gives this information to you automatically.
- gasuls now gain a new, distinct spriteset upon promotion!
- in battle, the "I" key now serves as a hotkey to open the current selected character's inventory. (Of course, this just amounts to opening their character screen, since that is where the inventory resides--but this should still be an improvement for new players who missed that in the tutorials.)
- move tiles, along with the step numbers and path arrows that appear within them, now have outlines to make them visible against snow and lava tiles!
- I was dissatisfied with the aesthetics of the New Turn box in battle, so I redesigned it with new, hand-animated painted banners. (I seldom have time to paint much new art myself these days, but I'm quite happy I did so here--I think they look a whole lot nicer than before!
- constrained the pop-up text animation in combat a bit more to make it easier to follow (and easier to tell which character it belongs to in the event of an AOE effect).
- created a new sound effect that plays when a character takes environmental damage from being in lava.
- AI improvement: the game now scores the destination-and-facing back cover factor for a move relative to how dangerous the destination space is, preventing situations where the game overvalues a move because it protects the unit's back in a spot where no enemy is near enough to reach it.
- AI improvement: I capped the AI's space danger modifier at 3.0 for short-range moves to avoid situations where the AI chooses not to make optimal moves merely because the current unit is too low on health.
- lit battlefield objects (such as braziers, candelabras, campfires, and lamps) can now create islands of visibility within fog of war maps.
- decoys now have a tag that causes the AI to treat them as attack targets on par with other characters.
- added shoulder button support to the character inventory pop-up window within the reserve supplies screen when playing with a gamepad; the shoulder buttons now automatically switch to the next/previous character in the roster.
- added shoulder button support to the shop screen when playing with a gamepad; the shoulder buttons now automatically switch to the next/previous item category.
- when switching item categories in the shop in gamepad mode, the game now jumps the selector over to the first item in the new category instead of leaving the cursor down among the category buttons.
- a much-requested feature is now in-game: show danger zones! During battle, you can now hit the 'Q' key to have the game auto-display every tile that can be reached and/or attacked by at least one enemy. (When in gamepad mode, you can do this by pressing the Y button on any space empty of units.)
- updated the "enemy range" tutorial in the caravan battle with instructions on how to show danger zones.
- you can now hold down the Alt key to see every character's health bar onscreen at once!
- when defeated in battle, a button to call up the main menu now appears in the bottom-right of the screen so you can double-check objectives, restart the entire battle, or go to the title screen.
- added a dark outline around danger tiles so they remain visible over lava.
- main menu buttons on the title screen now have tooltips.
- cleaned up photokineticist walk animations a bit.
- cleaned up assassin walk animations a bit.
- shaved about 1.1 GB off the game's file size.
- updated the game to a somewhat more recent version of Unity.
- AI improvement: the game can now string together additional moves after Use Once skills, causing higher-level enemies (swordsmen in particular) to take much more effective turns.
- AI improvement: the game now takes into account whether a target is frozen, blinded, or immobilized when deciding whether to mind control them.
- for randomizer playthroughs, replaced the convex shield in Fera's room with a more universally helpful set of leather armor--and replaced the knife in the basement rubble with a convex shield.
- for randomizer playthroughs, reduced the mental resistance of the bandit fortress basement guard by 20 to help prevent softlock situations in case Emma has been reclassed to a psy user.
Bug fixes:
- fixed: status effects would hang around on units after a battle if the scene was switched without the battle formally ending in a victory or defeat.
- fixed: non-flying, non-bridge units and objects created on chasm tiles would not immediately fall in.
- fixed: the game was not recognizing chasm tiles as instant-death spaces when calculating the value of knocking enemies in (and the danger of parking a character on top of them), leading to situations where the AI--on its highest settings--would nonetheless choose moves that damage a character in lieu of simply KO-ing them.
- fixed: the AI was not creating a move tracker for enemies it enthralled during its turn; thus, if the AI enthralled a unit and that unit's best move was a non-turn-ending attack, the game could get caught in a loop.
- fixed: an off-by-one error in the game's experience staling tracker was effectively causing all skills to grant an additional, unintended 12.5% experience if they'd been previously used on a different target during the same fight.
- fixed: the AI's scoring bonus for self-healing moves when very low on health was being applied to moves attacking allies, which in some circumstances could lead the AI to regain health on near-death units by attacking their allies with Feedback.
- fixed: the AI's scoring bonus for self-healing moves when very low on health was being applied even when the target was completely immune to Mental attacks, which in some circumstances could lead the AI to target objects and other things with 100% mental resistance when using Feedback.
- fixed: the AI could throw a range error when processing swim-back-to-land moves under certain circumstances.
- fixed: AI-controlled characters who were both immobilized and drowning in water or lava would nonetheless use items and skills (other than Swim).
- fixed: on certain occasions, the game could throw a key-not-found error when silently promoting an enemy in battle, causing the game to freeze.
- fixed: the promoted bronze golem's stomp animation wouldn't play on accompanying skills if they weren't facing downwards.
- fixed: the game could spawn a pop-up asking to auto-equip weapons or armor during the enemy's turn too, not just the player's.
- fixed: characters learned alternate skills from earlier on in their base class skill progressions upon promoting, resulting in characters having too many skills (and reducing diversity among promoted members of the same class).
- fixed: upon promotion, the game was overwriting the levels for any existing character skill progression, resulting in the character learning all remaining skills at once.
- fixed: the character screen always displayed 100 as the experience characters needed to level up even when characters had traits (such as Eidetic Memory) which reduce that number.
- fixed: in some rare cases, a counterattack could be processed twice (causing double damage).
- fixed: the game was not allowing objects to be thrown over other objects of the same category.
- fixed: item sacks would not collide with other units.
- fixed: fog of war tiles would not update when unequipping a torch or other Perception-affecting item.
- fixed: if an AI-controlled character blinded a player-controlled character in a fog of war map, the game would suddenly treat the AI army as if it were player-controlled for purposes of updating the fog of war, thereby revealing most of the map.
- fixed: the game was still showing the actions bar and portrait for AI-controlled characters hidden in fog of war.
- fixed: the game could show incorrect actions bar information for AI-controlled characters moving after an ally hidden by fog of war.
- fixed: the "Neutralized" status effect was missing from the localization file and causing the game to throw a null error when applied.
- fixed: the Transfer and Transfer 2 skills were causing screen shake.
- fixed: the AddStatus script action was no longer announcing the applied status effect.
- fixed: the game would still show the dialogue menu in the very first branch of dialogue even if the branch contained a HideDialogueBox action.
- fixed: characters using Light attacks and Staggering weapons could attack spiked barricades and fires without taking damage.
- fixed: due to a formatting error in the new, modifiable item attributes table, poisoned and blazing weapons were bugged and could freeze the game upon being equipped.
- fixed: on-death attacks were being applied twice, resulting in double damage (and double application of status effects) from explosive charges.
- fixed: at some point, the UI arrows had ceased appearing on reply buttons during dialogue when playing with gamepad.
- fixed: when playing with gamepad, the UI arrows were no longer appearing in their intended spots on buttons within the reserve supplies screen during deployment in battle.
- fixed: when playing with gamepad and using the reserve supplies screen during deployment in battle, the game would inappropriately shift gamepad cursor focus to the battlefield when hitting "B" to back out of an individual character inventory.
- fixed: the game was displaying character health bars when mousing over a character under an attack tile, thereby blocking the player's view of the hit chance text.
- fixed: when playing in gamepad mode, the game was pulling focus away from the confirmation window for auto-equipping newly grabbed equipment, essentially freezing the game.
- fixed: character tooltips could remain onscreen when dialogue was triggered mid-battle (particularly when playing with gamepad).
- fixed: it was possible for character tooltips to pop up over the top of the promotion screen when a character promoted in battle when playing with the gamepad.
- fixed: Lakshmi's sprites were using the wrong color for the brightest secondary highlights, resulting in the top of her shoulder on their non-crossbow-holding arm appearing red even when her secondary army colors did not include red.
- fixed: unpromoted swordsman sprites were using the wrong color for the brightest secondary highlights, resulting in the most highlighted portion of their helmet plumes appearing red even when their secondary army colors did not include red.
- fixed: promoted spearman sprites were using the wrong color for secondary highlights, resulting in the glossy bits of the top half of their tower shields appearing red even when their secondary army colors did not include red.
- fixed: promoted shadowling sprites were using the wrong color for secondary highlights, resulting in half of their mask appearing red even when their secondary army colors did not include red.
- fixed: both promoted and unpromoted cavalier sprites were using the wrong color for the brightest secondary highlights, resulting in the most highlighted portions of their flags and of the designs on their shields appearing red even when their secondary army colors did not include red.
- fixed: both promoted and unpromoted crossbowman sprites were using the wrong color for the brightest secondary highlights, resulting in the tops of the shoulders on their non-crossbow-holding arm appearing red even when their secondary army colors did not include red.
- fixed: the space selector was inappropriately snapping to bridges and other objects that lay flat when mousing above them, as though they were characters with height.
- fixed: the auto-objectives screen could appear prior to turn 0 dialogue occurring after the dismissal of the turn box.
- fixed: if a map had BeforeTurn dialogue marked as repeatable, the auto-objectives screen could cause it to re-trigger after the objectives faded, trapping the player in a loop.
- fixed: text overlays could appear beneath the auto-objectives screen.
- fixed: when selecting Restart Battle, the actions bar would reappear while fading out the scene.
- fixed: if a text overlay was onscreen when selecting Restart Battle, it would reappear while fading out the scene.
- fixed: the Coria Bridge Battle objectives mentioned keeping the camp from being destroyed even though it does not appear in that battle.
- fixed: the Coria Bridge Battle had text stating the victory condition which was now duplicative due to auto-displaying of battle objectives.
- fixed: when spawning unique proc gen units in battle via a script, the game could produce units with no gender information and throw a range error upon reaching the name generation step.
- fixed: if a character did not have a stat listed among their growths and they gained a trait altering growth for that stat, the game would ignore the growth boost entirely instead of adding that stat to the unit's growths for modification.
- fixed: the character generator was not interpreting traits with multi-operation growth effects and base stat effects correctly.
- fixed: Burning status was not being extinguished by a character being submerged in water.
- fixed: destroying a cosmetic bridge tile embedded in land via an explosive could result in a surviving unit standing on that space being "dropped" upward into the air and remaining there.
- fixed: characters could use self-move skills like Charge while immobilized.
- fixed: when using Charge against a target, ending the charge on caltrops, and killing the target, the target wouldn't get knocked back and the combat sequence wouldn't conclude, causing the game to freeze.
- fixed: upon clicking a skill, then opening the character screen and unequipping the item which grants the use of that skill, the skill's red attack tiles would remain present and clickable on the battlefield.
- fixed: switching to gamepad controls mid-game (as opposed to doing so on the title screen) would not disable the mouse.
- fixed: when auto-showing the shop tutorial in gamepad mode, the tutorial wasn't pulling focus for the gamepad cursor.
- fixed: when changing a custom string for the name of an army during a battle, the game would not update the army's name in the new turn window.
- fixed: proc gen characters with dialogue referencing their god would say "ERROR" instead of the name of their deity.
- AI fix: when scoring potential moves, the game was double-counting impact damage against a target when the target was shoved into another character even if the character they were being shoved into was an ally of the attacker, not a second enemy.
- fixed: you could lock up the game by blocking a character from moving at all during scripted movement.
- fixed: a character spawning onto the battlefield on top of a trap would not trigger the trap.
- fixed: if a character started its turn on a pressure trigger space, the game would ignore pressure triggers on the first space the character moved to.
- fixed: when killing an enemy by shoving an ally into them, if the enemy had a counterattack available, the enemy could sometimes counterattack the character who was shoved into them even though they had taken lethal damage.
- fixed: when explosive charges detonated on their own due to Burning status and thereby destroyed bridge tiles with characters on top of them, those characters would not fall fully into whatever hazards lay beneath.
- fixed incorrect palette highlight coloration for pants in the photokineticist sprite.
- fixed: the player could get assigned the wrong roster during the caravan battle prelude scene in a randomizer playthrough, resulting in them having no characters on the battlefield and thereby getting stuck in a "defeat" loop.
- fixed: during randomizer campaign playthroughs, Silithis's companions were appearing as part of the wrong army during the cutscene where she reaches Adelbrae.
- fixed: the bridge-building kit item was missing from the randomizer campaign.
- fixed: if randomizer mode unlocked while controlling the game in gamepad mode, the unlock message popup wouldn't gain gamepad focus.
Campaign creator improvements:
- new human male portrait hairstyle: balding.
- new human male portrait hairstyle: long and curly.
- new human male portrait hairstyle: neck-length and wavy.
- new human female portrait hairstyle: big and wavy.
- new script action: AddDayLog. Creates a log entry memorializing an activity, event, or battle occurring that day. Three parameters: log entry category, log entry body, and (optional) number of days passed (in case you want the log entry to reflect an occurrence on a day other than the current one). These logs are visible to the player on the calendar screen for the corresponding day.
- the character creator now automatically marks all equippable items as equipped when you save a character with a built-in inventory.
- new object: Ice Patch! Ice patches reduce dodge by 75, accuracy by 25, and cold resistance by 50; non-flying characters who move onto them become Slowed (i.e. they immediately lose half their maximum movement and simply cannot dodge at all) for 1 round.
- new special character: -SPECIES-. Gets replaced with the species of the character who triggered the dialogue.
- new special character: -CHAR2SPECIES-. Gets replaced with the species of the secondary character in the dialogue.
- you can now set one of a unit's coordinates to a valid integer number and the other to -1 to have the game try to spawn them on a random space within a specific row or column of the battlefield.
- the SetWinAura script action now supports multiple operations in one call, delimited by commas.
- new, optional third parameter for the OnTalk dialogue trigger: Enforce Positions. If set to true, this specifically requires the triggering character to be as described in the first trigger parameter (rather than letting the second talk partner take on the role of triggerer).
- new optional parameter added to SpawnUnit and the Generate-Unit-type script actions: Drop Unit. If set to true, causes the unit to drop onto their space from somewhere above the battlefield when they spawn, a la an item drop.
- added a safeguard to prevent duplicates of the same character from ever appearing in a roster.
- added support for terrain tiles with built-in status effects.
- added two new cutscene backgrounds to the game: Dese Palace Garden and Dese Palace Study.
- added new destructible object: lavender flower bush.
- added the Overheat, Lava Burn, and Crowd Booing Muffled sound effects to the assets list for use in the campaign creator.
- added the Cut, Place Caltrops 2, Place Brazier, Levitate Other, and Shockwave skill button graphics to the assets list for use in the campaign creator.
- expanded the Map Settings screen in the map editor; added a fifth objectives field.
- fixed: the game's unit-spawning, unit-generating, door manipulation, change dialogue character, and roster manipulation script actions were still missing minimum parameter checks.
- fixed: the "Black" cutscene background was not usable.
- fixed: the CastleSandstone tileset's transitions between other tilesets were not working.
- fixed: the "Sex" field for procedurally generating units in the map editor did not actually force the resulting unit to be of the specified gender if the unit was a generic.
- fixed: when generating a unique named character from a class not defined in Classes.xml using the GenerateUnique script action, if the unit's species was not specified, the game would pull a species of "ERROR," resulting in the character having no valid value for gender, which would in turn cause the game to be unable to generate a name and freeze.
- fixed: the FindClosestCharacter script action could cause the game to throw a null error if used with a list of characters to exclude that didn't actually exist.
- fixed: golems created in the character creator were not receiving the golem voice set for their babble sounds.
- fixed: the SetStringByStat script action was not accepting First Name or Last Name as valid string stats.
- fixed: if the Babble script action ran after dialogue text had finished animating (or after its animation was manually skipped by the player), then the babble sound effect would continue without end until the player continued to the next branch of the dialogue.
- fixed: swapping positions via the SwapUnitPositions script action (used in skills like Twirl) wouldn't work properly if one of the units was in a position that would ordinarily be unmovable to the other.
- fixed: template enemies in proc gen battles without specified names (e.g. the dacoits in caravan defense battles) were not being leveled up to the correct levels, making job board missions much
- easier than intended.
- fixed: template enemies in proc gen battles without specified names (e.g. the dacoits in caravan defense battles) were having their names inappropriately changed to match their load IDs.
- fixed: when multiple scripts were attached to the same skill or item, the second script would have its first action run out of order.
- fixed: if OnVictory dialogue was spawned for the enemy army, using a WinBattle action or reply to change it to a player victory would not prevent the game from showing a "Defeated" pop-up regardless.
- fixed: strings typed in by the player during dialogue could end up not displaying properly (or at all) if they used commas or quotation marks.
- fixed: on maps with more deployment slots than allowable deployed characters, players could bypass maximum deployment restrictions merely by deploying every one of their available characters.
1.0.57 (2024-05-06)
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.
1.0.56 (2024-04-26)
Miscellaneous improvements:
- parabolic movement has been completely overhauled to improve performance on slower systems. Whether it's hopping between terrain elevations, the Stone Golem's Throw skill, or the assassin's Leap, parabolic arcs no longer lag behind the other, accompanying animations on slower machines.
- the game's dodge animations have likewise been overhauled so that they, like the new parabolic animations, are driven purely by code and math rather than Unity's Animator component. This massively improves performance and ensures that there are not timing mismatches on slower systems.
- the timing of combat sequences concluding is no longer tied to a Unity camera animation, ensuring that things progress at the intended clip regardless of system power.
- received, incorporated a brand-new visual effect for Overheat!
- created a new sound effect for Overheat.
- the combat camera now pans over to the attack even if combat zoom is turned off, reducing graphical issues resulting from visual effect layering.
- reduced the height on the pop-up text animation to aid readability.
- cleaned up the timing on character "hop" animations when changing elevation.
- right-clicking rugs and other objects set to be treated as part of the floor no longer opens the character screen.
- status effect tooltips now dynamically display the actual power of the status effect conferred for those occasions where a status effect power differs from its ordinary default value.
- repositioned status effect tooltips within the character screen so the mouse cursor doesn't obscure any of the text.
- the Defending status effect can now stack in its power and is hard-coded to disappear when a unit gains a new turn or becomes Enthralled.
- a longtime request is now working in-engine: you can now create a mid-battle save on the first turn of a fight, right after deployment!
- the game now displays gameplay tips on the loading screen when transitioning scenes.
- when playing with the gamepad, switching to the actions bar with 'X' now defaults to selecting the first available skill.
- AI improvement: the AI now does a much better job of appropriately balancing the value of reaching a preferred area versus the value of moving toward a character it would like to attack (but cannot yet reach).
- AI improvement: the AI now imposes a scoring penalty for any move that would take a character who is already inside their preferred area outside of that area.
- AI improvement: reduced the minimum calculated value of usage before enemies will use items, avoiding situations where enemies won't use bandages even though it's optimal to do so.
- AI improvement: AI-controlled units now value Defending status proportionally more as they become more injured, and more based on their ability to counterattack.
Bug fixes:
- fixed: the deployment window's starting text was being overwritten by default localization values.
- fixed: the order of the Combat Zoom setting options was switched in the localization file, causing 'Attacks Only' to be interpreted as 'Off' and vice versa.
- fixed: sometimes, the tooltip for an item's Give button wouldn't show up upon mousing over it.
- fixed misaligned mouseover zones for status effect icons in the character screen.
- fixed: the counterattacks icon did not display correctly when providing in-shop explanations for why characters wanted Vengeful weapons.
- fixed: you could click an enemy to show their moveable spaces under fog of war.
- fixed: the AI could disregard a valid move onto an AreaPreference space if no valid skill targets existed within range of the destination.
- fixed: if a character was moved via a Teleport-type skill (such as Shadowport or Juxtapose), the game would not check to see if it should drop them into water, lava, or a chasm upon reaching their new position.
- fixed: you could undo after using a Move skill that also moves a second character (like Trade or Juxtapose).
- fixed: due to an oversight when implementing the new move-tracking code, the computer could fail to clear its internal list of viable moves when an enemy's attack slew a character and triggered a death monologue, which in rare cases could result in the AI proceeding with the second-ranked move without recalculating based on the updated state of the battlefield.
- fixed: the AI would get locked into an infinite loop when swimming with proc gen units generated with the Swimmer trait.
- fixed: due to recent changes in the AI code, the game would throw a null error if an enemy drowned to death at the start of the AI's turn.
- fixed: it was possible for an AI-controlled character with a preferred area tag and no viable moves to remain on the "calculate a move" list forever despite having no viable moves, thereby preventing the computer from ever ending its turn.
- fixed: if any of an AI-controlled unit's skills could affect a target worth affecting, all of that unit's skills would be marked as worth using as part of short-range moves toward a preferred area, leading to the unit potentially inappropriately attacking scenery.
- fixed: smashing an enemy up against the edge of the map could only ever deal a single tile's worth of collision damage even if using a skill with multiple tiles worth of extra knockback.
- fixed: Create skills would not function on spaces containing rugs or other objects with a true "treatAsFloor" attribute.
- fixed: door-affecting script actions such as Lock could trigger OnDoor dialogue when used in OnLoaded dialogue.
- fixed: the AI was not set to recalculate moves upon removing Inactive tags from a CPU-controlled unit mid-turn.
- fixed: under certain circumstances, dummy attack tiles shown upon mousing over an attack button could inappropriately vanish (or fail to appear at all).
- fixed: if a new turn belongs to an army with no units remaining, the game would skip to the next turn without triggering any OnTurn or BeforeTurn dialogue set to trigger on that turn.
- fixed: bridges below the level of the terrain could cause the game to use the bridge's elevation instead of the ground's for purposes of calculating movement and elevation bonuses.
- fixed: the in-battle pop up text showing experience gain from using a battle primer would scale the displayed experience against the resulting level rather than the level at the time of use, frequently resulting in it announcing less experience than was actually gained.
- fixed: a character portrait added to the left edge of the screen and that same portrait walking to the left edge of the screen would end up in positions about 5 pixels off from each other.
- fixed: on certain buttons, selecting them with the gamepad could double-invoke their methods, leading to errors (up to and including the game freezing).
- fixed: when playing with gamepad, at the very start of battle, the selector was spawning in the very top-left of the map instead of over someone in the player's army.
- fixed: actions bar button tooltips were displaying strangely in gamepad mode.
- fixed: the virtual cursor was not visible when choosing between yes or no in any in-battle warning pop-up windows.
- fixed: if an army in a battle was completely neutral by way of being allied to every other army, the game would treat them as having vanquished all enemies and immediately end the battle with them as the victor.
- AI fix: the retreat AI algorithm was not accounting for area preference or patrol tags, causing characters with no usable skills to retreat without regard for the areas they were supposed to be moving towards.
- fixed: mousing over a unit and then immediately mousing over the deployment window thereafter without ever mousing off the unit could cause the unit's mouseover tooltip to become "stuck" onscreen for a time.
- fixed: it was possible for cavaliers to charge across a path with an elevation difference of 2 or greater, just so long as they effectively charged off of the cliff rather than up it.
- fixed: in some circumstances, the game could save (and reload) past instances of generic templated units in a way that would reintroduce tags placed onto those unit types in past battles.
- fixed: changes to the code made it so generalized character death barks could again get queued in addition to specific death-triggered dialogue for the same character.
- fixed: bridges below the level of the terrain could cause the game to use the bridge's elevation instead of the ground's for purposes of calculating which spaces are moveable for a non-flying unit.
- fixed: under some circumstances where the AI had a character move and use a non-turn-ending skill, the AI could queue up further actions for the character where they moved and used a skill, but then fail to execute the "actually moving" part, resulting in the character attacking outside their normal range.
- fixed: proc gen battle map names were not being saved in the "battle start" save files used when restarting a battle, resulting in the map's internal file name displaying instead.
Campaign creator improvements:
- dialogue branches now support an attribute called "show single replies." This forces the game to show a reply button on this dialogue branch even if only a single reply remains--useful for moments when the player says or does a particular thing.
- new clothing for female human portraits: RoyalDese.
- new clothing for male human portraits: Blacksmith.
- added a new skin tone that can be used for character portraits: Ruddy Brown.
- added three new eye colors that can be used for character portraits: Aqua, Red, and Violet.
- new dialogue trigger supported: OnUnitAttacked. This works just like OnCharAttacked, except that the unit attacked does not have to be a character to trigger the dialogue. (Someone attacking a specified object, for instance, can trigger the dialogue with OnUnitAttacked.)
- new script action: AddTagToGroup. This works just like AddTagToArmy, but instead of specifying an army number, you specify an AggroGroup number. Every unit in the specified AggroGroup will receive the new tag you provide.
- new script action: RemoveTagFromGroup. This works just like RemoveTagFromArmy, but instead of specifying an army number, you specify an AggroGroup number. Every unit in the specified AggroGroup will lose whatever tag you provide.
- new optional parameter in the Deployment
- battle condition: maximum characters. This allows additional deployment spots to be placed on the battlefield without increasing the maximum number of deployable characters for the battle.
- new AI tag type supported: Patrol. This works like AreaPreference, except that it acts upon a looping sequence of areas for the character to prefer. Once the character reaches the first area in the sequence, their preference shifts to the next one, and so on.
- new option for the IfInArea-type script actions: you can now use an army in the Character Name parameter (e.g. "Army 0", Army 1", and so on) and the game will check for any character belonging to that specific army.
- new custom menu gray-out/warning type: avgLvl. Calculates the average level of the characters in the current roster and grays out the button or pops up a warning if their average level falls outside the specified range.
- the blacksmith interface now supports renaming weapons!
- it is now possible to alter a piece of equipment's name via an equipment-altering consumable using Name as the attribute to alter.
- added support for Name as an Attribute to Alter in the item editor within the campaign creation suite.
- updated the item editor's built-in guides to include Name.
- added the missing army palettes from the original Telepath Tactics (Orange and Pink) into the engine.
- the LevelUpArmy script action now works in cut scenes.
- the game can now process custom strings used as part of a scene's display name.
- new condition: Drop Items On Death. Lets you set a particular army to not drop items when a character in that army dies. Parameters: army number, drops items (boolean value--true by default).
- new script action: StripItemsFromUnit. Removes all items from the named character's inventory and places them in a roster's reserve supplies.
- new script action: AddNickname. Gives a character a new nickname to be used by a second character in dialogue. (To make it a nickname everyone uses, leave the Second Character Name parameter blank.) Parameters: Character Name, New Nickname, Second Character Name.
- new script action: HideDialogueBox. Allows you to manually hide the dialogue box during dialogue.
- new script action: ShowDialogueBox. Causes a hidden dialogue box to reappear.
- new script action: HideActionsMenu. Allows you to manually hide the actions bar during battle.
- new script action: ShowActionsMenu. Causes a hidden actions bar to reappear.
- new script action: AddTriggerCharPortrait. Adds the portrait of whatever character triggered the dialogue, without regard to whether their name is used as speaker for the current branch. Has the same parameters as AddSpeakerPortrait.
- new dialogue trigger type: OnSkillUsed. Triggers dialogue when a given skill is used. To satisfy the trigger, the skill usage must be effective in some way (i.e. not just attacking an ally or healing an enemy). Parameters: skill name, user army, and user name.
- new tag: RemoveAll. This tells the game to remove all existing tags from the unit.
- three new special string stats are supported for SetStringByStat: First Name, Last Name, and Nickname. (These are read-only, so don't try using them as a parameter with SetStat.)
- added last name as a supported attribute value for the SetStringByNPC script action.
- TargetPreference tags now support the use of custom string variables for their target name parameter.
- updated in-game documentation for the IfBioDetail-type script actions and the -BIO:X- special character with the default bio detail types.
- fixed: the "force name" feature for characters in proc gen map army groups was not being applied to units drawn from PremadeUnits.xml, only to units procedurally generated from scratch.
- fixed: bridges below the level of the terrain would cause the map editor to set the cursor elevation (and the elevation of further objects placed on the space) to the bridge's elevation instead of the ground's.
- fixed: in some circumstances, adding a row to a map could produce a null error.
- fixed a null error in the cut scene and map editors caused by the game expecting the online bug reporting component to be present.
- fixed: in some circumstances, displaying dialogue in the cut scene editor could cause a null error due to the game attempting to call the gamepad menu navigator component.
- fixed: the "force species" attribute could be used to create proc gen characters of a species not compatible with the chosen class, resulting in issues like missing portraits and sprites.
- fixed: in-game documentation for the AddNPC script action was missing the tenth parameter, Blood Relative.
- fixed: in-game documentation for the SetStringByNPC script action was missing blood relative among the supported attribute values listed.
- fixed: getting a unit's load ID via the SetStringByStat script action would return an empty string for proc gen characters. (It now returns the unit's name, which can stand in for its load ID in virtually every use case.)
- fixed: the Delete Row and Delete Column algorithms in the Map Editor were faulty, with their use potentially causing the game to lose track of where units should be until the map was reloaded.
- fixed: in the Map Editor, adding a new column to the very rightmost edge of a map would secretly cause the game to add a second column, invisibly offsetting mouseover coordinates and making the selector appear in the wrong spot when mousing over units.
1.0.54a (2024-03-18)
-
the game now has built-in bug reporting!
To use it, simply press the Report an Issue
button in the main menu during a battle or cut scene. This will open up a window where you can write what happened and submit your report to me directly! When you do this, the game will automatically generate a log and send it to me along with other relevant info so I can start tracking down the bug as soon as possible. (This works when playing with gamepad, too, via the new virtual keyboard.)
Special thanks to Ross Przybylski for his help troubleshooting the PHP back-end!
- I've further improved the shop explanation for why characters want equipment: when the reason a character wants something is stat-related, the game now lists as many as 3 stats the equipment will improve (not just 1), making it possible to compare benefits from upgraded armor at a glance.
- cleaned up the shop interface a bit: the text that notes when you've bought or sold something can no longer overlap with the page-swapping buttons, and is now far less likely to end up truncated.
- balance improvement: Umber Gnawbone's Psy is now boosted by 6 and his Energy boosted by 36 when playing on Veteran difficulty or above.
- improved the weather effects for rain.
- added some more audiovisual feedback to key presses in the virtual keyboard. Additionally, when using the virtual keyboard, the game now displays a flashing caret in the associated input text box as though the box were actually selected, making it easier to keep track of where you're typing.
- refactored some of the game's movement code to make it a bit less painful to change.
Bug fixes:
- fixed: loading a saved game with stairs mid-scene, stairs could end up counting their own saved elevation for purposes of determining base elevation before applying Elev tags, thereby raising themselves up higher than the terrain called for (and potentially making themselves untraversable in the bargain).
- fixed: height was set incorrectly for the promoted shadowling cast animation.
- fixed: height was set incorrectly for the promoted cavalier lance and charge animations.
- fixed: the Blizzard weather effect was no longer displaying properly.
- fixed: placing traps, bridges, and barricades had begun spawning spark particles after the last update.
- fixed: there were a few lines of code I had been using for testing that I forgot to turn off which set almost every proc gen character's personality type to Sensitive.
- fixed: certain text sprites (such as Regenerating, Strength, or Talkable) had faint lines appear near the edges of the image due to trilinear filtering bleed from adjacent icons in the spritesheet.
- fixed: gamepad focus on the virtual keyboard would get overriden by the underlying dialogue tree when input text was enabled in the very first branch of dialogue.
- fixed: the dialogue interface's virtual keyboard gamepad navigation was not working as intended when used in battles.
- fixed: the map editor was spawning invisible "Blank" game objects whenever new units were placed on the map; not terribly consequential, but this probably produced a small drag on performance over time.
- fixed: certain messages in the shop interface were missing localization support.
- fixed in v. 1.0.54a: a progression-blocker following the Adelbrae Battle in the Randomizer Campaign.
- fixed in v. 1.0.54a: the Protector's Tome had ceased to work properly in the Randomizer Campaign.
Campaign editor improvements:
- new script action: ShowBlacksmith. This calls up the shop interface in a brand-new "blacksmith mode", displaying weapons possessed by the group which are below their maximum uses remaining. Clicking a weapon in this mode causes it to be repaired in exchange for the repair cost (equal to the proportion of maximum uses to be replenished times the weapon's original sale price).
- the character creator now allows you to manually set the clothing used by a character portrait! This lets you give a character an outfit different from their class default. Human characters, especially, have a variety of alternative civilian clothing to choose from, enabling the creation of custom villager and merchant portraits (among other things).
- the character creator now allows you to manually set the scale of character portraits so characters will be larger or smaller when they appear in dialogue.
- improved click detection for portrait accessory and clothing buttons in their respective character creator submenus.
- new cutscene backgrounds added to the game: Blacksmith, Riverbank, Riverbank_Sunset, and Riverbank_Night.
- new Attribute to Alter supported for equipment-modifying items: Max Uses. Increases the maximum durability of a weapon.
- new Attribute to Alter supported for equipment-modifying items: Tag. Causes the item to add a tag to equipment (such as BonusDmg, ModDmgVsSpecies, ModDmgVsWeapon, ModSkillAccuracy, ModSkillKnockback, ModSkillPower, StopsCounters, etc.)
- updated the Item Editor's built-in guides to reflect the new equipment-altering attributes.
- new item graphics: Book White, Counterweight, Oil-filled Sheath, Poison Sheath, Pouch, Reinforcing Spine, Spring Shoes.
- new skill button graphics: Clothing, Pocket Sand.
- new sound effects: Boing, Hammering, Plant Rustle, PoofCloud, Water Splash Light.
- new destructible object set added to the game: Sandstone castle walls. These pair nicely with the CastleSandstone tileset added to the map editor in the last update.
- renamed the StairsLimestone destructible object set to StairsSandstone for the sake of consistency. These, too, go nicely with the CastleSandstone tileset.
- new destructible object added to the game: Puddle. Drops dodge and cold resistance for whoever stands in it while slightly raising heat resistance.
- new 3D particle effect: WaterSmall. A small splash for moving through shallow water (as opposed to the preexisting big splash used when falling into deep water).
- new trigger type added to the game: Move Over. These behave like Pressure triggers, except that they don't interrupt unit movement or clear the undo stack upon triggering. As such, they are intended purely for small, non-mechanics-related effects (particle effects, audio cues, etc.) when walking over certain spaces.
- tall grasses now make rustling noises when characters walk onto or through them.
- new optional parameter added to the PlaySound script action: pitch range. Accepts a range of positive decimal values, where 1.0 is the sound's normal pitch, values below 1.0 deepen the pitch, and values above 1.0 raise the pitch. If the parameter is used, the game will randomly choose a pitch value from within the supplied range when playing the sound effect.
- the script actions IfGoneGoTo and IfGoneRun can now find objects by their load ID.
- new special character added to the game: -ATKMOVETYPE-. This lets you check whether the current skill's move type is Normal, Parabolic, Teleport, ToTarget, WithTarget, or Special.
- fixed: the in-game documentation for SocialUnitsToList was missing the last parameter (amount).
- fixed: with the introduction of differing portrait scales for proc gen characters, the character creator could start to progressively shrink the preview portrait when cycling through different features.
- fixed a typo in the default CharAttributes file that would cause the character creator to throw a range error when trying to randomly generate character dialogue.
- fixed: deprecated palette code could sometimes cause null errors to pop up when adding certain accessories to portraits for certain characters in the character creator.
- fixed: the Jwalaa item graphic was misnamed in AssetNames, and was therefore not showing up in the item graphics browser.
1.0.53d (2024-02-24)
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.)
- in 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.
1.0.53c (2024-02-21)
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.)
- in 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.
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.
1.0.53b (2024-02-21)
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.)
- in 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.
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.