[p]Hey there, tactics fans! A few days ago, Unity posted about a newly revealed security flaw that primarily affects Android apps but which could conceivably affect other platforms as well under specific circumstances. In Windows, the exploit seems to only affect games that use functionality not used in Together in Battle--but just to be on the safe side, I've rebuilt the game anyway in a patched version that does not have this vulnerability.[/p][p][/p][p]I'm normally loathe to switch editor versions like this, as doing so can break game functionality; however, I've tested the game and haven't seen anything misbehaving. As always, if you run into any issues, please post about it in the bug report forum and I'll get it fixed post-haste! Tactically yours, Craig[/p]
Quick weapon switching, broken-weapon indicators, bug fixes, and more!
[p]Hey all! I've got another update for you with a bunch of UI improvements designed to make it easier to keep track of worn and broken weapons, as well as making weapon-swapping quicker and easier in battle. I also have some bug fixes focused primarily--but not exclusively--on gamepad. This brings us up to version 1.0.55.[/p][p]Without further ado...[/p][p][/p]
...here are the UI improvements!
[p]weapons now show a red warning icon if they're broken.[/p]
[p]weapons now show an orange warning icon if they're at 1/3rd uses remaining or less.[/p]
[p]recolored the old "new item" indicator in light green to make it stand out from the new warning indicators.[/p]
[p]the Reserve Supplies screen now shows a red warning icon over any character in a weapon-reliant class who is currently equipped with a broken weapon (or not equipped with any weapon at all).[/p]
[p]the Reserve Supplies screen now shows an orange warning icon over any character in a weapon-reliant class who is currently equipped with a weapon that is down to 1/3rd of its maximum uses or less.[/p]
[p]in battle, if a character has no weapon equipped and they have at least one equippable weapon in their inventory, the game now displays a "no weapon" warning button in the bottom-left corner of the screen. Clicking this button will have the character automatically equip a weapon.[/p]
[p]in battle, if a character has a weapon equipped and they also have alternative weapons they can equip in their inventory, the game now displays the current equipped weapon in the bottom-left corner of the screen along with two arrow buttons. Clicking this item button (or the arrow buttons) automatically cycles through the character's weapons, auto-equipping them and updating the Actions Bar (and any onscreen attack UI elements) accordingly.[/p]
[p]new hotkeys (',' and '.') now let you quickly cycle through the current selected character's equippable weapons as if you'd clicked the weapon selection arrow buttons.[/p]
[p]when playing with gamepad, the right trigger button now only acts as a shortcut for End Turn if no character is selected; if a character is selected, however, it now instead cycles the current selected character's equipped weapon as if you'd clicked the weapon selection button.[/p]
[p]updated the gamepad controls guide in the game settings menu.[/p]
[p]if a character gains a tag that alters the after-attack behavior of a skill (for example, making it so that using the skill no longer ends the turn), this is now mentioned in the text description for that skill's mouseover tooltip in dark green lettering that stands out from the skill's default description text.[/p]
[p]when a character equips a new weapon that grants a weapon skill, that weapon skill now appears all the way at the leftmost position in the skills in the actions bar.[/p]
[p]the Manage Supplies option can now be selected in town on scheduled arena match days.[/p]
[p][/p]
Miscellaneous improvements:
[p]further reduced the AI value for the Disarmed status effect to make the AI less likely to value Disarm over damage-inflicting skills.[/p]
[p][/p]
Additionally, we have new bug fixes:
[p]fixed: under some circumstances, a flying character Twirling an enemy down into water or lava off of a cliff could produce an infinite loop of the victim splashing into the liquid.[/p]
[p]fixed: when playing with gamepad, opening the army overview screen would start the cursor off over the salary icon, making it difficult to navigate down to the individual character rows. (The cursor now starts off positioned over the level/experience icon instead.)[/p]
[p]fixed: when playing with gamepad, empty character rows in the army overview screen were navigable.[/p]
[p]fixed: when playing with gamepad, the bug reports screen still opened the virtual keyboard despite the fact that there is no longer an input text field there.[/p]
[p]fixed: when playing with gamepad, the bug reports screen had certain disabled UI elements still treated as viable targets for cursor navigation.[/p]
[p]fixed: when playing with gamepad, the bug reports screen had issues with gamepad cursor alignment.[/p]
[p]fixed: a handful of inanimate destructible objects were missing their immunity to Poisoned status.[/p]
[p]fixed: Powerbot 5000 was missing its immunity to Poisoned status.[/p]
[p]fixed in version 1.0.55a: unlearned skills and masteries with "Claw" as part of their name (e.g. Claw Mastery or Claw Counterattack) left in a spriggat's skill progression were not being added to their new skill progression upon promotion (most often in cases of promotion via Book of Power), causing the character to simply never learn them.[/p]
[p]fixed in version 1.0.55a: when playing on Steamdeck, the save and main menu buttons in the deployment and victory screens appeared halfway offscreen.[/p]
[p]fixed in version 1.0.55b: in many instances during the summer palace investigation, if a character volunteered to lockpick the study drawer, the wrong name would be displayed during their dialogue.[/p]
[p]fixed in version 1.0.55b: the kineticist boss in the summer palace escape was not getting activated as intended.[/p]
[p]fixed in version 1.0.55b: the character creator was allowing custom characters to be created with a nickname identical to their first name.[/p]
[p]fixed in version 1.0.55b: the cancel button in the character creator's custom dialogue screen was partially overlapped by the Secret dialogue button.[/p]
[p]fixed in version 1.0.55b: when right-clicking a destructible object with a custom sprite, the game would fail to load the custom sprite for the character screen and would end up throwing a null error.[/p]
[p][/p]
Custom campaign contest update
[p]We now have just over 3 weeks remaining until the conclusion of our custom campaign contest! I am so excited to see what everyone's been making. 😀[/p][p]If you haven't started yet, don't worry, it's not too late--check out our video tutorial series for a guided walkthrough on making a custom campaign of your very own![/p][p][/p][p][/p][p]Annnnnnd that's it for this one, folks. Thanks to all the new players who've been trying out the game, and especially to the folks who've taken the time to leave a nice review! It makes a big difference. Until next time![/p][p][/p][p][/p][p]Tactically yours,[/p][p][/p][p]Craig[/p]
Yet more small fixes and improvements!
[p]I keep finding little things that need fixing, and so I continue to fix them! Here's what's new in version 1.0.53:[/p]
UI and other improvements:
[p]the game now gracefully handles weapon-switching while attack tiles remain visible onscreen.[/p]
[p]added in version 1.0.53a: it's now harder to kill the kineticist who calls in reinforcements in the blacksmith rescue battle when playing on difficulties above Relaxed.[/p]
[p]added in version 1.0.53b: a new unit appears in the last battle on difficulty levels above Relaxed.[/p]
[p][/p]
Bug fixes:
[p]fixed: a change to the game's code intended to let it gracefully handle missing dialogue lines in other contexts had caused it to stop generating missing response lines on the fly during camp, leading to a lot of "I don't know what to say" moments.[/p]
[p]fixed: the Reinforcing Spine item was not adding to the target weapon's max uses correctly.[/p]
[p]fixed: selecting a skill and then equipping a new weapon that retained access to the selected skill was not causing the game to update damage and to-hit-chance data reflected in the attack tiles based on the weapon's new stats.[/p]
[p]fixed: selecting a skill and then equipping a new weapon that causes the character to lose access to the selected skill (or the base skill the selected skill depends upon) was not causing the game to deselect the skill and clear its attack tiles.[/p]
[p]fixed: selecting a skill and then unequipping a weapon that grants the base skill the selected skill depends upon was not causing the game to deselect the skill and clear its attack tiles.[/p]
[p]fixed: the game was using an item's full, base value rather than its modification cost when charging the player for repairs and engravings at the blacksmith.[/p]
[p]fixed: human female hairstyle 20 had somehow lost its formatting, causing it to no longer show up.[/p]
[p]fixed: one of the snow-chasm-transition terrain tiles (snow-chasm3TipTL, to be exact) had incorrect rotation data.[/p]
[p]fixed: the game was not wiping its memory of old characters when starting a New Game Plus (as it was supposed to be), meaning that custom characters recruited in the prior playthrough would not show up again during recruitment.[/p]
[p]fixed in version 1.0.53a: when playing with gamepad controls, selecting the dialogue option to return to the shop after clicking to exit was not returning gamepad focus to the shop interface.[/p]
[p]fixed in version 1.0.53a: when playing with gamepad controls in roguelike mode, the game was inappropriately treating the gamepad as having focus on the save game button in the turn box at the start of each player turn in combat after the first.[/p]
[p]fixed in version 1.0.53a: one of the camp activity narrations for wood carving was missing a special character necessary to account for characters without male pronouns.[/p]
[p]fixed in version 1.0.53b: major plot events occurring in town in the morning (specifically those tied to the game's first bad ending) would get preempted and fail to appear if they coincided with a scheduled league match in the arena.[/p]
[p]fixed in version 1.0.53b: one of the units in the last battle was mistakenly spawned at level 38 instead of level 20.[/p]
[p][/p]
And for campaign creators:
[p]updated the moddable version of the main Together in Battle campaign with scripting fixes from the last month of updates.[/p]
[p]fixed: the character creator was overwriting character default facial expressions when filling in gaps at the conclusion of character creation.[/p]
[p]fixed in version 1.0.53a: generic gasul units with Changing gender created in the campaign editor's character creator were not being displayed correctly when spawned in battle.[/p]
[p]fixed in version 1.0.53a: the custom portrait button tooltip for generic characters in the campaign editor's character creator was being displayed on the wrong UI layer.[/p]
[p][/p][p]Until next time![/p][p][/p][p]Tactically yours, [/p][p]Craig[/p]
Painting with the developer!
[p]I'll be painting new portrait assets for Together in Battle tomorrow on Youtube at 2:00 PM Central Time. If you're free, come join me! [/p][p][/p][p]Visit the Stream[/p][p][/p][p]Now admittedly, I'm not the world's greatest multi-tasker, but I will do my best to answer questions posted in chat as I go--and I just might even take a request or two. Anything I paint will get added to the game as part of this month's free update.[/p][p][/p][p]See you there! 😉[/p][p][/p][p]--Craig[/p][p][/p][p][/p]
Update #5: new game plus, extended custom portrait support, AI improvement!
[p]Greetings, tactics fans! I'm back with more improvements to Together in Battle![/p][p][/p]
New Game Plus is now in the game!
[p][/p][p]When you get the good ending, at the conclusion of the game's end credits, you are now given the option to create a New Game Plus playthrough: "Custom Character Run." [/p][p]Selecting Custom Character Run will prompt you to select a save slot; a new playthrough will then begin in the chosen save slot with two major differences from a normal playthrough:[/p]
[p]characters of every species (not just humans, lissit, and spriggats) will be available for recruitment at the Recruiter starting on day 1.[/p]
[p]custom characters will fill as many recruitment spots as are available, and with a 100% show rate.[/p]
[p]You can use this to easily do full playthroughs with teams consisting entirely of custom characters![/p][p][/p][p][/p]
We have more in the way of custom portrait asset support:
[p]I created a layered template that players looking to paint their own custom portrait assets can use to easily match the scale, style, and default coloration of the game's own assets! Download it in your preferred format here:[/p]
[p]head layer graphics can now be customized for all species portraits, allowing modders to completely overhaul the style of proc gen character portraits from top to bottom! (To this end, heads now support img, folder, and override attributes in PortraitData, allowing people to override the game's default portrait head images with whatever their hearts desire.)[/p]
[p]custom portrait assets can now appear in randomly generated character portraits, not just portraits for custom characters.[/p]
[p]custom portrait assets can now be flagged on an individual basis so that they are used only for custom characters, and will not be chosen by the game when randomly creating portraits for proc gen characters.[/p]
[p][/p]
We have miscellaneous improvements as well:
[p]AI improvement: enemies now won't use self-buffing skills that either a) end their turn or b) apply Move Bonus unless one or more enemies are within a single turn's move-and-attack range of them. This should keep enemies from constantly using skills like Sprint and Defiant Stance when enemies are all the way across the map (i.e. when they're not very likely to be useful).[/p]
[p]if a second custom character shows up in recruitment, there is now a 10% of a third one appearing; and if that one shows up, a 5% chance of a fourth. (This change is not retroactive to existing playthroughs.)[/p]
[p]wrote new background lines for former chefs, farmers, and lawyers, plus a unique background dialogue for former farmers.[/p]
[p]wrote a new defeat response line for Disciplined characters.[/p]
[p]increased the Strength of Krodh a bit.[/p]
[p]increased the Crush Resistance of Royal Mail to 60.[/p]
[p]if the player voluntarily reduces their deck to less than the tournament minimum of 12 cards prior to entering a card tournament, the game will now allow them a chance to edit their deck to correct the issue instead of summarily ejecting them (provided that they have enough inactive cards on hand to render their deck tournament legal).[/p]
[p]if the player voluntarily reduces their deck to less than the tournament minimum of 12 cards during the "last chance to edit your deck" phase of a card tournament, the game will now catch that.[/p]
[p]gave the arena manager a more tailored response if the player picks "How exciting!" prior to the penultimate match in Gharial or Snow Leopard Leagues.[/p]
[p][/p]
We have bug fixes:
[p]fixed: lights could flicker excessively if too many Fire objects were near the edge of the arena shining on the battle background. (Unfortunately, due to Unity engine limitations, the fix for this necessitated removing flickering lights from Fire objects entirely.)[/p]
[p]fixed: under some circumstances, the game was not considering pure knockback skills (i.e. most of a kineticist's arsenal) as offensive skills, potentially leading to enemy kineticists potentially being placed too close to the player's deployment spaces in proc gen fights.[/p]
[p]fixed: if a unique custom character in the enemy army died, the game could throw a fatal error attempting to access the personality traits of generic allies when determining if they took a morale hit.[/p]
[p]fixed: getting counterattacked by a destructible object (such as a spiked barricade or ice spikes) would cause that object to become "rotated" in the game's logic, permitting it to then be backstabbed from the opposite side.[/p]
[p]fixed: the game was not displaying customized golem or spirit lines at the start of the summer palace escape map.[/p]
[p]fixed: if a character's first name was just the letter 'A' and their last name began with a vowel, the game's text processing routine would display their first name as 'An' instead of 'A' when they spoke in dialogue.[/p]
[p]fixed: there was a typo in one of the Miscellaneous Like dialogue variants for pessimistic characters.[/p]
[p]fixed: there was a typo in one of the Make Weapon camp activity narrations.[/p]
[p]fixed: the game was not serializing the individual pages of a readable book item correctly under specific circumstances.[/p]
[p]fixed: there remained a small palette error affecting Psy Clash minions.[/p]
[p][/p]
And finally, we have improvements for custom campaign creators:
[p]new Psy Clash cards can now be created (and existing ones can be edited) as part of a custom campaign! To do so, edit the CardSets.xml file that now appears when creating a custom campaign.[/p]
[p]new script action: ClearCalendar. Wipes all events off the in-game calendar.[/p]
[p]new script action: ClearCustomVariables. Wipes all custom variables; the names of any variables supplied as parameters will be exceptions.[/p]
[p]new script action: ClearLoadedChars. Wipes the game's memory of all characters previously saved.[/p]
[p]new script action: ClearReserveSupplies. Wipes all reserve supplies of any items.[/p]
[p]you can now supply -1 as the roster number for ClearRoster to clear every roster.[/p]
[p]the Custom Char % parameter of ShowRecruits now sets the % chance of getting a single custom character to show up. For a chance of more than one custom character appearing, you can now add additional Custom Char % parameters to the end, one for each additional possible custom character.[/p]
[p]the game now permits using a custom string for a scene's nextbattle property.[/p]
[p][/p]
Review progress!
[p]We've made it to 96 store page reviews, representing continued progress toward our goal of 500 reviews! 🎊[/p][p]I want to personally thank all of the people who've left nice reviews for the game so far--it really does help out. The more we have, the more likely Steam's algorithm is to show the game to new people. If you've been enjoying Together in Battle and haven't left a review yet, please make sure to write one! 🙂[/p][p][/p]
What's next?
[p]New portrait assets remain in progress. I've largely been painting these new assets myself due to the game's portrait artist going unresponsive; however, progress has been slow due to me also handling all of the...everything else.[/p][p]Well, no longer: I will be focusing on painting the new assets and getting them all out at once for a dedicated free update in July! Make sure to comment here on ][/p]
[p]head layer graphics can now be customized for all species portraits, allowing modders to completely overhaul the style of proc gen character portraits from top to bottom! (To this end, heads now support img, folder, and override attributes in PortraitData, allowing people to override the game's default portrait head images with whatever their hearts desire.)[/p]
[p]custom portrait assets can now appear in randomly generated character portraits, not just portraits for custom characters.[/p]
[p]custom portrait assets can now be flagged on an individual basis so that they are used only for custom characters, and will not be chosen by the game when randomly creating portraits for proc gen characters.[/p]
[p][/p]
We have miscellaneous improvements as well:
[p]AI improvement: enemies now won't use self-buffing skills that either a) end their turn or b) apply Move Bonus unless one or more enemies are within a single turn's move-and-attack range of them. This should keep enemies from constantly using skills like Sprint and Defiant Stance when enemies are all the way across the map (i.e. when they're not very likely to be useful).[/p]
[p]if a second custom character shows up in recruitment, there is now a 10% of a third one appearing; and if that one shows up, a 5% chance of a fourth. (This change is not retroactive to existing playthroughs.)[/p]
[p]wrote new background lines for former chefs, farmers, and lawyers, plus a unique background dialogue for former farmers.[/p]
[p]wrote a new defeat response line for Disciplined characters.[/p]
[p]increased the Strength of Krodh a bit.[/p]
[p]increased the Crush Resistance of Royal Mail to 60.[/p]
[p]if the player voluntarily reduces their deck to less than the tournament minimum of 12 cards prior to entering a card tournament, the game will now allow them a chance to edit their deck to correct the issue instead of summarily ejecting them (provided that they have enough inactive cards on hand to render their deck tournament legal).[/p]
[p]if the player voluntarily reduces their deck to less than the tournament minimum of 12 cards during the "last chance to edit your deck" phase of a card tournament, the game will now catch that.[/p]
[p]gave the arena manager a more tailored response if the player picks "How exciting!" prior to the penultimate match in Gharial or Snow Leopard Leagues.[/p]
[p][/p]
We have bug fixes:
[p]fixed: lights could flicker excessively if too many Fire objects were near the edge of the arena shining on the battle background. (Unfortunately, due to Unity engine limitations, the fix for this necessitated removing flickering lights from Fire objects entirely.)[/p]
[p]fixed: under some circumstances, the game was not considering pure knockback skills (i.e. most of a kineticist's arsenal) as offensive skills, potentially leading to enemy kineticists potentially being placed too close to the player's deployment spaces in proc gen fights.[/p]
[p]fixed: if a unique custom character in the enemy army died, the game could throw a fatal error attempting to access the personality traits of generic allies when determining if they took a morale hit.[/p]
[p]fixed: getting counterattacked by a destructible object (such as a spiked barricade or ice spikes) would cause that object to become "rotated" in the game's logic, permitting it to then be backstabbed from the opposite side.[/p]
[p]fixed: the game was not displaying customized golem or spirit lines at the start of the summer palace escape map.[/p]
[p]fixed: if a character's first name was just the letter 'A' and their last name began with a vowel, the game's text processing routine would display their first name as 'An' instead of 'A' when they spoke in dialogue.[/p]
[p]fixed: there was a typo in one of the Miscellaneous Like dialogue variants for pessimistic characters.[/p]
[p]fixed: there was a typo in one of the Make Weapon camp activity narrations.[/p]
[p]fixed: the game was not serializing the individual pages of a readable book item correctly under specific circumstances.[/p]
[p]fixed: there remained a small palette error affecting Psy Clash minions.[/p]
[p][/p]
And finally, we have improvements for custom campaign creators:
[p]new Psy Clash cards can now be created (and existing ones can be edited) as part of a custom campaign! To do so, edit the CardSets.xml file that now appears when creating a custom campaign.[/p]
[p]new script action: ClearCalendar. Wipes all events off the in-game calendar.[/p]
[p]new script action: ClearCustomVariables. Wipes all custom variables; the names of any variables supplied as parameters will be exceptions.[/p]
[p]new script action: ClearLoadedChars. Wipes the game's memory of all characters previously saved.[/p]
[p]new script action: ClearReserveSupplies. Wipes all reserve supplies of any items.[/p]
[p]you can now supply -1 as the roster number for ClearRoster to clear every roster.[/p]
[p]the Custom Char % parameter of ShowRecruits now sets the % chance of getting a single custom character to show up. For a chance of more than one custom character appearing, you can now add additional Custom Char % parameters to the end, one for each additional possible custom character.[/p]
[p]the game now permits using a custom string for a scene's nextbattle property.[/p]
[p][/p]
Review progress!
[p]We've made it to 96 store page reviews, representing continued progress toward our goal of 500 reviews! 🎊[/p][p]I want to personally thank all of the people who've left nice reviews for the game so far--it really does help out. The more we have, the more likely Steam's algorithm is to show the game to new people. If you've been enjoying Together in Battle and haven't left a review yet, please make sure to write one! 🙂[/p][p][/p]
What's next?
[p]New portrait assets remain in progress. I've largely been painting these new assets myself due to the game's portrait artist going unresponsive; however, progress has been slow due to me also handling all of the...everything else.[/p][p]Well, no longer: I will be focusing on painting the new assets and getting them all out at once for a dedicated free update in July! Make sure to comment here on the Steam forums, ][/p]
[p]head layer graphics can now be customized for all species portraits, allowing modders to completely overhaul the style of proc gen character portraits from top to bottom! (To this end, heads now support img, folder, and override attributes in PortraitData, allowing people to override the game's default portrait head images with whatever their hearts desire.)[/p]
[p]custom portrait assets can now appear in randomly generated character portraits, not just portraits for custom characters.[/p]
[p]custom portrait assets can now be flagged on an individual basis so that they are used only for custom characters, and will not be chosen by the game when randomly creating portraits for proc gen characters.[/p]
[p][/p]
We have miscellaneous improvements as well:
[p]AI improvement: enemies now won't use self-buffing skills that either a) end their turn or b) apply Move Bonus unless one or more enemies are within a single turn's move-and-attack range of them. This should keep enemies from constantly using skills like Sprint and Defiant Stance when enemies are all the way across the map (i.e. when they're not very likely to be useful).[/p]
[p]if a second custom character shows up in recruitment, there is now a 10% of a third one appearing; and if that one shows up, a 5% chance of a fourth. (This change is not retroactive to existing playthroughs.)[/p]
[p]wrote new background lines for former chefs, farmers, and lawyers, plus a unique background dialogue for former farmers.[/p]
[p]wrote a new defeat response line for Disciplined characters.[/p]
[p]increased the Strength of Krodh a bit.[/p]
[p]increased the Crush Resistance of Royal Mail to 60.[/p]
[p]if the player voluntarily reduces their deck to less than the tournament minimum of 12 cards prior to entering a card tournament, the game will now allow them a chance to edit their deck to correct the issue instead of summarily ejecting them (provided that they have enough inactive cards on hand to render their deck tournament legal).[/p]
[p]if the player voluntarily reduces their deck to less than the tournament minimum of 12 cards during the "last chance to edit your deck" phase of a card tournament, the game will now catch that.[/p]
[p]gave the arena manager a more tailored response if the player picks "How exciting!" prior to the penultimate match in Gharial or Snow Leopard Leagues.[/p]
[p][/p]
We have bug fixes:
[p]fixed: lights could flicker excessively if too many Fire objects were near the edge of the arena shining on the battle background. (Unfortunately, due to Unity engine limitations, the fix for this necessitated removing flickering lights from Fire objects entirely.)[/p]
[p]fixed: under some circumstances, the game was not considering pure knockback skills (i.e. most of a kineticist's arsenal) as offensive skills, potentially leading to enemy kineticists potentially being placed too close to the player's deployment spaces in proc gen fights.[/p]
[p]fixed: if a unique custom character in the enemy army died, the game could throw a fatal error attempting to access the personality traits of generic allies when determining if they took a morale hit.[/p]
[p]fixed: getting counterattacked by a destructible object (such as a spiked barricade or ice spikes) would cause that object to become "rotated" in the game's logic, permitting it to then be backstabbed from the opposite side.[/p]
[p]fixed: the game was not displaying customized golem or spirit lines at the start of the summer palace escape map.[/p]
[p]fixed: if a character's first name was just the letter 'A' and their last name began with a vowel, the game's text processing routine would display their first name as 'An' instead of 'A' when they spoke in dialogue.[/p]
[p]fixed: there was a typo in one of the Miscellaneous Like dialogue variants for pessimistic characters.[/p]
[p]fixed: there was a typo in one of the Make Weapon camp activity narrations.[/p]
[p]fixed: the game was not serializing the individual pages of a readable book item correctly under specific circumstances.[/p]
[p]fixed: there remained a small palette error affecting Psy Clash minions.[/p]
[p][/p]
And finally, we have improvements for custom campaign creators:
[p]new Psy Clash cards can now be created (and existing ones can be edited) as part of a custom campaign! To do so, edit the CardSets.xml file that now appears when creating a custom campaign.[/p]
[p]new script action: ClearCalendar. Wipes all events off the in-game calendar.[/p]
[p]new script action: ClearCustomVariables. Wipes all custom variables; the names of any variables supplied as parameters will be exceptions.[/p]
[p]new script action: ClearLoadedChars. Wipes the game's memory of all characters previously saved.[/p]
[p]new script action: ClearReserveSupplies. Wipes all reserve supplies of any items.[/p]
[p]you can now supply -1 as the roster number for ClearRoster to clear every roster.[/p]
[p]the Custom Char % parameter of ShowRecruits now sets the % chance of getting a single custom character to show up. For a chance of more than one custom character appearing, you can now add additional Custom Char % parameters to the end, one for each additional possible custom character.[/p]
[p]the game now permits using a custom string for a scene's nextbattle property.[/p]
[p][/p]
Review progress!
[p]We've made it to 96 store page reviews, representing continued progress toward our goal of 500 reviews! 🎊[/p][p]I want to personally thank all of the people who've left nice reviews for the game so far--it really does help out. The more we have, the more likely Steam's algorithm is to show the game to new people. If you've been enjoying Together in Battle and haven't left a review yet, please make sure to write one! 🙂[/p][p][/p]
What's next?
[p]New portrait assets remain in progress. I've largely been painting these new assets myself due to the game's portrait artist going unresponsive; however, progress has been slow due to me also handling all of the...everything else.[/p][p]Well, no longer: I will be focusing on painting the new assets and getting them all out at once for a dedicated free update in July! Make sure to comment here on ][/p]
[p]head layer graphics can now be customized for all species portraits, allowing modders to completely overhaul the style of proc gen character portraits from top to bottom! (To this end, heads now support img, folder, and override attributes in PortraitData, allowing people to override the game's default portrait head images with whatever their hearts desire.)[/p]
[p]custom portrait assets can now appear in randomly generated character portraits, not just portraits for custom characters.[/p]
[p]custom portrait assets can now be flagged on an individual basis so that they are used only for custom characters, and will not be chosen by the game when randomly creating portraits for proc gen characters.[/p]
[p][/p]
We have miscellaneous improvements as well:
[p]AI improvement: enemies now won't use self-buffing skills that either a) end their turn or b) apply Move Bonus unless one or more enemies are within a single turn's move-and-attack range of them. This should keep enemies from constantly using skills like Sprint and Defiant Stance when enemies are all the way across the map (i.e. when they're not very likely to be useful).[/p]
[p]if a second custom character shows up in recruitment, there is now a 10% of a third one appearing; and if that one shows up, a 5% chance of a fourth. (This change is not retroactive to existing playthroughs.)[/p]
[p]wrote new background lines for former chefs, farmers, and lawyers, plus a unique background dialogue for former farmers.[/p]
[p]wrote a new defeat response line for Disciplined characters.[/p]
[p]increased the Strength of Krodh a bit.[/p]
[p]increased the Crush Resistance of Royal Mail to 60.[/p]
[p]if the player voluntarily reduces their deck to less than the tournament minimum of 12 cards prior to entering a card tournament, the game will now allow them a chance to edit their deck to correct the issue instead of summarily ejecting them (provided that they have enough inactive cards on hand to render their deck tournament legal).[/p]
[p]if the player voluntarily reduces their deck to less than the tournament minimum of 12 cards during the "last chance to edit your deck" phase of a card tournament, the game will now catch that.[/p]
[p]gave the arena manager a more tailored response if the player picks "How exciting!" prior to the penultimate match in Gharial or Snow Leopard Leagues.[/p]
[p][/p]
We have bug fixes:
[p]fixed: lights could flicker excessively if too many Fire objects were near the edge of the arena shining on the battle background. (Unfortunately, due to Unity engine limitations, the fix for this necessitated removing flickering lights from Fire objects entirely.)[/p]
[p]fixed: under some circumstances, the game was not considering pure knockback skills (i.e. most of a kineticist's arsenal) as offensive skills, potentially leading to enemy kineticists potentially being placed too close to the player's deployment spaces in proc gen fights.[/p]
[p]fixed: if a unique custom character in the enemy army died, the game could throw a fatal error attempting to access the personality traits of generic allies when determining if they took a morale hit.[/p]
[p]fixed: getting counterattacked by a destructible object (such as a spiked barricade or ice spikes) would cause that object to become "rotated" in the game's logic, permitting it to then be backstabbed from the opposite side.[/p]
[p]fixed: the game was not displaying customized golem or spirit lines at the start of the summer palace escape map.[/p]
[p]fixed: if a character's first name was just the letter 'A' and their last name began with a vowel, the game's text processing routine would display their first name as 'An' instead of 'A' when they spoke in dialogue.[/p]
[p]fixed: there was a typo in one of the Miscellaneous Like dialogue variants for pessimistic characters.[/p]
[p]fixed: there was a typo in one of the Make Weapon camp activity narrations.[/p]
[p]fixed: the game was not serializing the individual pages of a readable book item correctly under specific circumstances.[/p]
[p]fixed: there remained a small palette error affecting Psy Clash minions.[/p]
[p][/p]
And finally, we have improvements for custom campaign creators:
[p]new Psy Clash cards can now be created (and existing ones can be edited) as part of a custom campaign! To do so, edit the CardSets.xml file that now appears when creating a custom campaign.[/p]
[p]new script action: ClearCalendar. Wipes all events off the in-game calendar.[/p]
[p]new script action: ClearCustomVariables. Wipes all custom variables; the names of any variables supplied as parameters will be exceptions.[/p]
[p]new script action: ClearLoadedChars. Wipes the game's memory of all characters previously saved.[/p]
[p]new script action: ClearReserveSupplies. Wipes all reserve supplies of any items.[/p]
[p]you can now supply -1 as the roster number for ClearRoster to clear every roster.[/p]
[p]the Custom Char % parameter of ShowRecruits now sets the % chance of getting a single custom character to show up. For a chance of more than one custom character appearing, you can now add additional Custom Char % parameters to the end, one for each additional possible custom character.[/p]
[p]the game now permits using a custom string for a scene's nextbattle property.[/p]
[p][/p]
Review progress!
[p]We've made it to 96 store page reviews, representing continued progress toward our goal of 500 reviews! 🎊[/p][p]I want to personally thank all of the people who've left nice reviews for the game so far--it really does help out. The more we have, the more likely Steam's algorithm is to show the game to new people. If you've been enjoying Together in Battle and haven't left a review yet, please make sure to write one! 🙂[/p][p][/p]
What's next?
[p]New portrait assets remain in progress. I've largely been painting these new assets myself due to the game's portrait artist going unresponsive; however, progress has been slow due to me also handling all of the...everything else.[/p][p]Well, no longer: I will be focusing on painting the new assets and getting them all out at once for a dedicated free update in July! Make sure to comment here on the Steam forums, on Discord[TAG-260], and elsewhere with all of your requests for new clothing, accessories, masks, hats, etc. and I'll do my best to get them in![/p][p]Beyond that, I also have one more game mode up my sleeve. Here is my pledge to you: if we can make it to 150 Steam reviews at 90% positive or above, I will release a new PVP Skirmish mode as an additional free update. You have my word on that![/p][p][/p][p]Okay, folks: that's all I've got for now. Until next time...[/p][p][/p][p]Tactically yours,[/p][p]Craig[/p]
Update #4: easy character sharing, custom portrait modding, and more!
[p]Greetings, tactics fans! Did you think I was done making improvements to Together in Battle? I hope not, 'cause I wasn't! I'm still out here, running myself ragged to get requested new features into the game.[/p][p][/p]
Let's start with the first big improvement: easy sharing of custom characters!
[p]custom characters can now be exported as text, allowing easy sharing between players! No more having to email your CustomCharacters.xml file--just click the Export button and voila:[/p][p][/p][p][img src="https://clan.akamai.steamstatic.com/images/37433648/88aca34c7393450806285f0f6cdf2b197cad406b.gif"][/p][p][/p]
[p]by that same token, characters can now be imported from text as well. It's as easy as this! [/p][p][/p][p][img src="https://clan.akamai.steamstatic.com/images/37433648/a5902bf98182808b8a49bf40437c9aa64380d77e.gif"][/p]
[p][/p]
Big improvement #2: custom portrait assets are now supported!
[p]as you might have noticed in that last gif, character portraits can now make use of custom clothing, eyes, noses, hair, accessories, and more. The only limit is your imagination! Here, for instance, is a noseless abomination inspired by the recent FFT announcement:[/p]
[p]here's how it works: create custom portrait assets and save them in an appropriate subfolder of Documents > My Games > Together in Battle > Mods > _Common > Portraits. Next, provide information that the game can use to tell what type of asset it is (an eye? a nose? a hat?); the image's name and location; the types of character portraits it's compatible with; its size and positioning; and voila! Just like that, the game's character creation tools will automatically detect your new assets and allow you to use them in portraits with a single click! 🙂[/p]
[p]using this new feature, modders can create--and you can download--new hair, eyes, mouths, noses, accessories, etc. for every single custom character portrait in the game. [/p]
[p]the game will dynamically load custom portrait asset data from every single XML file containing the term "PortraitData" that it can find in Documents > My Games > Together in Battle > Mods > _Common > Portraits, so you can easily collect custom portrait assets from multiple sources and the game will be able to recognize them all.[/p]
[p]This feature was slow and painful to implement due to Past Craig hard-coding dang near every single thing to do with the character portraits, but the Bonus Good News is that now that it's been reworked, new portrait assets should be a lot smoother for Future Craig to integrate into the game going forward! You can expect that in a future update. 😉[/p][p][/p]
We've got smaller miscellaneous improvements as well:
[p]when a character dies, all of the items in their inventory (except for personal items) are now automatically transferred to the reserve supplies.[/p]
[p]gasul are now sturdier to make them better serve their hybrid role as front-liner. The gasul class's base health has been increased by 5; they now get an extra Strength or Health stat proficiency in their early skill progression; and protector and prophet bonus health has been increased by 5 and 6, respectively.[/p]
[p]added an alternative way to uncover the Wailling quest line, making it much easier for players to find![/p]
[p]updated some of the dialogue in the initial thief attack battle to make it clear that the reinforcements in the south will move and attack as soon as they spawn.[/p]
[p]wrote new, distinct defeat reaction lines for arrogant, blunt, friendly, loyal, narcissistic, religious, and vindictive characters, giving a bit more individuality to characters reacting to their friends and lovers falling in battle.[/p]
[p]added class descriptions for bespoke enemy and NPC classes to the character screen:[/p]
[p]updated the Bowmaster's extended class description, which had become outdated and decidedly unhelpful.[/p]
[p]clarified the tooltip descriptions for Kinetic Gust, Kinetic Pull, and Grapple Pull.[/p]
[p]more enemies now appear in the first random bandit battle if it occurs once the player has gotten midway through Duomensis. This should make it less of a dull pushover if it triggers later in the game.[/p]
[p][/p]
Next, we've got bug fixes:
[p]fixed: the Pyro Hail sound effect was too loud by about 6 decibels.[/p]
[p]fixed: impact damage against the edge of the map was still using the old formula, resulting in inappropriately high damage amounts compared to collisions with other characters or terrain.[/p]
[p]fixed: the enemy in the recruitment duel event was being leveled twice--once during the event dialogue, then again at the start of the subsequent battle. This meant that if the player inspected the character prior to accepting the duel, they would see them as significantly lower level than they actually ended up being in the duel.[/p]
[p]fixed: using Levitate Other on a character submerged in water or lava would change their move type to Flying but would not actually lift them out of the liquid, making them impossible to move.[/p]
[p]fixed: it was possible to learn about the summer palace without having the relevant variable set to let the player actually recall it during the evidence-recounting scene.[/p]
[p]fixed: if the altar puzzle wasn't solved but a character had the Strangely Cut Gem in their inventory, the Strangely Cut Gem would get permanently stuck in that character's inventory. (Under these circumstances, the game now pulls it into the reserve supplies so it can be sold.)[/p]
[p]fixed: non-hot-tempered characters could be generated with the hot-tempered defeat reaction line.[/p]
[p]fixed: shadowlings (who do not have legs) could get a cavosphere camp activity narration that described them as dashing and kicking.[/p]
[p]fixed: a character's class name could get cut off in the character screen mouseover tooltip if it was too long.[/p]
[p]fixed some inconsistent spelling of Dayaan's name during the earliest stages of the investigation plotline.[/p]
[p]fixed: changing a golem from one type to another (stone to bronze, or vice versa) in the custom character creator would mess up the portrait's stored body data for that character.[/p]
[p]fixed: golem portraits in the custom character creator could cover up some of the buttons used to change portrait elements.[/p]
[p]fixed: the page selector buttons for the clothing selection subwindow in the custom character creator weren't working.
[/p]
And last but not least, as if custom portrait assets wasn't enough, we have even more goodies for custom campaign makers!
[p]added hats, glasses, and masks to the accessories window in the custom character creator in the campaign creation suite, putting it on par with the portrait maker for custom characters on the title screen.[/p]
[p]when the game starts up, if it doesn't find a Portraits subfolder in Mods > _Common, it now creates it and saves a copy of a file called CustomPortraitAssetsExplainer.xml with a detailed explanation and examples for how to format PortraitData.xml files to accompany custom portrait assets.[/p]
[p]new script action: StoreItem. This will find the named item for a specific character (or among all characters in a specified army or roster) and store it in a specified roster's reserve supplies.[/p]
[p]added a new optional parameter to the StripItemsFromUnit action: include personal items. (If not set to true, personal items will remain with the unit even as all other items are stripped.)[/p]
[p]when creating a bespoke class in a character not present in Classes.xml, you can now add a short tooltip description to it by adding a vertical bar and then writing out the description in the unit's charClass attribute in PremadeUnits.xml. This description will show up when the player mouses over a character's class in the character screen.[/p]
[p][/p]
More progress on reviews!
[p]We're now sitting at 83 store page reviews, which is awesome--however, we still need a lot more if we're going to hit our goal of 500 reviews. [/p][p]For those who don't know, 500 reviews is a major milestone that Steam's algorithm uses when deciding whether to show a game to more people. If you've been playing Together in Battle and enjoying yourself, please leave a review letting everyone know what you think. It really does help out a lot! 😉[/p][p][/p]
New coverage: "One of the finest TRPGs that I've ever played"
[p]Since our last update, Together in Battle has been the subject of another review, this time by RPG Youtuber Adam the Fanatic! I can't embed it here, but I can quote it:[/p][p][/p][p]“One of the finest TRPGs that I've ever played: art and music is great, the storytelling is excellent, and the gameplay is nothing short of brilliant....9.7 out of 10.” [/p][p][/p][p]The full video is linked below--check it out![/p][p][/p][p][dynamiclink href="https://youtu.be/GJ5nAqyYMGs?si=Ryo2zy2OZFU0cYBE"][TAG-280][/p]
Conclusion
[p]With the new character importing/exporting and custom portrait asset features in place, I'll be finishing up our new game mode, getting together new portrait assets, and just generally ensuring that the next update is as big and juicy as possible. [/p][p][/p][p]Until then, I will continue to read all of your comments here on the Steam forums, on Discord, and throughout the internet with an eye to improving the game as much as possible. Until next time! [/p][p][/p][p]Tactically yours, [/p][p]Craig[/p]
Update #3: nets, calendar saves, custom character opponents, new palettes!
Greetings, tactics fans! I'm here with another update full of balance improvements, fun new stuff, some extra quality of life, and some important bug fixes. This is a much meatier update than the past two (which were fairly minor), so I've taken the liberty of jumping the version number ahead to v. 1.0.10.
Without further ado, let's get to the changes!
Let's start with a big quality-of-life feature:
when playing with manual saving enabled, you can now access the save menu on the calendar screen at the beginning of each day in addition to the start of each turn during battles! This allows you to save in alternate slots (and later, to reload to a recent point) even if something goes wrong on a day without a fight.
I'm also continuing to tweak balance among the game's classes based on player feedback, including a promised addition to the barudit repertoire: nets!
added Weighted Nets to the game! These equip to the off hand, granting a 5% Dodge boost and the skill Throw Net; usable by characters with net mastery.
new skill: Throw Net. It has very low damage and only a 75% chance to hit, but possesses a 100% base chance of causing both Immobilized and Disarmed if it does. Furthermore, it doesn't end the turn.
proc gen barudit now have a 1-in-3 chance to spawn with a weighted net in their inventory.
the Wyrm advanced class now gets +1 range on Throw Net, giving them a bit more flexibility in locking down enemies to make up for their comparative lack of defensive bulk.
buffed promoted bronze golems to make them more competitive with their stone bretheren. Titans now gain an extra 10 bonus health (+36, up from +26), +3 to Strength (up from +2), +2 to counterattack limit, two different counterattacks (Spin Saw and Spin Saw 2), and can use Hold for a mere 1 energy. This allows them to lock down areas, soak damage, and retaliate against held enemies. As for Colossi, they now gain +9 Strength (up from +5) and can use Engine Boost for only 3 energy, making them more viable as offensive front-liners.
Berserkers now learn Berserk, giving them a fun new tool to make up for the added masteries they pass up.
new skill: Berserk. Buffs the user's movement by 25% and strength by 20% for the turn.
We have more options for custom characters!
created six new skin tones usable for custom human portraits (but which will never be chosen in proc gen portraits): green, red, blue, purple, black, and white.
created eight new skin tones usable for custom lissit portraits (but which will never be chosen in proc gen portraits): seafoam, blue, violet, red, yellow, white, gray, and black.
created three new colors for lissit spines in custom portraits: pink, light pink, and light blue.
new dialogue lines are now customizable in the custom character creator: info response lines (i.e. lines responding to new information about an ally), sad info response lines (used when an ally reveals something sad about themselves), and hobby info response lines (used when an ally talks about their hobby).
added new hat, glasses, and face mask layers to character portraits in anticipation of adding a bunch of glasses, masks, and hat options to the custom character creator. (There's more to come on this front--stay tuned! 😉)
Next, we have more miscellaneous additions and improvements!
the biggest news on this front is a new arena condition: Custom Character Enemy. When this condition is chosen, one of your unrecruited custom characters shows up on the enemy team to fight you!
at the Trainer, the cost to train a character's health at any given stat level now reduces relative to their current overall level. (For instance, a level 1 character with 24 Health will pay full price to train Health; but a level 20 character with 24 Health will pay significantly less.)
further reduced the difficulty of the Monkey League Qualifier on sub-Brutal difficulties due to the frequency with which new players were still getting absolutely creamed by it.
when randomly challenged in the streets, you can now inspect the challenger before deciding whether or not to duel them.
the stand-in values that the game uses to boost Strength for generic units in weapon-dependent classes not spawned with an equipped, droppable weapon are now more granular, smoothing the ramp-up in enemy strength among basic physical classes in the arena.
added an eighth riddle for caverns.
added little extra blurbs to the good ending based on the player's final choice.
increased the minimum healthy roster size for the smuggler's den event to potentially get chosen from 6 to 8.
added a bit of extra text to the objectives screen in Battle in the Smuggler's Den to reiterate that this is a battle where you're expected to retreat at the end.
added a bit of extra text to the event narration in Battle in the Smuggler's Den to emphasize that the escape point is the exact same point your characters spent the first 8 rounds of the fight dropping in on.
reduced the intensity of the point light over the escape point in Battle in the Smuggler's Den to make the objective reticle stand out more.
in the Battle in the Smuggler's Den, when an enemy says "Ahaha, here we come! I hope you're ready to die," the game now follows up by explicitly telling the player that a whole lot of enemy reinforcements are about to flood into the cavern.
adjusted the AI somewhat in the final battle to ensure that the final boss doesn't recklessly move far out ahead of their minions.
new dialogue line type: hobby response! Characters are now generated with one of more than two dozen new dedicated response lines reacting to dialogue about another character's hobbies. (This is the first of a few planned steps intended to make character response lines more reactive to what they're being told.)
if a character says something that demands a response line of a type a character doesn't have, the game now attempts to generate an appropriate response line for the responding character on the fly.
created a new Unlock Door skill button graphic that makes it more obvious what the skill does at a glance, without having to read the tooltip.
wrote a few more loading screen tips.
added detailed descriptions of all the game's status effects to the in-game glossary, cross-linked with entries to relevant stats and related status effects for easy reference!
We have a bunch of bug fixes!
fixed: a scripting mistake in the first event in the Vindictive character quest chain was keeping the second character's portrait from showing up, and potentially causing the game to throw an error and lock up when it tried to move the portrait.
fixed: due to a scripting oversight, winning the championship fair and square was leading directly to a bad ending.
fixed: if payday occurred on the same night as a scheduled evening plot event but the player didn't make payroll, it would cause the game to skip over the evening event in favor of having their characters react to not getting paid, potentially locking the player out of continuing the main investigation.
fixed: an invisible raycast-blocking layer in the character inventory subwindow of the reserve supplies screen had not been adjusted to account for the window's reduced size as of version 1.0, meaning that players could not click the fourth row of reserve items or drag items into the reserve supplies in that area so long as the character inventory window was open beneath it.
fixed: enemies in Battle with the Steel Bandits would continually attack their own furniture and castle walls to try to clear paths to the player.
fixed: due to me forgetting to turn off a special condition used for testing custom characters, custom characters were appearing during recruitment at higher-than-intended rates. (Their current chances of appearing in recruitment are now 90% for one custom character and 45% for two.)
fixed: spirits could be generated with the Religious personality trait despite not being generated with any bio details (including religion and deity), ensuring that their various lines were not generated correctly.
fixed: main gauches were pulling their attributes from the Shields pool instead of their own.
fixed: golems and spirits could be chosen as partners for certain two-character activities (most notably playing sports and playing games).
fixed: Grape Shot was not alerting the guards in the Blacksmith Rescue map.
fixed: the game was never bringing up the objectives screen at the start of the Battle in the Smuggler's Den.
fixed: when playing in roguelike mode, even though the restart battle button was grayed out, clicking it would still restart the battle.
fixed: the army-wide danger zone function (a.k.a. the Q key) wasn't accounting for offensive knockback skills without baked-in damage (like Shove or Kinetic Gust) the way that simply clicking individual enemies was.
fixed: when playing with gamepad, if a character wandered into a snare trap and became stunned, the character could still be rotated.
fixed: when playing with gamepad, if character dialogue was initiated during camp, opening a different menu would cause the game to not return focus to the dialogue window afterward.
fixed: when playing with gamepad, the gamepad would lose focus upon winning a game of Psy Clash.
fixed a graphical issue with human nose variant 14.
And finally, we have fixes, improvements, and new capabilities for the campaign creation suite!
the map editor now allows direct, one-click placement of destructible objects onto other objects with a passability of "All" (e.g. puddles, rugs, and so on), so long as the object being placed doesn't also have a passability of All.
new script actions: IfAggroRun and IfAggroGoTo. If the named character is free of Passive, Immobile, and Inactive tags, then either run (a) script(s) or go to a specified dialogue branch.
new script action: SetValByAvgLvl. Gathers all of the characters in the specified roster (or, if in battle, the specified army) and uses it to set a custom integer variable. Parameters: variable name, operation type, and roster or army number.
new script action: LoadBark. Like LoadConv, but instead it initiates a combat bark for a specified unit.
new optional parameter added to the end of ShowRecruits: Custom Character % Chance, an integer from 0 to 100 representing the percentage chance of a single custom character appearing in recruitment. (The chance of a second custom character appearing will be half that amount.) This allows you to let the player recruit custom characters during recruitment in your own campaigns!
new tag added: Guard. The tagged character, when controlled by AI, will stay close to and try to protect a second, named character as if that character had a Protect Char condition attached to them. (Note: this feature is in alpha and has not been thoroughly tested yet.)
the stand-in values that the game uses to boost Strength for generic units in weapon-dependent classes not spawned with an equipped, droppable weapon are now customizable on a per-class basis in Classes.xml (via the new defaultStrBonusesAtLvls attribute).
completely rewrote the game's palette-swapping code to extract the game's various army and sprite palettes from hard code and make them moddable as part of XML.
fixed: deleting an action on the second page of a dialogue branch's actions in the dialogue editor would inappropriately affect the corresponding action slot on the first page.
fixed: the map editor could inappropriately register mouse clicks when using the dialogue editor as also affecting the tiles beneath the dialogue editor.
fixed: the character creator in the campaign creation suite was not saving certain, newer character attributes (relevant in cases where they were edited by hand and the character was loaded back up into the editor).
fixed: StripItemsFromUnit was causing a "key not found" error when used in battle and transferring items to reserve supplies for a roster that had not yet been established.
79 reviews! 🎉
Three weeks in, and we're continuing our steady march toward our goal of 500 reviews. A big shout-out and a sincere thank you to everyone who's taken the time to leave a review so far--it really does help! If we keep this up, we'll eventually hit a threshold where Steam's algorithm starts showing Together in Battle to a much wider audience. If you're enjoying the game and you haven't left a review yet, please don't be shy: every store review helps! 🙂
Yet more coverage!
Speaking of reviews: since our last update, we've received not one, but two massive reviews of approximately one hour and five minutes length each!
The first of these comes from strategy RPG Youtube luminary Titanium Legman, who looks back on 80 hours of playing Together in Battle in roguelike mode, noting that he's still mastering the game's mechanics dozens of hours in. He says: "I think anyone who enjoys a deep, robust turn-based strategy RPG, turn-based tactics, however you want to call it, style game--whoever wants to enjoy an experience that actually has meat on its bones in this genre--owes it to themselves to check this one out."
The other review comes from Coffee Potato, a Tactics Ogre Youtuber of some reknown. CP also had some very nice things to say, such as: "It is incredible how much they packed into this thing." "The amount of systems interacting here is beautiful!" "I love that this thing even has its own card game. They just decided one day to take a look at everything someone would have wanted in an SRPG and they were just like, 'Yes, check every box.'" "It's just a work of art, frankly."
Going forward, Titanium Legman has announced his intention to stream the game--and in fact, he's put out a call for folks to contribute custom characters toward his run, so feel free to send him some of your fun creations! 🙂
And while we're on the topic of streaming Together in Battle: the Nihil SRPG channel will be starting a Thursday-night series streaming Together in Battle beginning this week at 7 PM Central Time! I'll be joining these streams as a cohost, which should be a fun time for all involved. I encourage folks to come by and say hello!
What's next?
I keep mentioning a new game mode; that didn't quite make it into this update, unfortunately, as I needed to push the update earlier than intended due to a few more serious bug reports this past week. That said, it is still in the offing for the near future! I also have plans to expand the available clothing and accessories for custom characters, add support for sprite palette swapping on lissit characters, and more.
As always, please let me know what you liked in this update, what sort of things you'd like to see more of, and any issues you might run into here on the Steam forums, on Discord, et cetera.
Until next time, folks!
Tactically yours,
Craig
Post-launch update #2: more fixes, tweaks, and QOL!
Greetings, tactics fans! It's now been 8 days since we hit version 1.0; I've been dutifully collecting your bug reports and squishing them all (the bugs, not the reports) one by one. The result: we have a second patch!
First, let's talk UI improvements:
as a convenience, the shop now accounts for units temporarily absent from the group when showing what equipment your characters can use, who wants what, and why. You no longer need to remember what equipment your absent characters use or cross-reference the army overview.
fixed a long-standing UI annoyance where using a hotkey to select an attack would cause all of the red attack tiles to spawn in blank even if one of them spawned directly beneath the mouse cursor, forcing the player to move the mouse off the tile and back onto it to see the hit reticle and damage prediction text.
fixed another, similar UI annoyance where using a hotkey to undo a move would cause most of the revised move tiles to spawn in blank even if one of them was directly beneath the current location of the mouse cursor, forcing the player to move the mouse off the tile to see the full move sequence to that space.
for players who prefer to use keyboard shortcuts, the Tab key now replicates the "next character" function of the mouse wheel in character screens and the reserve supplies window.
added Cancel buttons at every stage of the custom difficulty wizard at the start of the campaign. This lets the player opt out midway through instead of having to select every single option before canceling.
day logs tracking wins and losses in the arena now distinguish between league matches and pick-up matches, making it easier to see your progress when reviewing the logs.
fixed: the info bar could block tooltips labeling characters as wounded or absent in the army overview screen.
fixed: if you dismissed a character with an excessively long custom name, the name could spill over onto the second line of the confirmation window and obscure the warning about how they'll be gone permanently once dismissed.
Second, a buff to the lissit!
Following the version 1.0 launch, I became aware of community consensus to the effect that high-level lissit were lacking the same variety of tools that other species' classes had available to them. After examining things, I agreed, and so I've given our scaly pals some more tools to keep them competitive with all the other species in the late game!
reconfigured the barudit's late skill progression to ensure they more consistently get a greater variety of skills.(Previously, certain skills or masteries could be randomly skipped in favor of a bonus stat proficiency.)
barudit now learn either Nimble Stance or Defiant Stance instead of Preemptive Stance or Defiant Stance, giving them some variance from the human melee classes (and increasing the chance of characters sharing different stances via inter-species friendships).
new skill: Quick Shove. It's just like Shove, but it costs 2 energy and doesn't end the turn, allowing the unit to flexibly combo shoving with other moves. Barudit and Prophets now learn this skill.
increased the Drake's Health boost from +18 to +23 and reduced its Energy gain from +2 to +1.
given that gasul must split their stat-ups across numerous stats, the Protector now gets +8 Psy instead of +4 to help ensure that players always have a gasul promotion option that can heal competently in the endgame.
the Prophet now gets +5 Strength instead of +4.
you may notice that barudit now gain something called "Net Mastery." This doesn't do anything just yet, but rest assured--soon enough, it will... 😉
Next, let's look at a bunch of other miscellaneous improvements:
in response to player suggestions, normal arena battles no longer end immediately when the last opponent falls! Instead, the game now checks for victory at the end of each turn, giving the player a chance to grab any item sack that might drop from the last opponent standing.
the undo stack now properly supports Move skills which simultaneously swap the locations of two units (such as Twirl, Quick Twirl, and Trade); hitting Undo after using one now resets both units to their original spots simultaneously.
special weapon availability in the shop now expands upon hitting Gharial League.
Anatomical Treatises may now show up in the shop on rare occasions.
removed most of the trash-tier and "practice" weapons from random item drops and chests, making them more worthwhile on average. (Moreover, given the breadth of experience-gain mechanics available in TIB, practice weapons just didn't seem all that necessary or helpful to keep in as random drops.)
new rare item: Void Cloak. A dramatically more effective variant of the assassin's Shadow Cloak!
nerfed Cut somewhat, increasing its energy cost from 1 to 2 and decreasing its damage from 50% of Strength to 30% of Strength.
wrote a new rainstorm narration for Disciplined characters.
wrote another variant for Teach Response dialogue.
species that canonically float (e.g. shadowlings, spirits) now have an attribute that, when a portrait is displayed for a character of that species, causes the game to automatically make the portrait glide when it moves. This ensures that shadowling portraits always move appropriately when chosen for random events that can also occur for non-floating characters.
Next, we have a raft of bug fixes!
fixed: a couple of null errors could occur when triggering a chain of explosions from multiple satchel charges.
fixed: Twirling a non-flying enemy into a chasm was not queueing up the requisite fatal falling damage.
fixed: due to a scripting mistake, guessing the wrong answer to a riddle during cavern exploration would cause the game to reveal the answer.
fixed: paper scraps with riddle lines on them were not being removed from character inventories upon exiting a cavern, and were stuck indefinitely eating up inventory space.
fixed: when playing with gamepad and creating a new custom character, canceling out of the new character screen did not return gamepad focus to the custom character browser.
fixed: backgrounds that normally provide an additional physical trait were not doing so for custom characters.
fixed: a cavalier could charge directly onto a tile with elevation 2 greater than the second-to-last tile, so long as the charge started on a tile no less than 1 elevation below the ending tile.
fixed: a cavalier could charge and hit a tile with elevation 2 greater than the second-to-last tile, so long as the charge started on a tile no less than 1 elevation below the ending tile.
fixed: the game never set the default move type for unique generated characters created via the GenerateUnique script action, causing these units to have their move type permanently set to "Swimming" when attempting to reset the unit's move type upon emerging from water. (This issue manifests most prominently in the main campaign with recruited spirits.)
fixed: deployed units were set to face toward the central coordinates of a map, meaning that if a player deployed a character onto the very centermost tile of the map, at the start of battle, the game would temporarily assign them a facing direction of "None" and replace their sprite with a placeholder sprite until they moved. Freshly deployed characters now try to face toward the closest enemy on the map instead.
fixed: randomly dropped leather boots and plated boots were showing up without a valid item image.
fixed: narration about a character running out into the rain during the rainstorm event could continue to show the inside of the tent.
fixed: narration about a wounded character during the rainstorm event could continue to show rain particle effects if the preceding character was a golem or someone otherwise outdoors.
fixed: golems and spirits could be inappropriately chosen for certain two-character camp activities.
fixed: when creating a custom difficulty, the game would override the player's choice of time limit, enforcing a 140-day limit regardless.
fixed: certain, newer dialogue-processing variables were not being cloned when cloning dialogue-processing data.
fixed: when generating special relationship labels for characters created from an existing character's NPC pool, if the characters were related, their relationship labels were getting inappropriately swapped.
fixed: when generating special relationship labels for characters created from an existing character's NPC pool, the special relationship label on the newly created unit re: the original character was not getting capitalized.
fixed a typo in one of the sad info response lines.
fixed a small typo in Rohit's dialogue when he gives the player a deck during the Festival of the Ascendant Lights.
fixed some mistakes in the hue-shifting mask for the Dese messenger portrait.
fixed: one of the dialogue branches during the final confrontation was missing a portrait.
fixed: spirits and golems could be chosen for the "slur" portion of the BPD Recruitment event.
fixed: even if the player somehow managed to win the game without ever meeting Ishita Svaamee, the game would show one of her slides during the ending sequence anyway.
And finally, we have improvements for campaign creators:
new condition: Combat Victory Check. By default, this is set to true, meaning that the game will check for victory after every combat exchange where a combatant dies. If it is set to false, however, the game will not check to see if victory conditions have been satisfied until the end of each turn.
when used in battle, the RemoveItem script action now supports using "Army X" nomenclature for the character name parameter; this will strip the named item from every character in the specified army, where X is the army number.
added documentation for the -HOBBYVERB- special character.
new special characters: -CHAR2HOBBY-, -CHAR2HOBBYTXT-, -CHAR2HOBBYVERB-, -CHAR2LIKE-, and -CHAR2LIKETXT-, allowing a reacting character to reference their own likes in proc gen dialogue.
new Species attribute: portraitsGlide. If set to true, the portraits for characters of this species will always glide when they move.
the game's undo function in battle now supports undoing Move-element skills with all types of after-attack behaviors, not just "Unlimited."
fixed: the Together in Battle demo was inappropriately connecting to Telepath Tactics Liberated's Steam workshop instead of Together in Battle's.
fixed: when the game detected EndConvImmediately in branch 0 of dialogue and there wasn't a speaker or any dialogue text in that branch, it would recognize the dialogue as purely a vessel to run script actions and wouldn't display the dialogue menu even if the branch was changed to one where there is a speaker or dialogue text.
All right, that's about it for this one!
65 reviews! 🥳
A huge thank-you to all of you who've continued to leave nice reviews for Together in Battle! We're moving steadily toward our goal of 500 reviews. Reaching 500 reviews is a big deal for a game like this; it means that we'll have a shot at being not just "Very Positive," but "Overwhelmingly Positive"--though even if we just remain Very Positive, moving into the 500+ review tier will still help a ton with getting this game shown to more SRPG players on Steam.
If you're having fun, please don't hesitate to contribute your review. Every single one matters a lot more than you realize! 🙂
More coverage!
Building on the post-launch coverage from last week, we now have a very nice review from 89 Games; a fun promotional stream by FEtuber Dani Doyle (who I'm told is likely going to start a proper TIB video series); and continuing Let's Play series from Bumpy McSquigums, Special Caesar, and White Falcon! (I can think of at least three more channels with coverage in the works, too, but I'll save that for another day.)
Updates going forward
With nearly all of the post-launch bugs now addressed, I'm going to dial back the frequency of updates and focus on creating a bigger, content-focused update with a bunch of cool new stuff; new toys for making custom characters, new content, and--what was it mentioned last time?--ah, yes, a new game mode. 😉
Greetings, tactics fans! Lest you think I've been anything less than extremely busy following the launch of Together in Battle to version 1.0 these four days past, allow me to dispel the notion.
With an influx of new players has come an influx of new feedback (and an influx of bug reports), so I've been working quite hard to push out a quick initial update to address those bugs, tweak balance, and make some quick improvements. Let's get to the changes!
First, we have balance tweaks:
gave the Barudit class an additional early proficiency in Health or Dodge.
Blackguards now gain +8 bonus Health instead of +5.
Wyrms now gain +6 bonus Strength instead of +5.
increased the Prophet's Dodge boost from +25 to +30, making them a bit more reliable at dodging attacks.
Protectors now learn Far Shield in addition to their other bonuses, allowing them to fulfill their healer role while staying farther out of harm's way.
the quality of item sacks thrown by fans in the crowd now gets better and better as the player advances up the leagues, making nabbing them a more worthwhile side objective.
Second, we have miscellaneous improvements:
item tooltips for weapons now always list the uses left out of the weapon's maximum uses, making it easier to decide which weapons to use repair kits on.
AI improvement: the game now factors in space damage on all AI levels, not just the highest one, meaning that enemies will wander into damaging spaces less often on all difficulty levels.
AI improvement: the game now considers Disarmed, Slowed, and Sick status effects less valuable when scoring moves.
new loading screen tip: "Buy good armor for your characters; this will more than pay for itself in reduced casualties."
new loading screen tip: "Golems are expensive to buy, but it's a one-time cost: they don't draw an ongoing salary."
Third and most importantly, we have bug fixes:
fixed: novelists and toymakers had a formatting mistake in their camp activities that caused the game to throw a fatal error when choosing them for a one-on-one in camp and giving them orders.
fixed: when playing with gamepad, the recruitment menu was off by 1 when disabling character portraits upon recruitment, causing certain recruits to become unselectable.
AI fix: the AI was not recognizing chasm tiles as potentially damaging units who moved over them (even while temporarily levitating).
AI fix: if a unit moved after attacking, the unit would not rotate defensively to guard its back regardless of the AI handicap level.
AI fix: the AI valued actions applying Disarmed status to targets who were already disarmed.
fixed: in some circumstances in caravan defense missions, it was possible for caravan guards to spawn already submerged in water.
fixed: golems and spirits could react to an ally cooking dinner.
fixed: the dialogue upon destroying training dummies in the Qualifier was no longer firing due to continued use of OnCharDeath triggers instead of OnObjDeath.
fixed: tutorial text on health and resistances in Battle in the Overgrown Garden had begun to exceed the available dialogue box area.
fixed: a text overlay removed via script action could inappropriately reappear after closing a dialogue menu, provided that a text overlay had previously been hidden due to the objectives screen or another UI element temporarily hiding it.
fixed: due to a scripting change, it had become possible to hire out guards or explorers more than once in a day.
fixed: item tooltips could say "1 uses left."
fixed: unique portraits with poseable mouths but no support for skin or hair hue-shifting could get their mouths "stained" in their Actions Bar portrait in battle if the last proc gen unit to be selected before them had a mouth-layer mask.
fixed some graphical errors with hair layering for generic male kineticist, generic female cryokineticist, generic female psy healer, and generic assassin portraits.
fixed a graphical error with the masking for generic female photokineticists.
fixed: Secret line 17 could be generated in a variant too long for the dialogue box.
fixed: unintended species could be generated with Secret line 03.
And last, an improvement for campaign creators:
when using script actions to spawn units within a randomized range of spaces, the game will now check ahead to ensure that an environmental hazard tile is not chosen for the spawn location. If it is, the game will shift to the closest non-hazard space to spawn the unit on.
And that's it! Not too shabby for a few days of work, eh? Now, then, on to a bit of news...
We're past 50 reviews! 🥳
I want to give a shout-out here to all the lovely people who've left reviews for the game. Thanks to you all, we're now past the 50 review threshold! This means that Steam shows Together in Battle not just as "Positive," but "Very Positive"--which might sound small, but it's quite important to boosting discovery on Steam.
Our next milestone to reach is 500 reviews. If we can hit that, it'll really kick things into high gear and help ensure the game gets shown to a wide audience of players. If you've played Together in Battle and enjoyed yourself, please contribute your review--every little bit makes a big difference! 😃
I have some really fun ideas for ways to further expand upon Together in Battle: new skills, new portrait graphics, new random events, even an entirely new game mode...keep an ear to the ground. There's more to come!
Tactically yours,
Craig
Together in Battle is now out of early access!
After many years of hard work, it's finally done: Together in Battle is now out of early access and released to version 1.0!
I could wax poetic about how long I've been wanting to make this game--about how it's based on a design doc I wrote nearly 13 years ago, all the way back in 2012, and based on design principles I first wrote about all the way back in 2010(!)--but that's all academic. The proof of the pudding is in the eating, as the saying goes--so let's eat!
Together in Battle is 20% off for this week only, so go get it while the getting's good! 😉
Changelog
...oh. You're still here. You say you want to see all the changes since last month? Okay, fine, fine--I'll indulge you.
Here is what's changed since the last major Early Access version (version 0.9.80):
made the final plot battle and the good ending accessible!
received, implemented a special attack animation specific to the final plot battle.
the shop now has its own dedicated music!
updated the final boss music with a real life vocalist!
there's a new condition that can appear in the lower levels when exploring caverns: a riddle! The player must collect the fragments of a riddle, then solve the riddle to unlock the big treasure.
the army overview screen now lets you see characters who are currently off on jobs, at the infirmary, etc.! Their rows will be grayed out and they will be marked "Absent," but they can still be inspected.
in combat, battle backgrounds can now be left-clicked to initiate drag-panning (or right-clicked to cancel character movement or skill target selection), the same as normal battle terrain.
the game now shows character Dodge stats in the tooltips during deployment.
all of the recurring "character advice" events no longer prevent throwing a gathering in camp.
the AI now respects fog of war, and will not consider attack targets it cannot see.
the AI now ignores treasure chests on Defend the Idol and Attack the Idol maps.
added icons to the buttons in the main menu on the title screen.
swapped the order of the Custom Characters and Campaign Editor buttons in the main menu on the title screen.
cutscene menu buttons can now queue up multiple pop-up warnings, and will show them one after the other when the player clicks to proceed, only proceeding once all have been displayed.
camp activity narrations can now have weather effects attached to them.
golem and spirit activity narrations during rainstorms now actually show them outside in the rain.
Imaginative characters now gain a bit of morale during rainstorms.
caravan defense jobs are now somewhat more common.
the most challenging conditions in caravan defense battles now cannot appear until a certain number of weeks into the campaign.
fixed the level scaling for the Save the Travelers battle.
in the Save the Travelers battle, the game now gives the player a bit of dialogue to signal the enemy discovering the son hidden in the trees.
starting in Monkey League, thieves now spawn on Round 2 or 3 instead of Round 1 during arena matches where they appear.
added a couple of new loading screen tips: one explaining energy drain roll-over damage, and one pointing players toward the Glossary.
it is now possible for aura drop in battle to appear in amounts greater than 500.
reduced the pay cut for 4-on-4s; increased the amount of aura gettable from chests during 4-on-4s in the upper leagues.
increased the amount of aura gettable from chests in the upper leagues in general.
new object type: sturdy chests. Intermediate between ordinary and royal chests.
added way more loot to the blacksmith rescue mission.
the minimum and maximum values of the potential prize for winning a card tournament now gradually grow as the game progresses.
the monetary reward for solving the free-roaming section of cavern exploration now also scales upwards with total days passed in the campaign.
boosted the base extra prize money awarded by scheduled league matches by a fixed amount per league.
improved the treasure in the royal chests for the arena championship battle.
increased the amount of the championship bribe.
created a follow-up event, post-bribe.
took out the extra 1.5 seconds of waiting before a character gets their skill from Teach dialogue; instead, characters now learn the new skill from Teach camp dialogue at the conclusion of their response.
made Hari Rathore a unique character with his own distinct portrait and combat barks.
added an extra enemy to the Dissident's Den battle when playing on Brutal difficulty.
buffed the guard's survivability in the witness protection battle some more.
gave Ansh a big boost to accuracy in the witness protection battle so his shield bash is more consistently effective.
added some dialogue to the witness protection battle making it clear that attacking enemies on the stage activates them all.
made it much harder to accidentally aggro all the units onstage in the witness protection battle.
replaced the treasure onstage in the witness protection battle with something much more valuable.
Jigna Lal's dialogue letting you know that stronger recruits are available now changes somewhat with each successive league.
added more explanation about paradigm training to the trainer.
added one more hobby line variant for hotheaded characters.
the game now tracks the maximum romance value that characters have toward other characters for purposes of having dialogue specific to former love interests. (Corresponding special stat name: RomanceHistorical.)
the game now tracks the maximum friendship value that characters have toward other characters for purposes of having dialogue specific to former friends. (Corresponding special stat name: FriendshipHistorical.)
if a character gets asked out by their crush, the game now increases their morale and gives them a happy mood.
if a Depressive character is in a romantic relationship, their partner may now come comfort them when they get depressed.
characters now lose the Fantasize camp activity if they get into a romantic relationship.
added a new romance relationship level before lovers: Dating.
pushed back the earliest point at which a character can ask another character to marry them.
2 of the 3 "nothing happens" events are now stripped out of the evening events hopper as soon as the player reaches Duomensis, keeping interesting events coming at a higher rate.
other than the spirit, free-roaming cavern exploration conditions will no longer repeat over the course of any given playthrough.
moved the BPD Recruitment event up from Day 42 to Day 35.
health proficiency now increases Health by 3 instead of 2.
increased the psy boost effect of the Power Orb from 3 to 5.
increased the health-boost effect of the Blood Orb from 10 to 16.
increased the power of proc gen flails.
increased the availability of Ladoo and Medicated Bandages in the shop.
reduced the base salary modifier for shadowlings from 120% to 105%, making them much more affordable than before.
characters can now continue moving after using the Unlock Door skill.
stone golems are now generated with a base Dodge value of -10 (down from 0), making it more difficult to create "dodge tank" stone golems.
boosted Mant Lancer Strength, Speed, and Energy to make it a more viable alternative to Mantis Knight.
the Arbalist class now gets +1 max range to Grape Shot as well, not just Powder Bolt.
the Drake promoted class now gains Small Shield mastery.
the Wyrm promoted class now gains more Dodge and Health.
the Caduceus class now gains +1 range to Mind Shield and Far Shield in addition to the various energy cost reductions.
engineer braziers now scale their health relative to the creator's strength at a dramatically lower rate than barricades do, keeping them from just being strictly better than barricades in every respect.
you can now create a custom background line for your custom characters (corresponding to the "Background What" dialogue type).
when you change a custom character's name, species, or class, the game will now flag any non-custom dialogue lines assigned to the character to regenerate in order to account for references to the changed details (e.g. the character saying their own name or class in the dialogue).
added gamepad support to the background selection buttons and background dialogue button in the custom character creator.
when using the virtual keyboard with gamepad controls, the Y button now automatically acts as a shortcut for Space.
wrote alternate response dialogue for characters who are the subject of a marriage proposal despite being already engaged.
made some final tweaks to the ending and to the end credits.
reduced the extent to which iron, steel, and duoterre materials increased the cost of weapons and--especially--armor.
increased the amount of money lootable in the smuggler den event.
the game now auto-displays the updated objectives when the crank is loosened in the smuggler's den battle.
added extra safeguards to ensure that the game never clones a character when using Recruit-type script actions.
added an Inspect Character reply option to the stat advice, sick parent, and family weapon events.
buffed the Steam-powered Crossbow item.
BPD events are now more common each week.
you can now haggle a bit with Jiti Sone.
added a new ending slide reflecting player choices during the strikebreaking event.
wrote some extra dialogue for the event where a character returns with a unique family weapon.
version 1.0.00a: halved the game's music volume by player request.
We have numerous bug fixes:
fixed: Manbir Raksha's eye and mouth positioning and scaling data had not been updated to match the increased base scaling of his portrait.
fixed a typo in one of the Practice camp activity narrations for Suave characters.
fixed: it was possible for characters to Fantasize about other characters they hadn't met yet.
fixed: the algorithm the game uses to determine if a camp activity requires an available partner was not taking account of the "is partner present?" attribute, preventing characters from having activities thinking about other characters if those other characters weren't available.
fixed: the game was inappropriately using character nicknames in lieu of character names during narration for Teach Response dialogue.
fixed: one of the sound effects at the start of the Battle in the Dissidents' Den was mislabeled, causing it to not play.
fixed: if a skill caused damage to a single ally from two or more separate sources (e.g. normal damage and falling damage), the game could queue up a friendly fire reaction twice in a row to it.
fixed: the character screen was not incorporating the +20 accuracy boost for max morale characters when showing their stats.
fixed: the game could sometimes inappropriately add extra bridge tiles over a nearby hazard space when building bridges.
fixed: a scripting mistake in the BPD Recruitment event was causing the game to treat non-Desan human characters as natives of Dese.
fixed: during the investigation scene following the witness protection battle, if talking to Manbir, it was possible to end up taking a path through the dialogue tree that didn't surface a certain important revelation.
fixed: at the start of a new day, the game was failing to reset the flag indicating whether it had already performed a morning event check that day, leading to non-plot-specific morning events never triggering.
fixed: the flags for whether the last player attacked or shot with a unit were not getting reset for subsequent games of Psy Clash after the first, almost always preventing whichever player went first from attacking on their first turn.
fixed: if you sent characters out on a caravan protection mission, the second half of the payment due could get overwritten by subsequent hiring out via the jobs board.
fixed: it was possible for the game to freeze if a character dodged a charge attack, counterattacked, and then leveled up from it all in one sequence.
fixed: in the character screen, tooltips for character class appeared beneath the Relationships button.
fixed: in the custom character maker, the game would throw a fatal error when trying to create a golem or spirit and getting to the part where you pick a character background.
fixed: any time the game switched character roles around before a Talk activity in camp, neither character would remember the resulting conversation, nor would the effects of that conversation "stick."
fixed: the SetWinAura and SetLossAura script actions were not updating the dialogue's internal victory aura and loss aura values for purposes of the -WINAURA- and -LOSSAURA- special characters, which was causing day logs to inaccurately record arena winnings for scheduled league matches.
AI fix: the AI was treating prospective attackers as if they were still on their pre-movement space for purposes of determining if attacks would be counterattacked.
AI fix: the AI was treating prospective attackers as if they were still on their pre-movement space for purposes of calculating character collision damage when scoring moves.
AI fix: the game was not penalizing moves which dealt collision damage to an enemy by smashing them up against an ally, leading to green units smashing red units into the player's characters way too often.
fixed: the "Stupid" AI profile would cause the game to make characters sit and do nothing until approached, ironically making them harder to deal with in many situations.
fixed: proc gen recruits were being created without a load ID, allowing them to evade one of the game's core checks to prevent unintentional unit duplication.
fixed: one of the Happy mood descriptors noticeably conflicted with one of the rest narration phrases.
fixed a small scripting issue in the Trailing Malatose scene.
fixed: the event where a character asks another character out on a date could occur even if the character being asked was wounded.
fixed a bit of event dialogue where a character's nickname could appear in lower-case despite being at the start of a sentence.
fixed a few small scripting mistakes in the event where a character returns after a long absence.
fixed: the code which was preventing attacks from counting as skill uses in arena fights if not used against targets for whom the character would gain experience was also preventing loud skills from alerting enemies in the blacksmith rescue mission if used against destructible objects.
fixed: the promoted shadowling's Shadowport animation was misaligned, causing the user to inappropriately pop up into the air during use.
fixed: the skill Cut was missing the attribute that made it dependent upon having the skill Sword available.
fixed: the game had begun duplicating bonus damage tags every time it displayed them in a skill tooltip.
fixed: weapon bonus damage was being applied to non-damaging skills so long as they depended upon that weapon (e.g. bonus damage from a poisoned or burning sword being applied to Feint).
fixed: in the Smuggler Den event, the character to be rescued remained in the list of characters you could send in to perform the rescue.
fixed: when using an item in the character screen during battle that didn't close the character screen, the game was not updating the character screen to reflect changes.
fixed: it was possible to screw up some of the game's logic tracking what in-game day it currently is by pressing the left or right arrow keys in the calendar screen.
fixed: certain day logs relating to character death or wound recovery were missing periods.
fixed: the day log window within the calendar screen was using outdated arrow graphics.
fixed: the game was not loading Battle in the Print Shop correctly.
fixed: the game would freeze if a campaign tried to go to a scene which doesn't exist.
fixed: the game was not immediately updating fog of war when characters switched armies or became Enthralled.
fixed: generic units were not being generated with status effect immunities, permitting enemy golems and spirits to get poisoned.
fixed: the NextFrame script action was leaving actions in the queue from any dialogue the action skipped, resulting in those actions executing the next time cutscene dialogue appeared.
fixed: the wording on Bowman and Crossbowman in Psy Clash inappropriately suggested that the player could choose to attack instead of damaging a minion.
fixed: when defeated, the defeat box was showing the prize for winning instead of the consolation prize upon defeat.
fixed: the game was failing to schedule a new league match after losing the Gharial, Snow Leopard, or Tiger League qualifier battles, blocking any further progress up the leagues.
fixed: if you lost in the Monkey League qualifier, it was possible for the game to simply never let you retry it if you did pickup matches beforehand.
fixed: if you lost in the Monkey League qualifier, the game would create a day log saying that you lost the Gharial League qualifier.
fixed: when rescheduling a league qualifier match that the player had previously lost, the game was pulling the date of the earliest attempt rather than the new date for purposes of Gupt's dialogue.
fixed: when quitting to the title screen while a voiceover is playing, the voiceover would continue.
fixed: kineticist skills were dealing far less collision damage than intended.
fixed: a small error in the game's algorithm for returning adjacent spaces on the battlefield meant that it would never acknowledge the existence of any space in the very topmost row of the battlefield as a valid space (for example, when generating character deployment spots for proc gen arena battles).
fixed: certain newer types of data tracked by the game weren't being reset upon starting a new campaign.
fixed: the left- and right-facing female frost spriggat rest poses had rogue position attributes still attached from the earliest days of experimenting with animations in the engine.
fixed: the up-facing female barudit sprite had a rogue position attribute still attached that caused female barudit to disappear into stairs when facing upwards.
fixed: the male frost spriggat and female red spriggat walk animations had rogue position attributes still attached.
fixed: in the reserve supplies screen, you could use the mouse wheel while a confirmation window was onscreen (e.g. asking if you'd like to auto-equip a character), and it would cause the text in the screen to no longer match the effect of confirming.
fixed: when the game cloned character portrait data, it was failing to include accessories, meaning that in some situations (most notably during dialogue), character accessories failed to appear.
fixed: certain personality-specific Recognition Response lines were miscategorized as regular Recognition lines.
fixed: the game wasn't parsing the -HOBBYVERB- special character (used in exactly one variant of one hobby line across the entire game).
fixed: the depressive hobby line inappropriately referenced the character's miscellaneous like instead of their hobby.
fixed: the game would not load more than one item with the same name even if they had different load IDs.
fixed: Lead Ointment was not using its unique item graphic, and instead was sharing a graphic with Thermal Paste.
fixed: the Book text sprite was misaligned.
fixed: the custom character creator was trying to load life background options when editing previously created golems and spirits, then throwing an error.
fixed: in the custom character creator, clicking a button the change a golem's gender after choosing its class would wipe out subsequent selections even though a golem's gender cannot change.
fixed: when reloading a previously created custom character, the background selector would not default to showing the character's previously selected background.
fixed: an incorrect delimiter was causing the game to deserialize custom character life backgrounds incorrectly.
fixed: the facial expression chooser in the custom character creator had begun to obscure the portrait, preventing the player from previewing these expressions.
fixed: the next page button was not connected properly in the custom character browser.
fixed: the page buttons when selecting units in dialogue were not working.
fixed: it was not possible to select the View Deck button in camp using gamepad controls.
fixed: it was not possible to input custom character dialogue using gamepad controls.
fixed: when playing with gamepad, the game would not show tooltips when moving the cursor over item sacks located on bridge tiles.
fixed: when playing with gamepad and using an item within the reserve supplies screen, if the character screen popped open to show the results of the item usage, gamepad focus would not switch to the character screen.
fixed: the gamepad cursor could appear misaligned to main menu buttons in the title screen.
fixed: when playing with a gamepad during recruitment, the gamepad cursor could end up over elements on the left side of the screen even when those elements were not visible.
fixed: when playing with a gamepad during cutscenes, the gamepad cursor could end up over the food and aura icons in the info bar even when the info bar was not visible.
And finally, changes and improvements for people using the custom campaign creation suite:
custom campaigns now permit the creation of custom AI profiles! When creating a new custom campaign, an AIProfiles.xml file is now created; edit it to create new AI profiles for use in the custom campaign.
the weight given to moves based on how close characters will stay to their allies now has its own distinct property in AI profiles: clustering.
the "Stupid" AI profile now enforces an army-specific AI handicap floor of 7, making it actually stupid.
species-specific status effect immunities are no longer hard-coded, but are now instead assigned in the species XML file.
the game now supports items that are readable books, letters, notes etc. When used, these items open the report screen and let the player read their contents.
added four new "Paper Scrap" item graphics.
new script action: RegenerateCharDialogue. Causes the game to reroll a character's dialogue. Two parameters, same as the first two parameters for RemoveCharDialogue.
new special character: STRLENGTH[]. Gets replaced with the number of characters within a named custom string's value. (For instance: if the custom string CharacterName is set to Bob, then STRLENGTH[CharacterName] will be replaced with the numeral 3.)
new special character: [lc][/lc]Causes whatever text is wrapped within it to be entirely lower-case.
new special character: [CAP][/CAP]Causes whatever text is wrapped within it to have a capitalized first letter.
updated the custom asset info file for the Backgrounds subfolder created when making a new custom campaign; it now explains how to create custom battle backgrounds.
updated missing special character and script action documentation for the in-game guide.
fixed: unadjusted growths were not being applied to characters created with the ShowCharCreator script action, resulting in the game throwing a null error when attempting to alter their growths.
There. That's everything!
Thank You
I'd like to end this by saying thank you once again to everyone who's supported Together in Battle over the years, whether by buying Sinister Design games, by sending in bug reports, by leaving nice reviews, or by spreading the word on Reddits, forums, and Discords all over the interwebs. I am but a single guy--there is simply no way I would have been able to pull all this off on my own without your help. I am humbled by your continued support and my gratitude is immeasurable; I sincerely hope that this game meets your expectations!
All right folks, that's all I've got for now. Until next time!