The Sinister Design Forums

Games => Together in Battle => Topic started by: CraigStern on February 06, 2020, 05:37:30 PM

Title: Together in Battle Dev Log
Post by: CraigStern on February 06, 2020, 05:37:30 PM
Now that I've announced the game and its identity is no longer a secret, I'll be continuing the old developer's log (http://sinisterdesign.net/forum/index.php?topic=1769.0) here! (Wow, has it really been more than three and a half years since I started that thing?! Sheesh!)

We'll start modestly:

-- fixed: inventory buttons would inappropriately display in the recruitment screen when a recruit had nothing in their inventory.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 07, 2020, 05:21:48 PM
-- created a new visual effect for when character relationships improve! :)

-- changed some log commands that were inappropriately labeling normal outcomes as errors.

-- increased the deployment barks each procedurally generated character has from 2 to 3.

-- fixed: Unity was rounding 0.5 down to 0 instead of up to 1, which is apparently because Mathf.RoundToInt() just uses C#'s default rounding (https://forum.unity.com/threads/mathf-roundtoint.491182/), which was designed for banks and not for games.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 09, 2020, 01:42:53 PM
-- added some extra UI sound effects that were missing for the army overview and reserve supplies screens.

-- improved the "relationship improving" visual effect; added a sound effect accompanying it.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 10, 2020, 05:33:40 PM
-- new script action: PortraitParticles. Lets you spawn 2D particle effects around a character's face in their portrait. Two parameters: portrait reference name, and particles preset name.

-- continued to improve the "relationship improving" visual effects.

-- added subtle blob shadows below 2D characters and objects.

-- fixed: the swordsman's Shove animation sprite sheet was being compressed inappropriately, leading to it not being palette swapped as intended.

-- fixed: the promotion process would throw a null error when undergone by characters without a Starting Skills stat (i.e. most premade, non-generated units).

-- fixed: save file slots would allow long campaign names to overflow into subsequent lines.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 11, 2020, 05:33:18 PM
-- created a new camp activity, Restaurant, in which one or more characters heads into town and spends the evening trying out a new restaurant.

-- added the restaurant activity as a potential outcome to the evening event where a character asks another character out on a date; wrote new dialogue variants for the event.

-- added "relationship improving" visual effects to the variants in all random scripted events where character relationships improve.

-- the game now keeps the existing talk symbol between lines of dialogue where the speaker doesn't change.

-- fixed: the talk symbol would continue to pulse over talking characters even as the dialogue interface disappeared while they moved from a MoveUnit action.

-- fixed: purely narrated, dialogue-free camp activities were not affecting character familiarity, friendship, or romance values.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 12, 2020, 05:28:37 PM
-- when displaying a dialogue branch with multiple replies, the replies are now hidden until the text finishes animating (or you click to skip the animation), at which point they visibly fade in over a fraction of a second. (It looks much, much nicer this way, and doesn't block the entire scene from the outset.)

-- new script action: SetNPCAttribute. Lets you change the value for an attribute belonging to a character's NPC (for instance, changing associated feeling from angry to happy, or alive from true to false). Parameters: (1) Character Name, (2) NPC Name, (3) Attribute Type, and (4) New Value.

-- new script action: AddNPC. Lets you add a new NPC to a character. Parameters: Character Name, NPC First Name, NPC Last Name, NPC Nickname, Relation, Species, Gender (Male Female or None), Alive (true or false), Location, and Associated Feeling.

-- broke the test settings interface out from the campaign editor into its own module so that instances of it can be placed within the map editor and cut scene editor for faster testing of scenes.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 13, 2020, 05:14:37 PM
-- you can now test scenes directly from the cut scene editor and map editor.

-- when you return from testing a scene, you return to the editor you hit Test in and the scene you were working on is automatically reloaded.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 14, 2020, 05:22:57 PM
Sketched out plans for procedural battle generation that builds upon the existing proc gen terrain, player spawns, and randomized enemy spawn code. Drafted up a contract for a programmer to come in and help work on that while I focus on the...everything else.

-- fixed: running a GiveItem action directed at the reserve supplies for the current roster while the shop interface is open in a cut scene would cause the item to never show up in the reserve supplies.

-- fixed: loading a cut scene that calls UnitsToList in the cut scene editor could make the game throw a null error.

-- fixed: a particular snow-water transition tile was incorrectly rotated.

-- fixed: the options screen was calling the wrong function to return to the options screen from within cut scenes.

-- fixed: changes to the dialogue and script editor from a few weeks ago apparently did not populate to the instance within the cut scene editor, causing it to throw null errors when creating new dialogue or scripts.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 16, 2020, 10:54:34 AM
-- adjusted the sound effect timing on Wrench, Mind Blast, and most axe-based attacks to more closely match up with their animations.

-- added in some missing interface sound effects.

-- fixed: the spearman's Spear attack animation wasn't getting palette swapped due to incorrect compression settings on the sprite sheet.

-- fixed: compression settings on the Mind Blast animation were causing visual artifacts to appear during the animation.

-- fixed: it was possible for skills granted to characters by life background, personality, or physical traits with placement intended for early on in the skill progression to supplant starting skills, resulting in characters not having access to crucial abilities at level 1.

-- fixed: music tracks that began playing while the game's global music volume was set to 0 would not become louder when going into the options menu and increasing the global music volume.

-- fixed: the "done typing" reply wasn't fading in on dialogue branches with text input enabled.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 17, 2020, 05:31:04 PM
Hired the aforementioned programmer; worked on getting the game set up for Unity Collaborate so that said programmer can work on code alongside me.

-- Create skills now create whatever they're creating with timing appropriate to the Build animation.

-- improved a few character barks.

-- improved the "familiarity/friendship up" sound effects, as well as the "mantis gallop" sound effect.

-- fixed: the game was double-counting starting skills granted to characters by life background, personality, or physical traits, resulting in those characters knowing more skills at level 1 than they should have.

-- fixed: dialogue speech bubbles would sometimes fail to appear when they should.

-- fixed: Create and Move attacks weren't queuing up sound or visual effects.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 19, 2020, 08:31:35 AM
-- condensed the sprite sheets for Cryo Cross, Dark Vortex and Light Bomb for performance reasons.

-- added visual effects for Cryo Cross, Dark Vortex and Light Bomb into the game.

-- added a height offset parameter to visual effects to adjust the positioning of certain attack VFX which were not displaying in the correct spot.

-- updated the SpawnVisualEffect and SpawnVisualEffectAt script actions with the new parameter.

-- fixed: VFX for Mind Blast spawning too high, Mind Shield spawning too high, and the various stages of each elemental Blast skill spawning either too low or too high.

-- fixed: AOE skills whose last targeted space was empty would register as not hitting anyone for purposes of visual or sound effects, and they would not play any.

-- fixed: the Cryo Cross AOE was misconfigured so that it struck the user as well.

-- fixed: it was possible to click "through" the actions bar in battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 19, 2020, 03:04:28 PM
-- created a "breathing" idle animation via squash-and-stretch, automatically applied to characters while they are in the Rest state.

-- gave the Mentalist a new Energy-draining skill: Nauseate. Less powerful than the Spirit's Drain skill, but it has range comparable to Terror and Dazzle, and can cause Slowed and Sick. Speaking of which...

-- the status effect Sick can now be caused by skills; it lasts 3 rounds and does the same thing as when it is placed via AddMood (that is, it doubles the energy cost of skills and causes resting to not restore energy).

-- created the Nauseate icon.

-- buffed the Spirit's Drain skill by giving it free targeting and doubling its ability to cause Clouded.

-- added Slowed, Weakened, Clouded, and Sick to the status effects that destructible objects are immune to.

-- the properties of status effects can now be altered on an ad hoc basis by appending |Length:x, |Power:x, and |Chance:x to the status effect name (where x is the new value to use for the status effect's length in rounds, power, or chance out of 100 to take effect). For example:

Strengthened|Length:1

This will apply the Strengthened status effect and cause it to last for only a single round (instead of its default length of 4 rounds).

-- the SpawnFloatingText script action is now supported in cut scenes, where it spawns pop-up text over the named character portrait.

-- the game now explicitly states via pop-up text when camp activities and events alter character familiarity, friendship, or romance.

-- new supported pop-up text color: pink.

-- when skills affect stats other than health or energy, the game now explicitly lists the affected stat after the number in the "damage" pop-up.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 20, 2020, 04:48:56 PM
-- new skill: Defiant Stance. The unit ends their turn but gets +25% Strength until their next turn (effectively buffing up the power of all their counterattacks).

-- every class that automatically got Preemptive Stance in its skill progression now has a 50/50 chance of getting either Preemptive Stance or Defiant Stance.

-- Dazzle now has a base 100% chance of causing Blinded; Nauseate now has a base 75% chance of causing Sick.

-- the skill editor now lets you copy the sound and visual effects from one of the game's default skills.

-- added support for tabbing between fields to the skill editor.

-- added support for tabbing between fields to the item editor.

-- improved the look of familiarity, friendship, and romance pop-up text.

-- 2D particles can now be set to change color over their lifetime.

-- created and implemented a new "hearts dropping and dying" visual effect for when inter-character friendship or romance values drop due to a camp activity or event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 21, 2020, 04:19:08 PM
-- cleaned up the "Sinister Design" intro sound and improved the "Breaking" sound effect.

-- there is now a sound effect accompanying the "hearts dropping and dying" visual effect when inter-character friendship or romance values drop.

-- new skill: Quick Shot. A half-damage bow attack with slightly reduced range that lets the user keep moving and use another skill afterwards. Bowmen now have a 50/50 chance to learn this in place of Split Shot 2 late in their skill progression.

-- rewrote the way the skill tooltip displays "damage to energy" for skills that affect energy. Instead of just displaying the energy icon in the damage slot, the game now maintains the damage icon and adds the energy icon as well after the number.

-- cleaned up a few of the procedural character dialogue lines.

-- fixed: the text next to the range icon on skill tooltips would sometimes get cut off on some displays.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 22, 2020, 06:14:08 PM
Ran a playtest last night to catch bugs and play experience issues before PAX, and today is devoted to fixing as many of them as humanly possible!

-- added a "whiff" sound effect to accompany a dodged attack.

-- added a sound effect to triggering snare traps.

-- applied new pop-up text and "dying heart" particle effects to narrated camp activities as well (in addition to dialogue and random camp events).

-- slowed down pop-up text in cut scenes and just generally improved the presentation of "relationship up" visual indicators.

-- sped up the blinking status effect indicator in battle.

-- halved the delay on displaying "Click to continue" in dialogue and narration boxes.

-- reduced the length of character sickness from random events.

-- renamed the skill Melt to Defrost to make it clear that it's not an offensive skill.

-- the game now changes the text that says "Salary" to "Price" in the recruitment screen when inspecting golems and spirits (who don't have ongoing payroll expenses).

-- adjusted the size of the salary text box to keep text sizing consistent for salaries over 999.

-- updated the mouseover description for the Arena to make it clear that it no longer necessarily boosts team morale.

-- added the "talking" indicator to all of the arena manager's cut scene dialogue.

-- upped the opacity of redded-out buttons in the item expandable options to 100%.

-- fixed a few typos.

-- fixed: due to a misformatted script action, it was sometimes possible to make a character bunk with themselves during a particular camp event.

-- fixed: the event music from plot event 1 would keep playing after it ended.

-- fixed: the game would try to generate bio details and NPCs for spirits and golems, and then throw errors when it couldn't generate golem family members.

-- fixed: drop shadows would display incorrectly on low graphics settings.

-- fixed: the camera would jump when moving the cursor over the Actions Bar while click-and-dragging terrain.

-- fixed: when an attack was canceled from the window warning about attacking an ally or healing an enemy, the character would lose the attack cost in energy as if they'd gone through with it.

-- fixed: load save game slot 4 was directing to slot 0 for some reason.

-- fixed: the game was announcing the same status effect twice via pop-up text under certain circumstances.

-- fixed: the game was sometimes leaving bar spawners in place after a combat exchange, resulting in static health bars appearing (and remaining) in inappropriate locations after moving a unit who had just been in that exchange.

-- fixed: changes to the game's "round float to int" code resulted in negative numbers being rounded incorrectly, causing various scripted events to not escape properly when necessary preconditions were not met.

-- fixed: Mechanic portrait inappropriately remained onscreen when recruiting golems in camp event.

-- fixed: one frame of each elemental Blast attack was misaligned.

-- fixed: when a character reacted to a friend falling in battle, the reaction line would delivered by the attacking enemy unit instead of the friend.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 23, 2020, 03:41:17 PM
Created a demo version of the game for PAX East!

-- it is now possible to use a list of characters as part of the stat name parameter for SetStat with the Familiarity, Friendship, and Romance stats. In place of a character name, simply use List:List Name.

For example, this will create a list of every unit other than Larry, name it IntroduceToLarry, then set a familiarity floor of 5 for Larry with respect to all those units in the list:

Action>UnitsToList/IntroduceToLarry,,Race:true:Golem|Race:true:Spirit|Name:true:Larry</Action>
<Action>SetStat/Larry,Familiarity List:IntroduceToLarry,f:5</Action>


-- the recruitment interface can now be passed a minimum recruitment value; the player must recruit at least that many characters in order to leave the interface.

-- made the introvert character greetings more interesting.

-- fixed a small typo in one of the blunt character greetings.

-- fixed: it was possible to bypass cut scenes with menus by clicking the background at the exact right moment between when the scene faded in and the menu appeared onscreen.

-- fixed: code for the SetStat with the Familiarity, Friendship, and Romance stats was not correctly set up for the formatting currently used by those actions.

-- fixed: cut scene dialogue in a frame of narration that automatically ran and then closed via EndConvImmediately would lock the player out of clicking the background to advance the narration.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 24, 2020, 04:11:01 PM
Designed, ordered business cards. On the development front:

-- added the all-important time-out timer to the PAX demo. (After 1 minute of inactivity, it resets itself to the title screen. Without this, I have to run around manually resetting the demo over and over all weekend!)

-- added email sign-up functionality to the PAX demo. (Signing up adds your name and email to a text file whose contents I can later copy-paste into Excel.)

-- spruced up some more of the proc gen character dialogue; applied a missing personality requirement to the Depressive general response line, applied a sad face to the regretful victory lines for Kind characters.

-- improved the Battle at Grabber's Grove.

-- fixed: characters burning to death at the start of a turn would not actually be removed from the battlefield until someone attacked.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 25, 2020, 02:38:49 PM
-- hitting enter when the email sign-up screen is active now checks the contents of the fields and, if they're complete, submits them as if you'd hit the "done" button.

-- adopted some of the pacing changes from the demo into the main campaign to make interesting event variants start appearing earlier and with greater frequency. Gatherings now set a familiarity floor of 5 for all recruits relative to all other recruits; group practice is unavailable the first two days.

-- you can now attach multiple warning conditions and multiple gray-out conditions to the same cut scene menu button! Simply delimit each with a vertical bar (|).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 03, 2020, 09:22:45 AM
I have returned from Boston and PAX East! What a whirlwind of a week. I talked to hundreds and hundreds of people over those few days, signed up more than 525 people onto the email list (I'm told that 100 email list sign-ups is more typical for a PAX weekend?!), and gave several impromptu previews of the game to passing games journalists and streamers.

As part of the process of getting the booth ready to go, I had to throw together a rough trailer providing an overview of the game. It came together surprisingly well considering what a rush job it was. I plan to polish it up, add in a few things, and then release it to the wider internet as a "sneak peek" trailer. Hopefully that'll come later this week.

In the meantime, it's back to work on the game itself!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 03, 2020, 04:30:23 PM
-- added particularized backgrounds to more camp activities.

-- the game now also checks the actions contained in scripts called by Run actions in the first branch of dialogue for EndConvImmediately, NextScene, and the like when determining whether to pop up the dialogue window. (If any are found, it won't start to open the window.)

-- skills now support separate knockback and impact timing attributes.

-- created a separate Shove animation for the Stone Golem class.

-- fixed: the timing on several abilities (including all of the Stone Golem and Kineticist knockback abilities) was off.

-- fixed the vertical alignment on the Mind Shock visual effect.

-- fixed: Feedback and spriggat breath attack visual effects were not showing.

-- fixed: the game was failing to select variants within certain particularly long proc gen dialogue lines.

-- fixed: the game was sometimes hanging after a character burned to death at the start of an AI-controlled turn.

-- fixed: certain character sprite sheets weren't using the correct compression settings.

-- fixed: skills could appear redded out within the level-up screen.

-- fixed: clicking a non-selectable character in exploration mode without a selectable character selected would result in a null error being thrown.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 04, 2020, 05:02:33 PM
Recut the PAX show floor trailer into a version I will release to the wider internet tomorrow! Also:

-- fixed: characters could use items while frozen or stunned.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 05, 2020, 11:54:25 PM
Released the alpha teaser trailer (https://www.youtube.com/watch?v=BXwhr1hUnDY).

-- improved the impact timing on explosive attacks.

-- got the Charge, Leap, and Shadowport skill timings to sync up correctly with their respective character sprite animations.

-- fixed: the map editor and cut scene editor load menus were listing loadable and unloadable scenes incorrectly.

-- fixed: status effect icon timing was off, and would sometimes fail to display at all.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 06, 2020, 05:24:11 PM
-- started writing a new side quest with accompanying battle.

-- fixed: the "army color" indicators in the map editor's army sub-editor ended up with compression settings that messed up their palette swapping.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 08, 2020, 04:45:36 PM
-- fixed a couple of formatting errors that had recently crept into the camp activity narrations xml file.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 09, 2020, 05:28:51 PM
-- the game's bespoke 2D particle system now supports multiple distinct groups of particles with different settings all tied to the same particle effect. Laid groundwork to support custom effects.

-- created a new particle type for when characters gain familiarity to better distinguish it from gains to friendship and romance.

-- better error handling surrounding malformed camp activity narration xml.

-- added a "copy skill attributes" function to the skill editor. This lets you select an existing skill (including any of the game's default skills); whatever skill you select, the game will populate every field in the Edit Skill window (except for skill name) with the attributes of that skill. You can then easily edit the values to your liking and save the skill as its own distinct skill.

-- added in Knockback Timing as a field in the skill editor. The skill editor now correctly loads and saves knockback timing for skills.

-- updated the in-editor description for impact timing in the skill editor to reflect the new seconds-based timing system.

-- fixed an annoying little UI thing: when you used a hotkey to select a skill with your cursor was already over the target, the attack tile would spawn without displaying damage or accuracy info, nor would it spawn the hit reticles (because spawning with the cursor already there would not trigger the mouseover listener).

-- did the same for move tiles, as when selecting a character via the "next character" hotkey.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 10, 2020, 03:30:14 PM
-- made improvements to the particle system.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 11, 2020, 05:29:33 PM
Worked on the Steam page. Additionally:

-- fixed: if you loaded a map with deployment set to true but no deployment tiles, the game would not let you proceed.

-- fixed: due to a dumb typo in the code, particle effects in battle and in the map editor on long, narrow maps could produce null errors.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 12, 2020, 05:29:57 PM
I finally finished making the frankly ludicrous array of different graphics Steam requires for a "Coming Soon" page, then submitted the page to them for review! On the "actual game development" front:

-- 2D particle effects now have an optional "enforce minimum distance" attribute that prevents them from randomly spawning clustered too close together (as was happening sometimes with some of the floaty heart and exclamation point particles).

-- improved the look of the exclamation point particles.

-- fixed: chasm tiles no longer have landing particle associated with them.

-- fixed: tile data was missing for the most common cave-chasm transition tiles.

-- fixed: the "select next unit" function would trigger pop-up text over every character it checked who was frozen, stunned, or had ended their turn.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 13, 2020, 05:28:51 PM
The Steam page was approved! Got my video editing software set up on my new dev computer so I can improve upon the alpha teaser for the Steam page.

-- added a bit to the list of possible human character names.

-- wrote some more camp activity narration.

-- created a new life skill: gambler.

-- the attributes in camp activities (e.g. fam1, mor1, food, aura, etc.) can now use custom integer variables.

-- fixed: attack tiles registered a click upon mouse down rather than upon mouse up, which could cause situations in which you clicked to attack an ally or heal an enemy, and then--unintentionally, with the same exact click--instantaneously selected a button in the resulting warning pop-up window either canceling or proceeding with the attack.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 14, 2020, 03:50:31 PM
-- the attributes in camp activities (e.g. fam1, mor1, food, aura, etc.) now support the use of the RANGE[] special character. For instance, having this attribute in a camp activity narration...

aura="RANGE[25-75]"

...will randomly provide the player between 25 and 75 aura when it is chosen.

-- new script action: AddCampActivity. Adds a new activity narration with a particular character to the current camp activity sequence. Three parameters: character name, activity name, and partner name (if it's a partnered activity).

-- fixed some issues with the new gambler camp activities.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 24, 2020, 07:35:59 PM
Phew! All right, I'm back. I had to take a little bit of a mental health break there while I adjusted to our new, weird, quasi-apocalyptic real-life circumstances vis-a-vis the coronavirus. But I'm ready to continue development now. Here's what I got done today:

-- wrote new attack and victory barks, focused mainly on characters with the gambler life skill.

-- improved the game's sound and visual effects when characters land on a chasm tile. The impact sound is now a dropping whistle, and they visually fade to black to simulate their fall into the darkness.

-- camera shake values from different sources of damage landing at the same time are no longer cumulative--the largest shake duration and magnitude value from any one source are used, and the other values are ignored. (This fixes situations that have resulted in annoyingly long camera shake.)

-- fixed: multiple different health bars spawned when attacks that dealt damage multiple times landed; the game now consolidates all damage into one health bar (and the same for energy effects).

-- fixed: the impact sound was being played twice upon landing on a space after a knockback or move ability.

-- fixed: it was possible for the dialogue menu to throw a null error under certain circumstances.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 25, 2020, 09:47:22 PM
-- fixed: getting thrown onto a bridge or other destructible object sticking out of a chasm would result in the game treating that character as if they'd been thrown into the depths of the chasm.

-- fixed: characters could get knocked onto objects and bridges located over chasm tiles, and the game would still treat the end elevation as if it were the bottom of the chasm.

-- fixed: flying characters would fade to black when shoved or pulled over a chasm tile even though they didn't take falling damage.

-- fixed: it was possible for the same enemy death from a multi-damage-source attack to trigger a victory bark more than once.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 26, 2020, 03:26:42 PM
-- improved the the promotion screen design to make it easier to tell what class you're selecting for promotion.

-- proc gen characters with a forced class now derive their available potential species from class info rather than from a hard-coded list.

-- added an appropriate sound effect to the Shove skill.

-- getting moved onto a bridge or destructible object in the middle of a hazard tile now produces smoke puffs as if the character had been moved onto ordinary land.

-- characters that lose Flying status (whether from the Heavy status effect or something else) over a chasm tile now drop in and take fatal falling damage appropriately.

-- fixed: the character generator was not obeying the "force species" restriction for procedurally generated unique characters.

-- fixed: there are no longer impact sparks upon landing in a chasm tile from being pulled, shoved, or thrown.

-- fixed: improper compression settings on certain frost spriggat sprites were preventing palette swapping.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 28, 2020, 01:26:13 PM
-- fixed: Gravity Spike and other Heavy-causing skills of element Falling would damage destructible objects with passability of flying as if they were flying characters.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 28, 2020, 03:58:30 PM
-- rewrote the placeholder "create ice bridge" routine. Ice bridges are now created at the skill's moment of impact, with an attendant sound effect and shower of snow particle effects.

-- some further aesthetic improvements to "falling into a chasm" moments: status effect icons no longer appear as the character is falling, and the screen shake is greatly toned down.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 29, 2020, 02:30:33 PM
-- changed the formatting on serialized character dialogue lines to support vertical bars for use with special characters like PICK{}.

-- fixed the knockback timing on the spriggat Dive skill.

-- fixed a rogue hotkey that was interfering with normal typing in the map editor.

-- fixed: any proc gen dialogue that used formatting within variants would produce strange results.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 02, 2020, 05:53:32 PM
Finished up a shorter (1:08 long) Together in Battle trailer for Steam. I've tried to upload it 4 or 5 times now, each time unsuccessfully. Trying one more time...
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 08, 2020, 11:12:05 PM
After some back and forth with Steam tech support (and two separate fixes on their end!), I finally got the new trailer uploaded!

-- the "random factor" in salary calculations is no longer a one-off black box calculation. Instead, it's now based upon a new, hidden character stat called Materialism. A Materialism value of 100 is "average," in that it won't affect the character's salary. A value of 0 means the character won't get paid anything at all; a value of 200 means they demand twice as much money as average. As a character stat, this can be accessed (and altered) the same as any other stat, so scripted events can take into account how materialistic a character is--or change it.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 09, 2020, 10:07:06 PM
-- the effects of class and stats on calculating a character's salary are no longer hard-coded; instead, these can now be manipulated on a per-class basis!

Here's how it works: the  game now looks to two new attributes in each character class in Classes.xml to calculate a character's salary, baseSalary and salaryStatValues.

First, baseSalary, sets the salary for a hypothetical character of that class possessing 100 Materialism and 0 in all other stats. Very straightforward.

Next, salaryStatValues allows stats to factor in. It works like baseStatModifiers, but instead of the value in the key-value-pair being an operation, it's simply a float. The float value is multiplied by the named stat for that character, then rounded to the nearest integer and added to the character's salary. ("Res." is a catch-all key to refer to every resistance a character possesses.) For instance:

salaryStatValues="Health,0.4/Energy,0.5/Strength,30/Counter Limit,35/Res.,1"

If a character belongs to the class that uses these salaryStatValues and the character possesses 20 Health, 10 Energy, 5 Strength, 1 Counter limit, and 5 Slash Resistance (but 0 in every other resistance), that character would get +8 to salary from their Health (0.4 x 20), +5 to salary for their Energy (0.5 x 10), +150 to salary for their Strength (30 x 5), +35 to salary for their 1 counterattack, and +5 for their 5 Slash resistance.

Whatever the result, the character's Materialism stat then acts as a multiplier to produce the final salary.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 10, 2020, 01:10:29 PM
-- updated all 72 classes in the game's default Classes.xml with appropriate baseSalary and salaryStatValues values.

-- new script action: GetNewSalary. Have the game calculate what a character's salary theoretically ought to be based on their current class and stats. Four parameters: character name, percentage salary multiplier (optional -- if not used, the game will use 100 by default), low morale effect (optional -- increases a character's new desired salary by X% per point of morale below 0 where X is the integer you supply), and variable name to store the value in (optional -- if not used, the game will store the new salary value under _NewSalary).

-- rewrote the Wanting a Raise event to calculate the desired raise as the difference between the new calculated salary and that character's current salary. The event won't trigger if the chosen character's prospective raise is too small; but the event also now gets added to the events list every single week, ensuring that it happens with some regularity. The extent of the low morale penalty used in the calculation depends upon the game difficulty level chosen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 12, 2020, 03:34:16 PM
Uploaded a better seelction of screenshots to the Steam page for its "Coming Soon" publication tomorrow!

-- fixed: the game would lock up upon loading OnLoaded dialogue without a convID.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 14, 2020, 08:54:26 PM
-- remade Battle with Gunther to ensure that neutral thief units that loot treasure chests work correctly in the new engine. (They do!)

-- added support for -ANY- as the item name in an OnGrab dialogue trigger.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 16, 2020, 10:05:03 PM
Finally added a Together in Battle banner to the main page of the website! :)

-- thought up a new event to script.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 20, 2020, 06:17:12 PM
-- began writing and scripting the new event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 23, 2020, 08:54:18 AM
-- remade the Lift Weights camp activity as a project with multiple potential outcomes each time it's chosen. Upon successful completion, it now increases the character's Strength stat by 1 or Health stat by 2.

-- camp activities now support the runScript attribute. Place the name of scripts accessible to camp activity scenes that you wish to immediately run upon a character performing this camp activity.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 24, 2020, 04:26:07 PM
-- new supported attribute types for the script action SetStringByNPC: himer, hiser, and heshe. Returns the appropriate pronoun of the specified type.

-- used the new capability above to improve the writing (and add new variants) to the letter event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 26, 2020, 03:44:40 PM
-- there is now more space between lines in the dialogue window.

-- shops now support a mixture of items that cannot sell out and those which are in limited supply within the same category.

-- improved the writing and scripting for the lift weights camp activity.

-- improved the layout of Battle at Grabber's Grove somewhat.

-- fixed: the game was not choosing from between alternate like text explanations.

-- fixed: a couple of small typos.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 28, 2020, 10:53:00 AM
-- worked on a new event/side quest.

-- fixed: a null error could occur with procedural character generation under certain circumstances.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 28, 2020, 07:00:18 PM
-- unique portraits can now be assigned a species attribute to ensure that eye-palette swapping is handled correctly for shadowlings and spirits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 30, 2020, 09:16:53 AM
-- finished creating a rough draft of the new side quest's battle.

-- fixed: if you capitalized the facing of a portrait in the AddPortrait or AddSpeakerPortrait script actions, the portrait would always face right.

-- fixed: the dialogue editor would inappropriately create two dialogue boxes in the editor when validating a new dialogue tree.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 30, 2020, 07:11:10 PM
-- worked on the side quest battle a bit more.

-- fixed: the new "unique" boolean on portraits wasn't accounted for in the save and load routines, leading to unique portraits not loading in some situations.

-- fixed: the dialogue editor would sometimes have to edit you edit the wrong dialogue or script when clicking a dialogue or script box after narrowing the available options via the search box.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 02, 2020, 09:00:27 PM
-- the first of the species-specific side quests is now done! Completing it successfully results in shadowlings becoming recruitable. :)

-- fixed: Feedback animation timing and positioning were off.

-- fixed: the game would demand that the player deploy a Protect Char unit even if that unit wasn't in the player's roster, preventing them from continuing the game.

-- fixed: mid-battle saves didn't take account of changes to the music mid-fight.

-- fixed: using a condition with a missing parameter could cause the game to throw a null error when saving mid-battle.

-- fixed: loading a mid-battle save that was saved on the turn reinforcements spawned would result in the reinforcements being duplicated.

-- fixed: the game was mishandling OnVictory dialogue triggered at the same time as a character level-up, popping up both simultaneously.

-- fixed: shadowling psy users were being generated with speed values appropriate for humans.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 05, 2020, 06:33:04 PM
Corresponded with an artist about the possibility of improving the look of the game's UI, and and talked to a potential programming intern who could help me out. Meanwhile, in actual development:

-- improved crossbowman Crossbow animation positioning.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 06, 2020, 04:51:22 PM
More artist correspondence. In the meantime:

-- implemented a handy little interface feature I'd long been wanting: when characters get new items in their inventory, a little symbol now appears over them indicating that they are new. The item remains marked with this symbol until the player mouses over (and off of) the item. This happens both to items characters grab off the battlefield and to items that are given to characters in the reserve supplies screen. This feature makes it extremely easy to tell what a character's gotten from grabbing an item sack, or which weapon or piece of armor you just gave them.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 09, 2020, 09:07:50 AM
Ran another virtual playtest over Discord on Wednesday.

-- began refactoring the bespoke 2D particle system code so that 2D particles will be framerate-agnostic. (This should eliminate that annoying effect where 2D particles spawn and move way too fast on fast machines, and way too slow on slow machines.)

-- you can now mouse over a character's class in the character screen to get a tooltip description of their class just as you can in the recruitment screen.

-- there is now a "shop guide" overlay to introduce new players to the various features of the new shop interface. It can be called automatically with a 4.5 second delay using a new boolean parameter in ShowShop, or the player can access it themselves by hitting the new '?' button in the shop interface:

(http://sinisterdesign.net/_TogetherInBattle/_Promo%20Assets/Together%20in%20Battle%20-%20Shop%20Guide%20%28Small%29.gif)

-- advice events no longer foreclose Gatherings.

-- added a pop-up animation to the New Turn box in battle.

--  fixed: the dialogue box wasn't using the smooth disappear animation in battle, and instead relying on an outdated "instant disappear" function from early in development.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 10, 2020, 03:49:30 PM
-- finished reimplementing the bespoke 2D particle system!

-- recreated all the particle system presets with new values that create the intended effect within the new framework.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 13, 2020, 05:47:54 PM
-- you can now click to skip through the "day changing" animation in the calendar.

-- improved the click-and-drag camera panning code. It now takes account of the framerate and zoom-out level, and adjusts click-and-drag-pan distances proportionally. This makes click-and-drag camera panning feel much smoother and more related to your inputs.

-- the cursor now changes to a grabby hand while click-and-drag panning the camera around.

-- there is now a "recruitment guide" overlay to introduce new players to the various features of the recruitment interface. The player can access it themselves by hitting the new '?' button in the recruitment interface.

-- added a damage fall-off tutorial to Battle at the Oasis.

-- added appear and disappear animations to the terrain inspector when it's toggled on and off to make it easier to see what change is occurring.

-- added the star icon alongside character level in the character screen, level-up screen, and recruitment info displayer in order to be consistent about its usage and ensure that the player can more easily infer what the icon refers to.

-- fixed: scaled-up instances of the bespoke 2D particle system spawned particles at the larger scale, but their velocity remained unchanged, causing them to appear to move much too slowly relative to their size. (Their starting velocity and gravity values are now scaled proportionally to fix this.)

-- fixed: it was possible to trigger part of an earlier tutorial in the qualifier fight after effectively skipping it.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 17, 2020, 10:41:31 PM
-- created a new game setting UI element for changing the game's control scheme based upon a list of Mouse and Keyboard plus whatever gamepads are connected.

-- the game now saves your choice of controller based on your selection and loads it upon restarting the game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 23, 2020, 12:03:38 AM
Oof. It turns out, coding gamepad controls for a ton of different menus is a real pain. Still, I'm making progress, slow as it may be!

-- you can now navigate the title screen's main menu, new game menus, and load game menu entirely using a gamepad. The left joystick and D-pad move from UI element to UI element, the confirm button selects, and the cancel button closes out the current menu.

-- you can now navigate cut scene narration entirely using a gamepad by using the confirm button to advance.

-- you can now navigate dialogue trees entirely using a gamepad; the selectable entries reflect the number of replies available. The left joystick and D-pad move from reply to reply and the confirm button selects.

-- you can now navigate custom cut scene menus entirely using a gamepad; the selectable entries reflect the number of buttons shown. The left joystick and D-pad move from button to button, prompting their pop-up tooltips, and the confirm button selects.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 23, 2020, 10:20:37 AM
-- fixed some issues in the gamepad movement behavior, including (but not limited to) tweaking timing and dead zones and detecting when the player likely intends to only move vertically or horizontally and locking out diagonal drift. The player can now easily just hold down in a direction to go through a menu quickly without sacrificing the ability to easily tap to go one entry at a time. Due to all this, the gamepad controls now feel much, much smoother and more predictable.

-- the game now systematically detects when page-advancing arrows are not present in the UI and disables their associated menu elements so the player doesn't end up selecting non-existent arrows with the gamepad.

-- record a little "tick" sound effect for moving the cursor to a new UI element in gamepad mode; it's now implemented in-game and working nicely.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 25, 2020, 12:26:17 AM
-- you can now navigate the recruitment interface using a gamepad.

-- the mouse cursor is now locked and invisible when in gamepad control mode.

-- fixed: the game was sometimes ending up with the last menu element in a menu selected in gamepad mode when said element was disabled.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 26, 2020, 07:06:35 PM
-- more work on gamepad navigation of the recruitment interface today, primarily focused on getting navigation behaviors consistent with what I would expect. Made good (but annoyingly slow) progress.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 28, 2020, 06:21:07 PM
-- further improved gamepad navigation behaviors through menu elements laid out non-linearly in 2D space.

-- finished up the recruitment interface--you can now navigate around and inspect all of the character stats, skills, and inventory items for each recruit before hiring.

-- you can now navigate to the settings screen on the title screen, and can navigate the settings screen itself and change settings, using the gamepad.

-- the gamepad can now be used to skip the game's intro movie.

-- began work on gamepad controls for battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 29, 2020, 06:25:52 PM
-- received new, painterly interface art from Franklin Chan that better matches the aesthetic of the cut scene backgrounds. Spent all day incorporating it into the game's battle interface.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 30, 2020, 10:48:24 PM
-- got revisions to new interface art; still integrating.

-- fixed: the game would display fake cursors on interface elements even when not in gamepad control mode.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 01, 2020, 07:44:02 PM
Submitted a build of Together in Battle to indiecade! As my last acts prior to doing so:

-- continuing to integrate new interface assets into the game; all of the main game menus, tooltips, cursors, etc. are now converted to the painterly interface art.

-- got the main campaign editor screen converted over to the new interface art, along with the the item editor, skill editor, and dialogue tree editor.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 02, 2020, 08:33:02 AM
-- fixed a wide variety of bugs and small graphical glitches that I don't feel like individually documenting here.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 04, 2020, 11:21:35 PM
-- spent the past few days modeling, texturing, and animating cloth banners in Blender, then importing them into the game. They now appear on the new turn box, and in my opinion, they look pretty fantastic. :)

-- fixed a silly little bug where the hourglass cursor would inappropriately change back to the default cursor early on in AI army turns.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 08, 2020, 01:05:09 PM
-- created alternate colors of the new turn box banners for each possible army color; the game now selects the animated cloth banner of the color matching the army whose turn it is.

-- created animated cloth banners for the victory screen with alternate colors for the victorious army.

-- improved the look of the victory screen victory fireworks.

-- you can no longer create an ice bridge in a space where a character is currently swimming.

-- doubled the strength of qualifier opponents in the Qualifier when playing on challenging difficulty.

-- the player now starts off with 5 bandages already in reserve supplies when playing on relaxed difficulty.

-- reduced the ringleader's strength in the "save grandpa" battle when playing on relaxed difficulty.

-- fixed: the "save grandpa" battle wasn't using death rules appropriate to the chosen difficulty level.

-- fixed: the character screen inventory sub-window was obscuring character physical attributes.

-- fixed: the sub-menus for each item button in the character screen inventory sub-window was missing its background image.

-- fixed: the shop tutorial had become misaligned.

-- fixed: terrain inspector could appear below victory screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 08, 2020, 06:43:06 PM
-- fixed: the global lighting in each level was affecting the appearance of the 3D animated banners on the turn and victory UI elements.

-- fixed: particles in the bespoke 2D particle engine weren't retaining their z axis position, resulting in issues when used in canvases set to World Space mode.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 10, 2020, 07:29:12 AM
-- increased grandpa's health in the "save grandpa" battle when playing on relaxed difficulty.

-- wrote a new set of greeting responses for imaginative characters.

-- created a separate boolean variable to track whether a game demo is an online demo or a convention demo, then switched on/off various behaviors as appropriate to the setting.

-- fixed: there wasn't a yellow hue variant for the turn box and victory banners.

-- fixed: the friendly greeting approach lines described the character smiling, but the portrait did not actually smile.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 11, 2020, 06:55:17 AM
-- added some code to the procedural character generator to prevent the game from randomly generating more than a few recruits of the same class in the recruitment interface at any one time, ensuring the player always has a good variety of classes to choose from.

-- tweaked unit placement in Battle at the Oasis for Brutal difficulty and for the online demo.

-- wrote new approach line variations and info response line variations for proc gen character dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 12, 2020, 06:20:48 PM
-- updated the map editor with all the new interface art!

-- finally, definitively fixed the issue where unit tooltips could show up partially offscreen in battle. (I hope.)

-- fixed a spot in the AI code where a divide-by-zero error could occur, freezing the game.

-- fixed: the victory banners would sometimes appear momentarily when loading a mid-battle save.

-- fixed: mid-battle saves did not capture the currently playing sound loop, resulting in the sound loop's absence upon reloading mid-battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 15, 2020, 08:38:26 AM
-- you can now make only one mid-battle save per round. (Previously, you could fill up as many slots with copies of the current round's save as you wanted before proceeding, which opened the door to opportunities to cheese the game's RNG.)

-- new script action: WaitForDialogueEnd. This is a timing action that pauses the execution of all subsequent actions until the current dialogue text has finished animating onscreen.

-- placed WaitForDialogueEnd before animated status bars and pop-up text actions in camp activity dialogue; this should make it much easier for players reading the dialogue to catch the effects of the conversation.

-- added a new, optional integer "spawn delay" parameter to the PortraitParticles script action.

-- added to the camp activity narration for sewing to make it clear that the character's morale was increasing.

-- darkened the grayed-out tint on shop equipment no one can use a bit more to make it more easily distinguishable at a glance.

-- fixed: the scene transitions in the demo weren't adjusted to account for the extra battle I'd thrown in.

-- fixed: the end-of-demo scene was still displaying the (local to the machine) email sign-up form from PAX.

-- fixed: if the last AI-controlled enemy died of environmental hazard or status effect damage before their move processing had completed, the game would stall forever as it waited to finished processing moves for that now-nonexistent character.

-- fixed a null error that was accidentally introduced by an earlier code tweak.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 16, 2020, 02:07:29 PM
-- updated the character creator and the cut scene editor with all the new interface art! That's the last part of the game that needed the new UI art implemented.

-- made the Awkward personality trait mutually exclusive with Narcissistic due to wild inconsistency in outwardly expressed character self-image in the dialogue associated with each.

-- placed WaitForDialogueEnd before animated status bars and pop-up text actions in random event dialogue.

-- added confirmation windows to the shop and recruitment interface when the player selects the Exit button, warning them that if they leave they won't see those characters or items again.

-- added a dedicated Exit button to the Reserve Supplies screen.

-- fixed a typo in the card games hobby "like" dialogue text.

-- fixed: a null error could result when using a one-use item that was still marked "new" within a character's inventory as the game tried to mark the item no-longer-new after it was removed from the inventory.

-- fixed: GoTo-type actions would not remove themselves from the action queue until after going to a new branch, which would clear the actions queue and repopulate it with other actions. Since the original actions no longer existed in the queue, these new actions from the destination branches would be inappropriately removed from the actions queue instead.

-- fixed: the female spearman's shove sprite sheet was compressed, leading to failed palette swapping during the animation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 17, 2020, 10:24:46 AM
-- caught and fixed some missing tooltip textures in the item and skill editors.

-- caught and fixed some missing cursor textures in some of the editors.

-- fixed: a null error when randomly generating a generic character in the character creator.

-- fixed: a null error in the cut scene editor.

-- fixed: the confirm and cancel buttons in the load scene menu in the cut scene editor had broken.

-- fixed: the confirm and cancel buttons in the load scene menu in the cut scene editor had been reset to load battles instead of cut scenes.

-- fixed: the title text overlapped the sub text in the "save before creating new character?" pop-up window in the character creator under certain circumstances.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 18, 2020, 05:04:42 PM
-- added support for the player reference string to the character creator. The game can now successfully save that value to XML and will load it from XML when loading a premade unit.

-- caught and fixed a few remaining missing UI textures hidden in a few nooks and crannies of the character creator.

-- caught and fixed a few remaining missing UI textures among the map editor's army sub-editor's button tooltips.

-- added mouseover tooltips to the music selection submenus in the map and cut scene editors.

-- improved tooltip placement in the cut scene info bar.

-- improved tooltip scaling and placement in the army overview window.

-- the game now checks premade characters to see if they're lacking a default skill animation; if they are, the game now attempts to find and plug in the default skill animation for their class.

-- fixed: the game was accidentally deleting all of the item templates when generating characters for testing within the campaign creation suite, causing characters to all spawn without the items and equipment assigned to them in the character creator.

-- fixed: characters in the character creator were not having their default skill animations saved during the save process.

-- fixed: the character creator was failing to remember that randomly generated generic characters had generic portraits, and then therefore saved their portraits incorrectly.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 22, 2020, 11:01:21 PM
-- the time that combat barks remain onscreen now changes based on the length of the bark. The longer it is, the longer it remains onscreen before disappearing.

-- fixed: changing the sound effects volume wasn't affecting the volume of currently playing sound loops.

-- fixed a typo in one of the camp narration variants for word games.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 23, 2020, 11:33:30 PM
Sent out contracts to voice actors; gave feedback to artist and composer.

-- fixed: the space selector was remaining onscreen during combat exchanges.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 04, 2020, 05:54:33 PM
I had to give myself a little break from development there--I didn't want to burn out after that big push for the summer Steam Game Fest event. But I'm back!

-- scripted a custom effect for Create Bridge and Create Barricade skills: the max health of the object created now depends upon the combined strength and psy of the character creating it. (Weapons are taken into account--an Engineer with a more powerful Wrench will build sturdier battlefield constructs.)

-- scripted a similar custom effect for Solid State Shield, but it only takes into account the character's Psy.

-- fixed a graphical blemish on the male engineer portrait background.

-- fixed: a seemingly innocuous change in code order had caused the game to cease respecting false Kill-All Victory conditions.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 08, 2020, 07:05:22 PM
Gave my voice actors feedback. In the meantime:

-- incorporated six new cut scene backgrounds from Franklin Chan into the game; put the new daytime docks background into the introductory cut scene.

-- the AI now scores moves involving a character standing still and using a turn-ending Shield skill a lot lower to discourage enemies from wasting entire turns just buffing themselves.

-- fixed: the AI was weighting status effects way too heavily when scoring different moves.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 20, 2020, 02:44:14 PM
-- created a new "drowning"  sound effect that triggers when a character takes drowning damage in water.

-- fixed: it was possible to click outside of yes/no screens in the reserve supplies screen without resolving the question posed.

-- fixed: null errors could result when characters died from status effect damage during an enemy turn on certain Death Rules settings.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 22, 2020, 12:50:51 PM
-- fixed: the Axefighter ability animations weren't getting palette swapped.

-- fixed: you sometimes couldn't swap items in the reserve supplies screen during deployment in battle.

-- fixed: the AI would grab an item sack on the destination space after using Swim.

-- fixed: a range error could occur when the AI used Swim to self-target a unit on a water tile and the game checked for ice bridge creation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 26, 2020, 09:12:47 PM
Received the last of the "generic" voice over performances!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 04, 2020, 01:55:37 PM
-- fixed: shoving a character into the edge of a map would sometimes throw a range error.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 22, 2020, 12:26:24 AM
Hey folks! I'm back. If you've wondered where I've been, I've been struggling pretty hard with keeping up the motivation to continue developing games lately, what with American society teetering on the brink of complete collapse these past few months. I'm here now, though, and I'm working on procedural battle generation.

To that end:

-- I finished up the map editor's map generation window interface for generating enemy (and allied) armies.

-- the game now stores up to 3 groups of units for each army in the interface. It now remembers them and re-displays them when switching between armies in the interface.
Title: Re: Together in Battle Dev Log
Post by: Sythion on September 22, 2020, 01:25:16 AM
I'm glad to hear you're ok! Remember, personal well being matters more than this.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 22, 2020, 04:49:33 PM
Thanks Sythion. :)

More progress:

-- the battle generator now successfully spawns one or more enemy armies onto the map. Unless the map is too small for all the units on it, all (or nearly all) enemies will be placed out of immediate move-and-attack distance of any human players.

-- a graphical improvement: lava tiles now have emissive materials (meaning they appear to be self-lit regardless of surrounding lighting conditions, and without you having to manually place lights over them). They also actually emit light and softly pulse.

-- the map editor now auto-adjusts the global lighting to either Night or Cave (depending on whether the cave tileset is being used) by default when lava tiles are used as the hazard tile to generate new terrain.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 23, 2020, 06:25:34 PM
-- updated the map editor's map generation window interface for generating destructible objects on the battlefield.

-- the procedural battle generation algorithm can now spawn destructible objects around the battlefield, and can probabilistically place items within subsets of those objects (e.g. chests or barrels) to drop upon their destruction.

-- improved the army placement algorithm for proc gen battles featuring more than two armies. Armies now "clump" together more in their starting positions, and are now less likely to spawn scattered amongst enemy armies.

-- fixed: the game was ignoring other units spawned within the same group for purposes of determining available spaces.

-- found, fixed a couple of incorrect or missing dirt tile transitions in the snow tileset.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 24, 2020, 04:22:46 PM
-- proc gen armies generated in the map editor are now formatted with extra data to allow them to be saved successfully into map files and loaded in-game with the same spread of levels and classes that were chosen in the map editor.

-- proc gen destructible objects generated in the map editor are now formatted with extra data to allow them to be saved successfully into map files and loaded in-game with the same spread of types and inventory that were chosen in the map editor.

-- tweaked the default map generation values to ensure that you can produce interesting maps easily without too much work.

-- fixed: the deployment space placer needed to be tweaked to account for the new proc gen destructible objects.

-- fixed: the Generate Map window wasn't auto-closing when opening a different menu in the map editor.

-- fixed a bunch of little null and range errors that can occur when attempting to load improperly formatted units into a battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 25, 2020, 05:30:32 PM
-- you can now flag a battle as "proc gen"; if you do, the map editor will save the most current "Generate Map" settings in the map file itself so the game can use them to generate a new map whenever the scene is loaded.

-- the game can now save proc gen settings to XML and parse those settings upon loading the level.

-- the game can now randomly place items into the inventories of characters within proc gen armies in a manner similar to that of proc gen destructible object groups.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 27, 2020, 01:38:09 PM
-- you can now load a level marked as proc gen within the map editor, and it will both generate a new map within your specifications and also auto-populate the Generate Map window with those same settings for editing.

-- chests are now treated as having move-and-attack range of 5 to ensure that they never spawn within 5 spaces of the player on a proc gen map.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 27, 2020, 06:47:59 PM
-- the battle generator can now place bridges onto proc gen maps!

-- the battle generator now defaults toward orienting player deployment spaces vertically when they are closer to the left or right edge of the map than to the top or bottom edges.

-- the battle generator will no longer spawn characters on spaces where they have no moves available.

-- all characters placed by the battle generator now spawn facing their closest enemy rather just facing the center of the map.

-- reduced the maximum health on trees to make chopping them down less slow and burdensome.

-- fixed: it was possible for destructible objects to spawn on the same space as a deployment tile.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 28, 2020, 11:01:23 PM
-- got proc gen battles generating and loading in the main game (as opposed to just the map editor).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 29, 2020, 11:33:07 PM
-- destructible objects created in proc gen maps are now automatically tagged so that the AI will consider them viable attack targets if a) they contain items, or b) they have health of 12 or less.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 30, 2020, 07:02:34 PM
-- fixed a bunch of bugs in procedural battle generation.

-- adding "threat" to objects and units can now be accomplished via the BaseThreatRange tag. For example: BaseThreatRange,6 will make it so that the tagged unit or object will never spawn closer than 6 spaces away from the player in proc gen maps.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 12, 2020, 11:46:12 AM
Continued AI work!

-- fixed a typo in the AI code that was responsible for making units run toward healers when low on health.

-- optimized the base target value lookup routine in the computer AI code.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 12, 2020, 07:10:14 PM
-- I've got a new, important AI feature working; when a unit has no moves available to them because they're blocked in by destructible objects, the game will now "sniff out" multiple blocked paths that the unit could take to a desired target; the unit will then target those destructible objects with attacks to open up a path! (They will do this even with objects that are not player-created or tagged with TreatAsArmy.)

See: https://twitter.com/sinisterdesign/status/1315806939037790214 (https://twitter.com/sinisterdesign/status/1315806939037790214)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 14, 2020, 01:08:47 AM
-- renamed the shopkeeper from Ghani to Nihal based on feedback.

-- new parameter added to the NewBackground/ChangeBackground script action: skip transition. A boolean that either causes the background to transition normally (if left false), or to flip instantaneously (if set to true).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 14, 2020, 02:09:09 PM
-- you can now mouse over physical attributes in the character screen for a tooltip explanation of what each does.

-- you can now mouse over physical attributes in the recruitment screen for a tooltip explanation of what each does.

-- updated physical attribute descriptions to be more accurate and comprehensible.

-- fixed: the game no longer waits until a cut scene has finished fading in to run dialogue actions, thereby allowing the "lights to come up" on a scene that's already been altered by script actions.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 19, 2020, 01:44:08 PM
-- added the first true proc gen arena battle to the level progression.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 20, 2020, 11:49:30 PM
-- fixed: the game was initiating the first turn prematurely in battle after running OnLoaded dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 21, 2020, 08:45:32 PM
-- the proc gen map algorithm now favors placing player deployment spots closer to the edges of the map.

-- proc gen maps now support an integer range for the variables hazard frequency, hazard area, maximum elevation, elevation smoothing, and number of deployment spawns, allowing for a greater variety of possible results from any given map.

-- added a new "grouping size" parameter that periodically reverses the "proximity to allies" placement bonus to encourage enemy clusters in distinct locations around the map.

-- fixed: the proc gen map algorithm was inappropriately disregarding player deployment spots when placing enemies in-game.

-- fixed: the proc gen map algorithm was failing to consistently test proximity to all player deployment spots when placing enemies in-game.

-- fixed: the game was inappropriately placing hazard tiles at the same elevation as the bridges above them when generating proc gen battlefields in the main game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 22, 2020, 05:53:10 PM
-- player deployment spawn points are now factored in when determining initial enemy facing in proc gen maps.

-- fixed: player deployment spawn points weren't being assigned a facing direction in proc gen maps in the main game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 27, 2020, 01:16:03 PM
-- worked on the AI some more.

-- wrote a little in-battle event for flavor and plot in Battle at Double Bridge.

-- fixed a visual glitch that was causing the victory box banners to appear onscreen for a fraction of a second at the start of battle.

-- fixed: the "background chatter" sound loop from the Adelbrae tavern scene was continuing after the first encounter with Gunther began in The Vengeance of Emma Strider.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 28, 2020, 09:04:40 AM
-- the AI will now attack destructible objects to clear a path to targets who would otherwise be within immediate move-and-attack range. (Among other things, this makes the Zash and Red battle much more interesting if you go for the chest!)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 28, 2020, 08:29:40 PM
-- the AI will now consider more alternative routes to a target when testing out path-clearing moves. (See e.g. the swordsman in the bottom-right here (https://twitter.com/sinisterdesign/status/1321509944613605376).)

-- added facial expressions to Zash's combat dialogue.

-- improved the look of bottom-row chasm tiles.

-- fixed: if an AI character got themselves killed during their turn, the AI move following it would not take into account that character's death (e.g. assuming that that character's space was still blocked).

-- fixed: stopping all sound loops via a global StopLoops action would not clear the "active loops" reference list, resulting in those loops remaining saved as the active loops for mid-battle saves going forward into the game.

-- fixed: there was a missing background on one of the dozens of tooltips in the character screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 29, 2020, 10:26:26 PM
More work on recreating Telepath Tactics in the new TiB engine!

-- began recreating the Rescuing Meridian battle along with the cut scene leading into it.

-- fixed some facial expressions in the Silithis and Ambuur Sang cut scene

-- fixed: the Silithis and Ambuur Sang cut scene no longer leads an "end of demo" scene.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 31, 2020, 12:03:48 PM
-- implemented the AddTagToArmy action; it behaves exactly like AddTag, but it takes an army number as its first parameter instead of a character name. Whatever tag you want to add, with its attendant parameters, becomes the remaining parameters of the script action. That tag gets added to every unit in the specified army. (You can achieve the same thing now with ForLoop and AddTag, of course, but AddTagToArmy is just plain faster and easier.)

-- AI tweak: improved scoring for path-clearing moves to exponentially weight the relative damage the character can do to an object, thus preventing the AI from attacking objects it'll take many turns to break (e.g. using swords or bows on boulders) unless there are really no better moves available.

-- fixed: the space selector could appear and move around onscreen in dialogue during a MoveCam action.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 03, 2020, 07:04:33 PM
-- fixed the pivot point on the crossbowman Bayonet animations.

-- fixed the alignment of arrow and crossbow projectiles during Bowman and Crossbowman attack animations.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 04, 2020, 04:40:31 PM
-- when you knock a unit into another unit, it now animates the knocked-back unit going into (and then rebounding out of) the adjacent space to visually represent the collision.

-- the game now detects knockback into a space with elevation too great to move into as knockback into a wall, and adds collision damage appropriately.

-- the game now recognizes -ANY- as a valid input for the first parameter in the OnReachingArea dialogue trigger. This causes dialogue to trigger no matter where the character moves, thereby effectively replacing the old OnMoveCompleted dialogue trigger.

-- implemented script ID support for use as character names in all remaining dialogue triggers.

-- fixed: the game wasn't checking for unfinished forced movement as part of a combat sequence after running dialogue triggered mid-sequence, resulting in certain things (like impact sounds for characters pushed into water) not always playing when they were supposed to.

-- fixed: if you triggered the first pyrokineticist in the Rescuing Meridian battle, it wouldn't remove passive behavior from the surrounding units.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 09, 2020, 11:17:27 PM
-- fixed: the game was playing a clicking sound twice in succession when switching pages in the campaign editor scene testing menu.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 10, 2020, 02:40:35 PM
-- when a computer-controlled character's Passive tag is removed during the AI's turn, the game will now check to see if it previously skipped over that character due to having no short-range moves available for it. If it did, the AI will recalculate that character's move without the Passive tag limiting it to only short-range moves.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 12, 2020, 11:54:58 PM
-- added text pop-ups accompanying the use of stat-altering items in battle.

-- tightened up the timing on inter-unit collisions with knockback attacks.

-- improved the timing on kinetic knockback skills.

-- fixed a null error that could occur in cut scenes.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 16, 2020, 08:58:48 PM
-- created sound effects for using bandages, swallowing pills, drinking liquids, using a whet stone, and using keys.

-- added a sound attribute to items. The attribute designates a sound effect to play when the item is used, and without having to rely on the runsScript attribute.

-- increased the effect of a negative physical growth trait on the affected stat; it now imposes a growth ceiling of 2 instead of 3.

-- adjusted positioning of physical trait buttons in recruitment interface.

-- fixed: the game wasn't correctly repopulating the personal equipment and sellable properties of items upon reloading a saved game.

-- fixed typos in a couple of the "like" lines for pessimistic characters.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 17, 2020, 10:11:13 PM
-- updated Unity to the latest version.

-- spent a few hours squashing bugs resulting from the update.

-- updated the engine to use Unity's new Universal Render Pipeline.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 18, 2020, 01:58:22 PM
-- switched over the game from gamma to linear color space for more accurate colors, lighting, and post-processing.

-- wrote a new world position UV shader in Shader Graph to handle terrain tiling in the universal render pipeline.

-- wrote a new variant shader for liquid terrain that animates the liquid slowly sloshing back and forth.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 19, 2020, 06:46:49 PM
-- new tag: StopsCounters. One parameter: Skill Name. This makes it so enemies cannot counterattack the tagged character when the character uses the specified skill (or skills which depend upon it).

-- increased the likelihood of proc gen weapons and armor having attributes.

-- new proc gen weapon attribute: Blinding. An even stronger version of Brilliant, it boosts Dodge by 15%.

-- new proc gen weapon attribute: Staggering. Boosts damage at the cost of reflexes and energy even more than Heavy does, and also prevents enemy counterattacks.

-- new proc gen armor attribute: Camouflaged. Causes the unit to be valued 10% less by the AI when choosing targets.

-- new proc gen armor attribute: Aquatic. Causes the unit to gain 100% resistance to Drowning damage.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 22, 2020, 05:56:36 PM
-- trees and foliage now visibly sway in the wind (https://media.giphy.com/media/YT1DKLAu5UkpdbGNd9/giphy.gif) during battle.

Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 24, 2020, 08:39:11 PM
-- updated liquid shaders for in-game lava; lava now glows in a fashion that reflects its visual appearance.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 28, 2020, 06:04:37 PM
-- nerfed the psy fighter classes slightly by making them vulnerable to slashing damage, closer to how they're balanced in Telepath Tactics.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 30, 2020, 12:32:01 AM
-- the item editor now has a field where you can customize an item's "use" sound effect.

-- the item editor now has a sound effects browser where you can play all of the game's sound effects and select one to use.

-- created new "Sound Effects" button graphic for the button that opens the sound effects browser.

-- fixed: it was still sometimes possible for the game to throw a range error during a certain part of procedural character creation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 30, 2020, 04:15:47 PM
-- proc gen shields and armor can now have the attribute Beautiful, which raises the wearer's morale by 1 when equipped.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 03, 2020, 06:25:40 PM
-- began the process of breaking apart character background dialogue into distinct subcategories (hometown, vocation, family, etc.) to add more depth and variety to inter-character dialogue.

-- it is now possible to directly insert biographical details into text using the special character -BIO:X-, where X is a valid biographical detail type (e.g. region, hometown, raised by, siblings, worships).

-- it is now possible to require certain biographical details for certain character dialogue (and to require the absence of other biographical details) when characters are procedurally generated.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 10, 2020, 06:57:12 PM
-- added fire sway and smoke particles to the lit campfire object.

-- fixed: got bloom effects working in battle; impact sparks in combat now visibly glow!

-- fixed: got step text and reticle overlay text displaying over everything else correctly.

-- fixed a null error that occured when the game tried to check for a renderer for swaying animation purposes on a 3D destructible object.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 12, 2020, 04:44:52 PM
-- began writing a new evening event: a merchant approaches you to deal with employees carrying on a strike.

-- improved the sale evening event to make more narrative sense, and to offer a spread of potential discounts (between 15% and 30% instead of just always being 20% off).

-- the smoke-emitting property for destructible objects is now saved, ensuring that it carries over for mid-battle saves.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 25, 2020, 10:50:05 PM
-- after an extended struggle, I have rewritten the palette-swapping system in the game from scratch to be compatible with the new rendering pipeline. Character sprites once again appear the color corresponding to their army (as opposed to everyone being violet).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 05, 2021, 03:07:04 PM
-- finally got palette swapping for character portraits working again after completely rewriting the logic for it from scratch.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 06, 2021, 02:37:54 PM
-- manually replaced character portraits in the cut scene dialogue and recruitment interfaces.

-- added in layers for glasses and hats as accessories for character portraits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 09, 2021, 12:26:52 AM
-- finished converting all of the old palettes into a format the new palette-swapping shader can use.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 10, 2021, 04:38:11 PM
-- finished reconstituting the skin, hair, and eye palette-swapping logic for portraits of humans, lissit, and spriggats.

-- fixed bugs in the new palette swapping logic.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 11, 2021, 03:35:17 PM
-- painted a new, higher resolution "frame background" for character buttons in the deployment and reserve inventory screens.

-- updated to the new character portraits in the Character Screen, Level-up Screen, Army Overview Screen, Reserve Supplies screen, Deployment Menu, and Actions Bar.

-- updated the portrait background frames in the Reserve Supplies screen and Deployment Menu.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 11, 2021, 09:26:23 PM
-- got selection circles in battle palette-swapping again!

-- fixed pop-up text position and kerning in character portraits.

-- fixed animated bars clipping through the ground in battle.

-- fixed: character noses were not showing up in dialogue portraits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 13, 2021, 10:23:25 AM
-- added a glow effect to combat visual effects. (They look much cooler now!)

-- further improved the look of the "attack hit" shower of sparks.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 13, 2021, 04:34:31 PM
-- fixed portrait palette-swapping issues for Shadowlings.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 04, 2021, 03:41:07 PM
The forums have been down for a bit, so there's a lot here that's missing. Suffice it to say, I migrated the site to a new hosting service; fixed an absurd number of bugs; made it so you can use items in the reserve supplies screen; finished the strike-breaking mission; added/tweaked some dialogue and event content here and there; and uploaded a new demo for the game to Steam for the Steam Game Festival Winter 2021! Go ahead and play it there (https://store.steampowered.com/app/1267210/Together_in_Battle/?beta=0)--it'll be taken down on the 9th.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 07, 2021, 12:50:10 AM
-- wrote some new character lines and fixed a few typos.

-- characters without any counterattacks whose counter limits rise from 0 to 1 via a status effect or other contrivance now get a temporary counterattack in the form of whatever attack skills their equipment gives them, or if no such skills exist, then in the form of whatever their cheapest natural attack skill is.

-- fixed: characters whose counter limits rose from 0 to 1 upon learning a new counterattack on level-up were not keeping these gains.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 09, 2021, 12:18:40 PM
-- the game now displays correctly on 16:10 display resolutions!

-- you can now change the game's display resolution at runtime from inside the Game Settings menu.

-- fixed: units were sometimes getting generated without essential starting skills or counterattacks available to them at level 1.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 09, 2021, 07:45:20 PM
-- overhauled the game's "click on a unit behavior" so that you can click and drag anywhere onscreen (including on characters, bridges, and other objects) to pan the camera around.

-- boosted the likelihood of the AI choosing backstab moves proportional to its aggression factor.

-- fixed: the SetNextScene script action wasn't working in battle scenes.

-- fixed: some of the game's portraits were looking a bit janky due to filtering settings.

-- fixed: coloration was off on the hands of generic shadowling portraits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 10, 2021, 05:27:48 PM
-- the game now saves your last selected display resolution and restores it upon restarting the game.

-- some balance tweaks for psy healers and gasul: reduced the power of Mind Shield by 30%; increased the maximum range of Mega Shield to 2 while reducing its power slightly and increasing its cost to 6; increased the cost of Long Shield to 7, Static Shield to 12, and Titan Shield to 16. Over all, these tweaks should help ensure that remaining stocked on bandages remains a priority even if you have a healer.

-- fixed: left-clicking units was causing the cursor to flicker the "grab hand." The game now waits for the cursor to be held down a fraction of a second before it changes to the grab hand.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 12, 2021, 08:50:54 AM
-- balancing tweak: Frozen status now increases the victim's Pierce Res. and Slash Res. by 50% while the status effect lasts, and reduces Crush Res. by 25%.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 12, 2021, 05:01:36 PM
-- when mousing over equipment in the shop, there is now a pop-up that tells you which of your characters can use it.

-- fixed: there was a color missing from the army color palette for character portraits that sometimes showed up in accessories.

-- fixed: the status effect icon was displaying above the new turn box in battle.

-- fixed: spirits and golems picked up via the recruitment interface were getting bio details and family members.

-- fixed: golems were getting likes and hobbies during character generation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 13, 2021, 10:16:41 AM
-- increased the sophistication of the "Interested in this equipment" shop pop-up: the game now not only looks to which characters can use the equipment, but also checks to see if they have that equipment slot filled already--and if they do, whether the equipment in that slot is less valuable or is close to breaking. (If a character can use the equipment but already has something better equipped that's not close to breaking, they won't be listed as interested in it.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 13, 2021, 04:46:02 PM
-- reworked the "new item" symbol a bit. It's now a less-alarming orange color (as opposed to the bright red it was before).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 17, 2021, 07:15:31 PM
-- fixed a range error that could occur during evening gatherings with golems on the team.

-- fixed: golems could be chosen to approach for Talk activities despite having no approach line.

-- fixed: the additional color added to the army color palette for portraits was preventing lissit spines from palette-swapping properly.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 18, 2021, 04:13:54 PM
-- received new deployment music from Ryan Richko; made it loop and added it into the game.

-- incorporated procedurally generated battles into the arena battle hopper for the first time!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 19, 2021, 09:42:04 AM
-- scripted an informal "timer" event for arena battles where the crowd eventually gets bored and starts booing you if you take too long, followed shortly thereafter by ever-increasing loss of prize money.

-- changed the text description for Decoy, added a swaying visual effect to the Decoy Shadowling sprite.

-- fixed palette issues in some of the unique shadowling portraits.

-- fixed: I had accidentally broken the bit in character generation where character likes are saved to the unit data.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 20, 2021, 01:15:40 AM
-- fixed: the game could choose the wrong sort of gambling narration for characters going into town to gamble on their own behalf.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 20, 2021, 01:52:29 AM
-- tightened up a few variants in certain lines of proc gen dialogue.

-- fixed typos in a few lines of proc gen dialogue.

-- fixed: the Grapple Pull chain animation wasn't playing.

-- tightened up the timings and positioning data for the Grapple Chain visual effect.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 20, 2021, 08:51:20 PM
-- fixed: one of the "New Item" symbols was incorrectly assigned in the individual character inventory sub-window of the Reserve Supplies screen, causing it to not react to the item being moused over.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 21, 2021, 12:52:22 PM
-- the engine now supports degradation of all skill-granting equipment, regardless of whether it is equipped in the Weapon Hand!

-- skills now support skill tags! Under the new attribute skillTags, you can now create skill tags by delimiting the following values with commas: string stat name (e.g. Class); string stat value; operation; and thing to affect with that operation if the string stat value matches (Damage or Accuracy). Delimit individual skill tags with forward slashes.

-- Lockpicks no longer grant the ModDmgVsClass tag; instead, Pilfer itself now has the skill tag Class,Chest,+:50,Damage.

-- Lockpicks are now equipped to the Off Hand.

-- improved the sound effects and visual effects associated with Pilfer.

-- the recruitment interface now shows a character's salary using the aura symbol instead of displaying the word "aura."

-- restaurants are now a distinct hobby characters can get.

-- fixed: the game was sometimes having characters visit restaurants in town when it was trying to have them rest.

-- fixed: the ranged damage fall-off tutorial was still showing up in Battle at the Oasis even if you'd turned off tutorials.

-- fixed a range error that could occur in rare circumstances during processing of attack damage.

-- fixed: it was possible to skip over a cut scene by double-clicking very quickly at just the right moment.

-- fixed: sometimes you could click a character and the space selector would remain elsewhere.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 22, 2021, 07:49:46 PM
-- new skill: Shove 2! Shoves the target 2 spaces instead of 1 at a cost of 4 energy.

Most melee classes have a chance to learn this skill, but Stone Golems are the best at it: they can use this ability for a mere 1 energy due to their immense size and strength.

-- the anim attribute for skills now supports alternative animations for skills that can be used by multiple classes without the same animation sets. Each animation to be used is delimited by a forward slash.

-- the recruitment tutorial now shows up automatically the first time you go to recruit characters in the main campaign.

-- fixed unwanted highlighting behaviors in the recruitment interface.

-- fixed compression settings on a few portraits.

-- fixed: it was possible to produce tooltips by mousing over units in the middle of attack sequences, thereby obscuring attack animations from view.

-- fixed an edge case where characters with both Shove and Cast could use the wrong animation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 23, 2021, 08:57:02 PM
-- changed minimum recruitment in the recruitment interface from a hard limit that prevents you from leaving to a warning pop-up that you can choose to ignore.

-- put a minimum of 6 on main campaign recruitment in case the player misses the recruiter's team size recommendation.

-- the level-up screen now announces it when a character has acquired a new ModSkill tag, informing the player which skill has improved and in what way.

-- added a bunch of new physical traits to the game, increased the importance of a handful of existing traits.

-- made the intro cut scene less needlessly verbose.

-- fixed: starting tags weren't being applied to proc gen characters.

-- fixed: the game threw a range error when units collided from a ranged pulling ability like Grapple Pull or Kinetic Pull.

-- fixed: status effect popups and environmental damage pop-ups were occurring at the start of a turn, prior to the turn box being cleared.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 24, 2021, 06:38:37 PM
-- fixed: the map editor would prevent you from painting a bridge or other passable object onto the same space as an existing character.

-- fixed: pushing or pulling a unit onto a bridge would always result in falling damage regardless of the elevation change.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 27, 2021, 08:26:41 AM
-- fixed: you could effectively freeze the game by attempting to test a new map within the map editor that you had not yet saved. The game now first checks to make sure that your map exists when you attempt to test it.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 27, 2021, 01:19:38 PM
-- fixed the delay on displaying sparks and damage when skills smash characters into each other.

-- fixed an annoying visual glitch where characters traveling upwards across grass or flowers would render beneath the foliage.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 01, 2021, 05:32:54 PM
-- edited the portrait shader to support glow effects for spirits, and for shadowling and spriggat eyes.

-- fixed a graphical issue with the large window background graphic.

-- fixed: the dark colored portion of the spriggat horn images was slightly miscolored, leading to palette swapping errors in spriggat portraits.

-- fixed: recruiting a spirit could cause the game to throw a null error.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 02, 2021, 08:41:44 PM
-- character portraits now bob when moving during cut scenes to give the illusion of walking (as opposed to smoothly gliding from spot to spot).

-- the game now supports mid-battle saving with proc gen maps.

-- fixed: certain dialogue was being chosen too prevalently during character creation.

-- fixed: text was inappropriately overlaying other graphical elements.

-- fixed: status effects were inappropriately overlaying other graphical elements.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 03, 2021, 01:34:17 PM
-- character portrait bob no longer occurs for spirits and shadowlings, which glide through the air as normal.

-- character portrait bob is now accompanied by footstep sound effects synced to the animation.

-- improved the visual effects for Solid State Shield, Static Shield and Juxtapose.

-- fixed: Static Shield tooltip didn't display correct icon.

-- fixed: Juxtapose would sometimes swap the wrong character.

-- fixed the timing on Shadowport sound effects.

-- fixed the kerning on some tooltip titles in the recruitment screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 03, 2021, 04:47:49 PM
-- recorded new sound effects for Smash, Juxtapose, Mind Control, Possess, Throw Voice, and Terror.

-- updated sound effects for Soul Suck and Douse.

-- fixed: character sort order could be put out of whack by teleportation effects like Shadowport and Juxtapose.

-- fixed: attack sequences could conclude prematurely when smashing an enemy capable of counterattacking into something else via a knockback attack.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 04, 2021, 03:16:22 PM
-- created a new, more fitting skill button graphic for Juxtapose.

-- fleshed out more of the faith traditions in Cera Bella.

-- added more explicit references to a character's patron deity in religious dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 04, 2021, 09:24:13 PM
-- improved the knockback timing on Smash.

-- improved the visual effects on Pyro Hail.

-- fixed: offset data for TowardCenter visual effects was only affecting the spawn location of the effects, not its travel target.

-- fixed: playing a custom campaign, quitting to the title screen, and then visiting the campaign editor would cause the editor to auto-load that campaign.

-- fixed bug: the game was not properly assigning promotion levels to procedurally generated characters, leading to incorrect stats (and a displayed level somewhere in the negatives).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 05, 2021, 05:54:25 PM
-- created a new animated projectile for Pyro Hail.

-- got visual effects for Pyro Hail synced up and working in-game.

-- got visual effects for Light Bomb synced up and working in-game.

-- catalogued the game's visual effects in Assetnames.xml along with an attribute denoting whether each is directional or not.

-- fixed a serious visual glitch with text in item tooltips.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 06, 2021, 10:49:35 AM
-- moved the visual effects catalogue out of Assetnames.xml and into its own VisualEffects.xml file; added an attribute glowColor with a custom value for each visual effect.

-- the game now pulls directionality out of the XML file; there is no longer a need to add "Dir" to the end of directional VFX in Attacks.xml.

-- VFX glow now renders based on the glowColor set for each VFX in VisualEffects.xml. Certain effects (e.g. Light attacks) have really high glow, others (e.g. arrows, crossbow bolts, and throwing axes) have none at all.

-- fixed: a misnamed loop variable deep in the damage-processing code could sometimes cause the game to throw a range error on AOE attacks.

-- fixed a visual glitch in the level-up screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 06, 2021, 02:39:56 PM
-- turned off random nose size variance in the character portrait generator for the time being. (It was sometimes causing noses to not align correctly with faces, and its contribution to character variety was minimal anyway.)

-- improved the coloring and glow setting on the victory fireworks after battle.

-- improved sequential visual effects timing.

-- fixed some text overlay issues in the UI.

-- fixed some 2D particle velocity settings that were no longer working quite right in the new canvas screen space.

-- fixed eye/nose placement data on certain human proc gen portraits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 06, 2021, 08:55:23 PM
-- added new date activities: stargazing and cooking.

-- added reverse match parameters to the IfStringContainsGoTo and IfStringContainsRun script actions.

-- I apparently forgot to code the IfAttributeRun script action. Oops! Well, now it's in-game. Parameters: (1) Character Name, (2) Attribute Type, (3) Attribute Value (string), (4) Script Name (use | delimiter for multiple scripts), (5) Reverse Match (true or false -- optional), (6) Parameter Name (optional), and (7) Parameter Value (optional).

"Now what are those last two parameters about?" you might be wondering. Well:

-- most Run-type script actions* now have a couple of optional parameters stuck at the end letting you set a custom variable in the same call: Parameter Name and Parameter Value. This allows you to pass information to a script in the same action where you call it.

Parameter Name and Parameter Value work like this: the game checks Parameter value to see if it is an integer; if so, it essentially calls SetVal to set a new variable name and value corresponding to Parameter Name and Parameter Value. If it is not an integer, it does the same thing but with SetString instead. The game then runs the script(s) specified.

Parameters set in this way are global in scope and persistent, just as if you'd called SetVal or SetString.

* the script actions now supporting this are Run, IfStringRun, IfStringContainsRun, IfValRun, IfListHasRun, IfStatRun, IfAttributeRun, IfInAreaRun, and IfGoneRun.

-- fixed: the "must be equipped" parameter in IfItemGoTo and IfItemRun wasn't working right.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 07, 2021, 10:50:50 PM
-- fiery embers from the "Ash" weather type now visibly glow when spawned in cut scenes.

-- 2D particles can now fade in over time instead of just popping in onscreen.

-- new 2D "weather" particle: Fireflies!

-- the new parameter-passing functionality of Run-type script actions now supports parameter values that include commas.

-- fixed: text displaying prices in the shop interface was glitched out.

-- fixed: the date nighttime event wasn't working as intended.

Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 08, 2021, 06:31:16 PM
-- wrote a new evening event: camp is visited by a wild chital.

-- created new Go On a Date camp activity, where characters with an established romantic relationship can independently continue to ask each other out on dates and further build their romance.

-- new script action: LearnCampActivity. This allows a character to pick up a new hobby or behavior manifesting in how they spend their evenings at camp. Two parameters: Character Name and Activity Name. (The second parameter can be multiple activities delimited by vertical bars for multiple learned activities.)

-- added documentation on the Wound Level stat to ActionsReplies.

-- fixed: events were not checking the character Wound Level stat properly.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 09, 2021, 07:05:17 PM
-- got voice-over dialogue working in the game's sound manager!

-- recorded some temporary voice-over narration for the game's introduction; found and messaged a voice actor to do something more professional for the final draft.

-- added in the visual effects for Fire Gate, scripted them so they're now in-game and looking good!

-- created a new "ring of light" pixel animation as a visual effect for Titan Shield; scripted Titan Shield's visual effects so they are now in-game as well!

-- visual effects can now be scaled in size.

-- lowered the strength and increased the cost of generated crossbows somewhat to make them less overpowered.

-- if you have hunter characters, one of them can now interact with the wild chital event.

-- added the chital event to the game's random event hopper.

-- fixed a timing issue with the skill Drain.

-- fixed: the game would still do combat zoom-in on abilities with really huge AOE, cutting off visibility of the attack's full effects.

-- fixed: the overlapping positon of health and energy bars was causing clarity issues with certain events affecting both (e.g. eating food or being drained below 0 energy).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 10, 2021, 06:36:31 PM
Put out a call (https://www.reddit.com/r/HungryArtists/comments/m1y5fy/hiring_semirealistic_video_game_portraits/) for portrait artists!

-- character selection icons now visibly glow when a character is selected, making it easier to see at a glance when a character is selected.

-- improved the "does a character want this equipment?" algorithm. Instead of just relying on raw comparative item value, the game now actually checks the relative stats, tags, and skills granted by each item grants to see if the new one offers any kind of advantage that the existing one does not. Any sort of advantage will make the character want the item, even if its overall value is technically lower.

If no advantages are found, there must now be a value difference of greater than 19% before the game will assume there's some kind of other advantage to the item the analyzer can't see (as opposed to just natural variation in the pricing algorithm).

-- the ModDmgVsWeapon tag now looks for whether the equipped weapon grants the named base skill (or whether the unit has that skill naturally) rather than looking for the weapon type within the weapon's name.

-- the DmgIgnoreRes and IgnoreStatFXRes tags now apply both to the named skill and any skills dependent upon it.

-- applied a "for AI" flag to certain tags to speed up the processing of unit tags during AI decision-making.

-- fixed: IgnoreStatFXRes tag was applied to the wrong skill type during counterattacks.

-- fixed outdated formatting for RangeBonus tag processing in AI.

-- filled in gaps in the Tags documentation in ActionsReplies.xml, and fixed a few incorrect parameters.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 11, 2021, 05:11:38 PM
Updated the game to Unity version 2020.3.0; this has no real benefits in terms of new features, but it's an LTS (long-term support) release, so this should be helpful regardless!

Received voice-over work from Anupam Dhyani (https://twitter.com/AnupamDhy), and spent time interviewing some very talented portrait painters. (Fingers crossed!)

-- edited the new voice-over clips, incorporated them into the game's introduction.

-- added post-processing to the character creator so you can see character portraits with anti-aliasing and glow effects intact.

-- fixed a UI glitch in the character creator.

-- fixed: accessories in the portrait builder screen of the character creator hadn't been updated to the new palette-swapping method.

-- fixed incorrect layering in the character promotion screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 12, 2021, 01:12:34 PM
-- experimented with a system of "babble speech" to accompany character dialogue. I've got it sounding pretty passable now, I think! (For human females, specifically. Others will need more work.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 13, 2021, 10:27:32 AM
-- created some custom inspector elements in the editor to allow faster and easier experimentation with babble parameters.

-- the babble speech is starting to sound pretty passable. I have both male and female flavors of babble speech in the game now (https://youtu.be/suqCR_0vLV0).

-- when dialogue interrupts other dialogue, the game now quickly fades out the old dialogue instead of just abruptly stopping it. This makes those transitions much smoother.

-- new script actions supported: StopDialogue and FadeDialogue. StopDialogue immediately stops all dialogue currently playing; no parameters. FadeDialogue causes all dialogue currently playing to fade toward a target volume level at a specified rate. Two parameters: target volume and fade rate. (Fade rate is optional; if unused, the game will default to a fade rate of 8.0.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 13, 2021, 02:19:05 PM
-- voice set and voice pitch are now aspects of a character that are saved along with them.

-- you can now specify a premade character's voice set and vocal pitch using the attributes voiceSet and voicePitch.

-- proc gen characters are now generated with a voice set and voice pitch appropriate to their gender.

-- in dialogue, the game now automatically checks the speaker name to see if it matches a character--and if it does, the game initiates babble in that character's voice for as long as the dialogue text continues animating.

-- the game checks animating dialogue for square bracket (denoting narrative description), and will stop the babble speech while it is typing out the text within those brackets.

-- new script action supported: Babble. This will cause vocal babble to accompany animating text in the dialogue menu. Two parameters: voice set and vocal pitch. (1.0 is the default pitch for any given voice set.)

-- created two new voice sets--LissitFemale and LissitMale--with placeholder recordings.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 14, 2021, 07:51:46 PM
-- the game now imports species data from XML (instead of relying on hard-coded values).

-- wrote a proper conclusion to the traveling merchant bandit battle. The player's reputation with shopkeepers around the city now improves when this battle is won.

-- wrote a third event in the traveling merchant event chain.

-- added a chime glissando sound effect to the "sparkles bursting out the end of the experience bar" visual effect.

-- renamed "Whet Stone" to Whetstone; increased its maximum uses from 1 to 2 in order to make the item more useful.

-- added voice set and voice pitch to the attributes saved to PremadeUnits.xml by the character creator.

-- fixed: the music was fading out partway through plot event 1.

-- fixed: 2D particle emitters were spawning their static "reference" particle visibly in the middle of the screen.

-- fixed: babble would start and then quickly cut off for dialogue beginning with exposition in square brackets. (Now it simply doesn't start until it hits the end bracket.)

-- fixed: upon promoting shadowlings, the game was setting their new base stat values as if they were humans.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 16, 2021, 12:01:09 AM
Spent a bunch of time agonizing over who to hire (https://twitter.com/sinisterdesign/status/1371490882982137856) for the portraits. In other news:

-- wrote a new side quest you can perform for the shopkeeper.

-- roughed out a new side quest battle.

-- new tag: AggroGroup. This basically just automates the tedious process of assigning script IDs to clusters of Passive units and writing a bunch of dialogue triggers to strip away the Passive tags from them all if one member of the group loses Passive status. One parameter: group number.

-- fixed: proc gen growths generation was throwing an infinite loop after the changes to species data in the code.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 16, 2021, 09:44:55 PM
Ultimately landed on Georgi Minkov (https://www.artstation.com/georgiminkov) to redo the portraits in a painterly style. :)

-- if you supply more than two tilesets for a proc gen battle, the game will now pick two of them at random to use.

-- new script action: SetStringByList. This makes it easier to randomly select things from custom lists; you simply supply the name of the list and the game will automatically select a random entry from that list to set a custom string. Two parameters: (1) string name, and (2) list name.

-- added booing events to all the remaining arena battles.

-- added alternate conditions that can occur in the proc gen league 0 arena battle: fog of war, rainy weather, or opponents move first.

-- edited the proc gen league 0 arena battle a bit for difficulty.

-- juiced up the attack sound effect for Terror some more.

-- boosted the glow on the Feedback visual effect.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 17, 2021, 03:12:01 PM
Gave artist feedback.

-- created AI profiles, now residing in AIProfiles.xml! These are presets which weight certain AI considerations to produce different battlefield behaviors. As of now, AI profiles include:
You can now create your own custom AI profiles in custom campaigns, and the game will load them.

-- the armies editor within the map editor now allows you to set AI profiles on a per-army basis. The map editor now correctly saves each assigned AI profile with the other army data, and loads it again when the map is loaded.

-- the game now passes along the AI profile for each AI-controlled army when it initiates move calculations, using the settings in the profile to weight the player's moves.

-- as the "Greedy" profile above suggests, AI now possesses a "greed constant" that causes characters to prioritize (to greater or lesser degrees) attacking destructible objects containing items. The more items an object possesses, the more weight it is given as a target.

-- new special character: -WINAURA-. Gets changed to the amount of aura the player is currently due to receive if they win the battle. (In cut scenes, this number is simply 0.)

-- new script action: AddArmy. Lets you add a new army to a battle midway through. Parameters: Army Name, Army Color, AI Controlled (true or false), AI Profile Name, and--optionally--Names of Allied Armies. If the new army has multiple allies, delimit the names of allied armies with vertical bars (|).

-- new script action: RemoveArmy. Lets you remove an army from a battle midway through. Two parameters: (1) Army Name and (2) Kill Units (true or false, optional). If Kill Units is set to true, all units in the army are treated as having been killed rather than merely retreated.

-- new script action: ChangeArmyAI. Lets you change an army's AI profile during battle in response to battlefield events (or for any other reason!) Two parameters: Army Name and AI Profile Name.

-- added more random events to proc gen arena battles: thieves appear to loot chests; a fan throws an item onto the field;

-- adjusted battle progression in the arena.

-- fixed a bug in proc gen character class selection that arose after the changes to species data in the code.

-- added crowd sounds to Kalkerapur.

-- added new sound loops to the game: Waves, Ship, and Seagulls.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 18, 2021, 08:54:54 PM
-- mid-battle saving now correctly saves each army's current AI profile. These AI profiles are now restored upon loading a mid-battle save.

-- updated babble speech to use clarinet sounds (https://twitter.com/sinisterdesign/status/1372696298990735360), making it a bit less overtly cartoony while still retaining roughly vocal tones and cadence.

-- doubled dialogue text speed.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 19, 2021, 04:29:41 PM
-- character moods can now be explicitly tied to other characters. New optional parameter for the AddMood action: Concerning Character. If you put the name of a character, the first character's mood will be linked to the second named character.

-- new mood: Jealous. Can cause characters to spend evenings feeling jealous.

-- new camp activity: Jealousy. Will cause a character to waste the evening stewing in feelings of jealousy.

-- new special character: -MOODCHAR-. If the trigger character is in a mood tied to another character, this will sub in the name of the character linked to that mood.

-- new special character: -MOODCHAR2-. Same thing, but does it for the secondary character in the conversation instead of the trigger character.

-- added secondary-character variants to the special characters -GOD- and -BIO:-, named -CHAR2GOD- and -CHAR2BIO:- respectively.

-- you can now customize the game's dialogue animation speed, speeding it up by up to 4X. Babble speed increases to match. Dialogue animation speed is now saved and loaded along with other game settings.

-- added babble speech to the arena scene.

-- added babble to NPCs in random events.

-- added some missing sound effects to the shop.

-- changed the recruitable unit in the league 1 qualifier to a human kineticist (a class I want all players to experience, and who can make good use of the terrain in that fight as well as potentially use Gravity Spike to great effect against the boss).

-- did a bit of rebalancing of the alternate promotions for psy fighters.

-- mocked up a character creation screen.

-- fixed: dialogue would start animating prematurely (i.e. before the window had fully popped up) in dialogue trees where Branch 0 actions immediately shifted to a new branch.

-- fixed: babble would start prematurely (i.e. before dialogue had begun animating) when initiated via the Babble action at the start of dialogue.

-- fixed: the light bomb explosion visual effect was appearing too low onscreen.

-- fixed: promoting a human would throw a null error at the base stat modification stage.

-- fixed some small presentation issues with the mid-battle save screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 19, 2021, 09:46:10 PM
-- when characters die, the mourning mood of their surviving friends and lovers is now linked to the decedent.

-- when a character dies, lesser friends and new lovers who aren't close enough to go into mourning will now become depressed for a shorter period.

-- moods acquired via camp activities can be now linked to an activity partner.

-- the Teach Law and Teach History camp activities can now go badly with a second character if that character is arrogant, empirical, or narcissistic; the characters can get into an argument about whether the lecturing character is correct, thereby hurting their friendship and romance scores.

-- if you click a skill and then shift-click an enemy, the game will specifically assess moves using the selected skill for auto-move-and-attack (as opposed to considering all available skills, as it previously did).

-- the report screen now has its "writing out" speed tied to whatever the setting is for dialogue animation speed.

-- the report screen now plays a sound loop reminiscent of a quill on parchment while its contents are being typed out.

-- added Attacker Army parameter to the OnCharDeath, OnCharAttacked, and PostCharAttacked dialogue triggers. All now have the following parameters: (1) Army Number, (2) Character Name, (3) Character Class, (4) Attacker Army, (5) Attacker Name, and (6) Excluded Attacker Names (each delimited with a colon).

-- new sound loop added to the game for general use: Writing.

-- fixed: beep speech had stopped working with combat barks.

-- fixed: in rare circumstances, an attack with knockback could conclude without associated falling damage being processed, resulting in the attack's damage and/or experience gain abruptly happening during the next character's attack.

-- fixed a parsing error when deserializing unit tags.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 20, 2021, 11:42:00 AM
-- the game now places down "hold tiles" to visually indicate which spaces are currently subject to a use of the Hold skill.

-- holds now immediately vanish when the originating characters moves (or is moved by someone else!)

-- nerfed Hold somewhat; it now costs 6 energy rather than 2, and it only produces a hold on 3 sides of the user instead of 4. (The space behind the character, specifically, is no longer held.)

-- the game now shows stat symbols rather than text when an ability directly affects a stat other than Health or Energy.

-- fixed: the game was parsing "blank" skill status effects incorrectly, leading to phantom status effects.

-- fixed: characters hit with a skill with knockbackTiming set after its impactTiming (e.g. Charge) would check for a counterattack before the knockback began, resulting in characters who were being knocked out of counterattack range nonetheless counterattacking during the knockback.

-- fixed: characters could remain "selected" within the game's logic when dying during a combat exchange that they initiated, and would reappear within the Actions Bar afterwards even though they were gone.

-- fixed: holds were not behaving properly on characters who started moving from a held space.

-- fixed: 0-range skills faced in an arbitrary direction rather than the direction the user faced in. (This effect was noticeable only with asymmetrical AOE reticle patterns.)

-- fixed some tooltip titles that were truncating incorrectly in the campaign editor.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 21, 2021, 12:09:58 PM
Gave artist feedback. Meanwhile:

-- received the final, mastered musical track Maharaja from Ryan; incorporated it into the game.

-- new sound effect added to the game: Store Bell. Little bells of the sort that often hang on the doors at the entrances to shops and jingle when someone enters or exits. Now plays when you go to the shop or the recruitment office in Kalkerapur.

-- new sound effect added to the game: FootstepsFading_Outdoors. Footsteps fading off into the distance. Now plays when you go to the arena in Kalkerapur.

-- new sound effect added to the game: Steamthopter. The sound of a steamthopter powering up its rotors. Now plays when you use the Hover skill.

-- edited some of the intro narration to make it smoother.

-- fixed: the game was not playing impact sound effects or spawning impact particles for destructible objects with a passability type of "Flying" that had been pushed, pulled, or thrown via a character skill.

-- fixed: the Crowd loop was not looping smoothly due to silence at the start and end left over from its tenure as an mp3.

-- fixed: it was possible for characters chosen to get both Strength and Psy growths to end up without one or the other due to really high growths being chosen for the other stats, resulting in a null error when the game checked for one of these stat growths expecting it to be there.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 21, 2021, 09:58:41 PM
-- created a new trap type: Caltrops. These damage the target and inflict Slowed status.

-- new Engineer skill: Place Caltrops. (This replaces Build Wood Bridge as a starting skill for proc gen Engineers, as Build Wood Bridge is too situational and advanced to serve as a good introductory skill for players new to the Engineer.)

-- decreased the delay before tutorials show up when you first enter the shop and recruitment screens.

-- removed compression for the cancel and confirm buttons, as artifacts were appearing when these buttons were displayed at large sizes.

-- increased the volume of the intro narration voice-over.

-- programmatically intervened to prevent repeat consonants at the intersection of the beginning and end parts of combinatorial last names.

-- fixed: you could attack your own spiked barricades without being damaged.

-- fixed: it was possible to throw objects onto other objects with a passability of "Flying."
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 22, 2021, 04:34:01 PM
-- created unique sprites for the Caltrops object and for the Place Caltrops skill button.

-- quadrupled the rate of overnight energy recovery for all characters in the Telepath Tourney campaign.

-- gave Pessimistic characters a chance to interrupt their negative thought train during the Naysay camp activity, producing no morale loss (but some lost energy).

-- rewrote the code for procedurally generating equipment, making it miles more efficient and easier to read.

-- transferred the effects of weapon/armor materials from hard code into XML, making it dramatically easier to create new weapon-material combos (and also opening up dramatically more of the equipment generation process to modding).

-- adjusted the effects of materials on proc gen weapons and armor to make the materials used more significant.

-- fixed: when tripping a pressure trigger via unit movement, if the triggered script didn't stun or freeze the enemy, the AI would just carry on with that unit's move as if the unit had successfully reached its intended destination (sometimes attacking a unit it never actually reached!)

-- fixed: burning damage had ceased playing the accompanying sound effect.

-- fixed: Frozen objects (e.g. Spiked Barricades) would not counterattack.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 23, 2021, 12:38:15 PM
-- save slots now display the scene name in dark red if a battle, dark blue otherwise.

-- save slots now support a custom string displaying some relevant information from whichever campaign they belong to.

-- save slots for the Telepath Tourney campaign now displays the player's team name.

-- new action: ChangeSaveString. One parameter: the name of a custom string variable. This causes the game to get the current value of a chosen string variable whenever the game is saved--the value saved under that variable will be displayed in the current save slot as an identifier for the state of the game whenever you go to the Load Game screen.

-- wrote some new greeting response lines (particularly for introvert characters, who had none!)

-- fixed visual effects alignment for Gravity Spike and Gravity Well.

-- added Clarified to the list of status effects that destructible objects cannot be affected with.

-- flagged the Introduction as non-saveable.

-- fixed: the game would display redundant status effect pop-ups if the unit took damage from multiple sources in a single exchange.

-- finally fixed that dumb bug from upgrading to the URP where shadows from 3D objects and terrain no longer appeared in battle.

-- fixed: skill tooltips in the character screen and level-up screen were out-of-date, as were the skill tooltips in the various skill selection submenus within the campaign creation suite.

-- fixed: save slots in various parts of the game UI were out-of-date.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 24, 2021, 09:36:48 PM
Did a podcast interview (https://youtu.be/LQiYg1Ikc5s) with Game Wisdom about Together in Battle and about SRPG design generally. :)

Captured a bunch of game footage for an updated game trailer.

-- fixed: the game would give you a pop-up warning when directing an Enthralled character to attack a unit one of its normal allies.

-- fixed: the AI wasn't considering certain newer status effects when weighting various moves.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 25, 2021, 08:28:59 PM
Finished the new trailer! :D Also:

-- wrote some new plot dialogue.

-- when playing a sound effect, the game now checks to see if that same sound effect was just triggered a tenth of a second ago or less; if it was, rather than playing a second instance of the sound a fraction of a second later (and producing a grating "reverb" effect), the game simply boosts the volume of the original sound effect by 20%.

-- toned down the glow effects on lava somewhat to make surrounding units easier to see.

-- painted a "lone drop of sweat" particle to use with the new painted portraits in cut scenes.

-- fixed: light bulb icons were visible on lava tiles.

-- fixed: I'd accidentally broken single-space collision movement and backstab pop-ups with earlier fixes.

-- fixed: a typo in one of the branches of side quest dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 26, 2021, 04:39:24 PM
-- adjusted the Feedback build-up sound effect and Feedback sound effect timing to better match the visual effect.

-- adjusted battle pop-up text size to help keep damage pop-ups legible when multiple adjacent characters are struck in battle.

-- adjusted health, energy, experience, and morale bar widths to help keep things legible when multiple adjacent characters have things going on with these in battle.

-- adjusted Ash weather particle settings.

-- fixed a formatting issue in Materials.xml.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 27, 2021, 02:53:47 PM
Switched back to working on Telepath Tactics for a bit!

-- got unique character sprites for Emma and Sabrina Strider (https://pbs.twimg.com/media/ExgYdcmXAAYaH1o?format=jpg&name=large) into the game! :)

-- assigned babble voice data to the game's whole cast.

-- dialogue babble now pauses during scripted unit movement in battle cut scenes.

-- the game now assumes that dialogue babble is no longer present when the speaker changes and it can't find a matching character, preventing unwanted babble sounds during tutorials and such.

-- updated early cut scenes with babble voices.

-- tweaked Emma's portrait data to make her face more anatomical.

-- broke all the palette-swapping code off into its own class for easier editing and management.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 28, 2021, 09:56:56 AM
-- new tag: TargetPreference. This allows you to make individual characters value other individual units on the battlefield more or less as potential targets. Two parameters: (1) target name or script ID, and (2) float operation to perform on the target's base value for move calculation purposes with the tagged character.

-- placed a TargetPreference tag on Lakshmi in the Caravan Battle to ensure she doesn't wander off the reservation and get herself surrounded in the first few turns.

-- put together new sound effect: Crowd Cheering.

-- Crowd Cheering now plays upon victory in arena battles in Together in Battle.

-- fixed: campfire smoke wasn't emitting.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 28, 2021, 04:03:54 PM
-- made drag-panning around the battlefield way snappier and more responsive!

-- when you click enemies, it now shows you spaces they can reach (https://pbs.twimg.com/media/ExmGCpJXEAcgLXE?format=jpg&name=large) with their longest-range and shortest-range attacks in addition to those within their movement range.

-- put the firelight "flicker" effect (https://twitter.com/sinisterdesign/status/1376208191441227783) for self-lit objects into the game. :)

-- fixed: the game was sometimes making character babble overlap.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 29, 2021, 05:04:47 PM
Gave artist feedback. On the coding front:

-- the game now fully supports Use triggers! :D

-- the mouse cursor now changes to a sword whenever you mouse over attack tiles.

-- the mouse cursor now changes to a sword when mousing over an enemy while a skill is selected.

-- if you left-click a character while a skill is selected, instead of showing the clicked character's move range the game will now behave as though you'd shift-clicked that character, moving your current selected character into range and queueing up the selected skill for use on the target.

-- the game now distinguishes between left-clicking an enemy and clicking an ally from another army. With enemies, it only takes offensive skills into account when displaying spaces the unit can attack outside of move range; with allies, it accounts for healing abilities, buffs, and other non-attack skills.

-- new tag: LevelTo. Behaves like LevelUp, but instead of silently gaining a set number of levels, the unit will gain however many levels they need to reach a designated level. (If they are already at or beyond that level, they will not level up.)

-- the game now supports dynamic changing of sprites not just for characters, but also for objects (as well as changing models for 3D objects).

-- fixed knockback timing on skill Pull.

-- fixed: the SpawnUnit script action would always produce a brand-new copy of a character when used! The action now first checks to see if the character already exists from prior use--and if so, it simply loads that character instead of producing a clone of them.

-- fixed: the map editor was not saving per-unit trigger data when saving a map.

-- fixed an edge case where an AI-controlled unit wandering into a trap that stunned or froze them could produce a range error.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 30, 2021, 02:56:12 PM
Received hurt pose sprites donated by Sean Hayden (Rad Codex)! Gave artist feedback to Franklin Chan. On the coding front:

-- the AI now accounts for the potential to deal falling damage and inflict falling-related status effects when scoring potential moves. (Which is to say: it'll now take opportunities to shove your characters off of cliffs.)

-- did a bunch of work on making the game support doors.

-- new tag: Locked. Causes a door to start off locked when the map loads.

-- script actions Lock and Unlock have been added to the game. As their names imply, these lock and unlock a specified door. Two parameters--Y coordinate and X coordinate--as well an optional third parameter, Object Name.

-- the game now consolidates damage pop-ups for skills that deal damage from multiple sources simultaneously (e.g. with a BonusDmg tag, or by dealing falling damage in addition to regular attack damage).

-- the game now consolidates pop-up announcements for those times when a character gets hit with multiple doses of the same status effect. (E.g. instead of getting two "Stunned!" pop-ups in a row, you'll now get "Stunned X2!")

-- fixed: the move analyzer wasn't accounting for allied armies when analyzing movable spaces.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 30, 2021, 08:39:49 PM
-- doors are now fully supported in the game! :)

-- fixed: character sprites could sometimes clip through tall cliffs behind them, or through the ground when attacking downward.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 31, 2021, 03:46:15 PM
-- updated formatting for the character death monologues in The Vengeance of Emma Strider campaign.

-- added facial expressions to the character death monologues in The Vengeance of Emma Strider campaign.

-- levers now always play a sound effect and produce smoke particles when triggered regardless of what other scripts are attached to them.

-- floor buttons now always play a sound effect and produce smoke particles when triggered regardless of what other scripts are attached to them.

-- new dialogue trigger: OnDoor. Trigger dialogue when a character interacts opens, closes, or unlocks a door. Parameters: Door Y coordinate; Door X coordinate; Door Name (or -ANY-); Door State (or -ANY-); Character Name (or -ANY-); and Army Number. All parameters are optional. Door State can be Open, Closed, or Locked.

-- raised the volume on the lava splash sound effect.

-- added an audio browser menu to the dialogue editor that now appears automatically when adding a PlayMusic, PlayLoop, or PlaySound action.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 01, 2021, 12:44:41 PM
Made a fun little April Fool's video (https://www.youtube.com/watch?v=BOiM-b6GDrU). :D

-- new script action: Wait. Causes the game to wait a certain amount of time before it resumes executing script actions. One parameter: time (in seconds). Can be left blank, in which case the game will wait 1 second by default.

-- script action Open has been added to the game. This fully opens a specified door (rather than merely unlocking it). Two parameters--Y coordinate and X coordinate--as well an optional third parameter, Object Name.

-- new tag: Open. Causes a door to start off open when the map loads.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 01, 2021, 06:59:23 PM
Gave Georgi artist feedback on character portraits. (Proc gen stone and bronze golem portraits are just about complete now!)

-- added a "duplicate scene" function to the campaign editor.

-- added tooltips to the delete and duplicate buttons within each entry in the campaign editor.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 02, 2021, 12:48:27 PM
-- added a "duplicate character" function to the campaign editor.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 05, 2021, 05:50:06 PM
-- fixed a bunch of little issues with how doors behave visually when opened/closed.

-- implemented open-close behaviors for the game's gate objects.

-- created alternate facing Wood Door objects, allowing for structures with double doors.

-- the "which direction should I face" AI algorithm is now dramatically more efficient where there are lots of enemies for whom the character is not within move-and-attack range, and a bit more efficient in all other circumstances.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 06, 2021, 12:31:45 AM
-- fixed an AI issue in the Battle with Gunther.

-- got the Igor and Fera cut scene working, as well as Gunther and Emma. Added portrait expressions and animations to both cut scenes.

-- fixed: characters were no longer appearing partially submerged when on a water or lava tile.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 06, 2021, 06:37:27 PM
Had an exchange with Unity technical support about a weird glitch in the Replace Color shader node that's causing problems with character portraits. In the meantime:

-- got a new cut scene background from Franklin Chan: the Dese Palace Balcony, along with three variants. Added it to the game.

-- got the giant campground chat dialogue tree working in Telepath Tactics. Added in character facial expressions and animations to match the old dialogue.

-- began recreating the Defend the Camp battle from Telepath Tactics.

-- dialogue trees now support a theoretically unlimited number of replies! You can cycle through "pages" of replies (with up to 5 showing at a time) using arrow buttons that now appear when the option is available.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 08, 2021, 06:50:39 PM
-- did some necessary rebalancing (https://twitter.com/sinisterdesign/status/1380228610838163459) on the Defend the Camp battle.

-- new script action: FaceArmyToward. This is exactly the same as FaceUnitToward, but it affects an entire army rather than a single character. Same parameters except for the first, which takes an army number in lieu of a character name.

-- new optional parameter in the ShowReserveSupplies script action: character name. This tells the game that only a single character on the roster is currently able to access the reserve supplies due to their position on the battlefield. (This parameter does nothing in cut scenes.)

-- tripled the number of frames in the looping Pyro Hail fireball animation, smoothing it out substantially.

-- quadrupled the number of frames (https://twitter.com/sinisterdesign/status/1380296316618731524) in the Power Up visual effect animation, rendering it silky smooth; boosted its glow value and improved its alignment.

-- fixed the scripting and dialogue in the Defend the Camp battle in the Telepath Tactics campaign.

-- fixed: using an object with a Use trigger but without a "Used" sprite variant would produce a null error.

-- fixed: changing an object sprite to something that didn't exist just in general would produce a null error.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 08, 2021, 11:06:47 PM
-- I realized that the game logic hadn't been updated to reflect the new, army-dependent nature of the Kill-All Victory condition; overhauled a big chunk of it to support that.

-- realized that I was using move turn as a shorthand for the army number of the current player; a big mistake that would inevitably produce bugs when armies got eliminated in battles with more than two armies and the battle didn't immediately end. Spent a bunch of time rewriting code to address this issue.

-- new special character: -PLAYERARMY-, as distinct from -PLAYERTURN- (which is the equivalent of move turn).

-- fixed: the "writing" sound loop stopped playing when advancing to subsequent pages of a report.

-- fixed: certain scene data wasn't always being made accessible to the action runner depending on the context.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 09, 2021, 11:44:12 PM
-- finished getting the Defend the Camp battle working in the Vengeance of Emma Strider campaign.

-- got the cut scene Silithis Gets to Adelbrae working in the Vengeance of Emma Strider campaign.

-- got the cut scene Emma and Sabrina 1 working in the Vengeance of Emma Strider campaign.

-- got the cut scene Bandit Fortress Outer Wall working in the Vengeance of Emma Strider campaign.

-- fixed: the AI would add the "grab sack bonus" to moves that made no sense, occasionally producing bizarre short-term moves in situations where a character had no good short-term moves but did have a loose item sack nearby.

-- fixed: in circumstances where an AI-controlled character died of a status effect resulting in a player character level-up, the game could fail to restart the AI decision-making process upon the level-up screen closing.

-- fixed: when a character had dialogue in battle, moved, and then a different character became speaker via the ShowTalking action, the moving character would inappropriately display their speech bubble along with the actual speaker.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 12, 2021, 10:16:35 AM
Got my first dose of covid vaccine over the weekend, so I'm recovering and not working as hard for a few days. Still, got this done:

-- proc gen characters now have a bark they'll say when hit by friendly fire in battle.

-- the game now detects when "a" is used as the article before a word starting with a vowel, then corrects it (https://twitter.com/sinisterdesign/status/1381663316012101639).

-- fixed: dialogue in the cut scene editor was throwing a null error when attempting to start or stop dialogue babble.

-- fixed: the dialogue editor was throwing a range error when attempting to delete a newly loaded dialogue or script.
Title: Re: Together in Battle Dev Log
Post by: installdisc on April 13, 2021, 03:01:36 PM
-- proc gen characters now have a bark they'll say when hit by friendly fire in battle.

The ff could be switched on/off?
The multiplayer will have an option to disable the random object drops?
Will be there any secret spider cave :)?

Thank you for the updates and looking forward to hearing from you and for the game as well!!


Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 14, 2021, 10:56:45 AM
Ha ha, thank you! :D

Quote from: installdisc on April 13, 2021, 03:01:36 PM
The ff could be switched on/off?
The multiplayer will have an option to disable the random object drops?
Will be there any secret spider cave :)?

Friendly fire is always on; there's no switching it off. However, there's no random friendly-fire in the game--if a character hits another character, it's because you deliberately chose to have their attack hit an area containing a friendly character!

I'm not sure yet how I'm implementing multiplayer--in contrast to how I developed the Telepath Tactics the first time around, that's gonna be the last thing I tackle here.

It wouldn't be a secret if I talked about it here, now would it? ;)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 14, 2021, 04:43:00 PM
-- new script action: WaitForPostDialogue. Pauses the execution of all subsequent script actions until the dialogue menu is closed (as via EndConv).

-- renamed the WaitForDialogueEnd action to WaitForDialogue to avoid confusion with WaitForPostDialogue.

-- combat barks with associated morale or other effects now delay displaying those effects using WaitForPostDialogue.

-- camp dialogue now waits an additional second to display pop-ups and such after the text finishes animating.

-- friendly fire reactions now occur for skills that inflict negative status effects, not just damage.

-- fixed: capitalization-insensitive text-matching processes in the game weren't working under certain circumstances.
Title: Re: Together in Battle Dev Log
Post by: installdisc on April 15, 2021, 02:24:38 AM
Thank you for the answer. Can not wait for this game!! and the remake!!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 16, 2021, 03:07:29 PM
Got the forums fixed! :D Reached out to Lorne about creating a few new unique sprites for Together in Battle. Also:

-- decided on the name for a yet-to-be-revealed unique character.

-- fixed the portrait data for a yet-to-be-revealed unique character.

Quote from: installdisc on April 15, 2021, 02:24:38 AM
Thank you for the answer. Can not wait for this game!! and the remake!!

Thanks so much! ;D
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 17, 2021, 06:12:29 PM
-- began refactoring the way unique dialogue is stored and called from character data in order to better support future additions to generated character dialogue.

-- added in support for the remaining dialogue line types in premade characters.

-- new proc gen dialogue type: Teach Response. The character reacts to the offer of being taught a new skill.

-- wrote a new, Narcissistic variant on the Volunteer camp activity.

-- fixed a visual glitch in the left-facing Sword animations for Emma and Sabrina caused by sprite sheet cell alignment.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 19, 2021, 06:02:44 PM
-- added a new "castle wall" fill below non-transitioning castle tiles to allow for variable height castle structures.

-- split Hobby off from Like into its own proc gen dialogue type.

-- split off special characters -HOBBY- and -HOBBYTEXT- from the original -LIKE- and -LIKETEXT- (which now exclusively refer to the miscellaneous non-hobby thing the character likes).

-- fixed some formatting issues in CharAttributes.xml.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 21, 2021, 06:48:35 PM
-- new script action: CreateUniqueItem. This procedurally generates a unique piece of equipment with custom parameters. Parameters: Character Name or Reserve Supplies or Roster Number, Item Name (use RANDOM to have the game generate one for you), Material, Quality (0-10), Category, Eq Slot, Required Masteries, Stat Bases, Grants Skills, Grants Tags, Base Durability, Base Value, Image, and Description.

E.g., this will procedurally generate a powerful steel axe and give it to the character Bob Bobbington:

CreateUniqueItem/Bob Bobbington,RANDOM,Steel,10,Weapon,Weapon Hand,Axe,Strength:2.0|Health:12.0,Axe,,0,800,Axe Duoterre,A legendary axe handed down from ancestors of the Bobbington family.

-- new proc gen weapon modifier: Glimmering. Causes all skills deriving from the weapon to cause Distracted status.

-- three new proc gen weapon modifiers: Axe-catching, Spear-catching, and Sword-catching. Each grants +6 damage against opponents equipped with the specified weapon type.

-- added a new "quality" step in between Superb and Peerless for proc gen equipment modifiers: Masterful.

-- added a new "balance" step beyond Graceful for high-quality proc gen weapons modifiers: Effortless.

-- added a new "counterattacks" step for higher-quality proc gen weapon modifiers: Vengeful, with +2 counterattacks. (The +1 counterattacks modifier is now called Vindictive.)

-- added a new "reflexes" step for higher-quality proc gen weapon modifiers: Hair-trigger, with +2 reflexes.

-- extremely high-quality proc gen weapons and armor will now be created with more than just the standard 1-2 modifiers, with items of quality level 10 or above getting a whopping 3-4 modifiers.

-- when using GiveItem or CreateUniqueItem for a character whose inventory is full, the game now automatically puts the item in the current roster's reserve supplies instead.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 22, 2021, 09:11:54 PM
-- created a calendar interface showing individual days of the month and what, if anything, is scheduled for each day.

-- new script action: Schedule. Lets you add an event to the game's calendar. Three parameters: Day Number, Event Name, and Can Share (true or false). Day Number is the numbers of days passed since the start of the game; Event Name is simply a string. Can Share is optional; set to false if the event must occur on a day when no other events are scheduled, and the game will check for the first day with no scheduled events.

-- new optional parameter for CreateUniqueItem: Personal Item. Set to true if you want this weapon to be locked to the character you're giving it to.

-- greatly expanded the pool of pieces from which randomized unique weapon names are created.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 23, 2021, 05:43:02 PM
-- integrated the new calendar UI into the existing calendar animation. It now remains onscreen until you click, allowing you to examine it for as long as you need. The current day now visibly pulses, drawing the eye.

-- added a new parameter to the Schedule script action: event icon. This allows you to display an icon on the calendar for that event's day. Each day can display up to 3 icons.

-- improved the logic for handling calendar events.

-- new script action: GetEventDate. Sets 3 string variables (CalendarDay, CalendarMonth, and CalendarYear) for the first day on which the named event is scheduled on the calendar. One parameter: Scheduled Event Name.

-- various scheduled events in the main campaign now appear on the calendar.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 25, 2021, 10:40:09 PM
-- laid the groundwork for in-game books to contain actual, readable text.

-- arrogant and narcissistic characters now have a chance to take a morale hit when losing games played with other characters.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 27, 2021, 04:55:22 PM
-- new event added to the campaign: a beggar asks the player for money. Characters with certain traits will have differing reactions to the player's choice.

-- fixed a portrait compression issue that was affecting palette swapping for certain portraits.

-- added Memory as a new supported attribute type for the IfAttributeGoTo, IfAttributeRun, and UnitsToList actions.

-- characters now create a memory of the occasion when the player refuses to grant them a raise.

-- fixed: persistent dialogue, persistent scripts, and portrait placement data weren't reliably reloading when switching campaigns.

-- fixed: the dialogue menu wasn't quite centered onscreen.

-- fixed: event icons weren't aligned correctly on certain cells in the calendar UI.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 28, 2021, 04:00:33 PM
-- characters can now get into a small argument over the beggar event.

-- new script action: EventsToList. Allows you to input a range of days; the game will then collect the names of all events scheduled across those days and place them in a custom list. Three parameters: List Name, Days Passed Start, Days Passed End.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 06, 2021, 08:13:18 PM
After a vacation visiting my father out of state, I'm back and fixing stuff!

-- added new hometown background dialogue variants.

-- fixed up some existing dialogue variants.

-- fixed: recruits were being generated without likes.

-- fixed: the scene transition fade-out didn't stretch quite far enough on certain displays.

-- fixed: axes were being generated without correct images.

-- fixed: Plated Boots were incorrectly described as Heavy (rather than Medium) armor.

-- fixed: there was some incorrectly formatted XML in the CharAttributes file causing problems.

-- fixed a range error with the self-lighting code in battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 08, 2021, 02:58:53 PM
Had an online playtest with some friends last night which yielded loads of stuff to fix! To start:

-- when I renamed Whet Stones to Whetstones, I apparently forgotten that they are referenced by name in several battles and cut scenes, leading to errors in each of those spots. They are now fixed.

-- fixed: due to a dumb typo, unpromoted proc gen shadowlings and spriggats were getting generated with 19 and 25 Speed, respectively.

-- fixed: a typo was causing the game to come up empty when looking for character Defeat Response dialogue in battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 11, 2021, 07:02:33 PM
I was out of commission for a few days there recovering from my covid vaccination, but I'm once again back at it!

-- new special character supported: -NPC:-. This allows you to directly access an attribute of one of the triggering character's NPCs. It is formatted like so:

-NPC:Attribute Type|Name,Relation,Location,Species,Gender,Is Alive-

The Attribute Type can be any of those supported in SetStringByNPC. All of the parameters after the vertical bar are used to narrow down the NPC to pull from--none of them are required, but you'll want to use at least one of them if you want the game to find the right NPC.

-- tweaked VFX positioning on Hover skill.

-- added VFX to Engine Boost skill.

-- fixed: the broken-up background sub-topics had no narration topic summary.

-- fixed: it was possible to get the "pencil scribbling" sound loop from the report screen stuck permanently on by clicking through too fast.

-- fixed: the "pencil scribbling" sound loop on the report screen would continue after clicking to skip the text animation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 13, 2021, 05:22:23 PM
-- when you blow up a bridge tile holding characters or objects, the game now visibly drops them onto whatever lies below the former bridge.

-- fixed: characters attaining the ability to counterattack could end up counterattacking with weak debuff skills instead of actual attacks because the debuffs were cheaper. The algorithm for picking a counterattack skill is now smarter, prioritizing damaging skills over debuffs.

-- fixed a handful of situations where the game would inappropriately remember the last skill button clicked, producing situations where attempting to move into tall grass or onto a bridge would instead cause the character to move next to it and select an attack to use on it.

-- fixed: certain hard-coded loop sound effect triggers could override scene-specific scripted sound loops. These hard-coded sound loops now use one dedicated channel, with the remaining 3 available for volitional loops.

-- fixed: sound loops faded to a volume of 0 would remain "playing" in their respective channels between scene transitions, and could interfere with future attempts to fade out future instances of said loop.

-- fixed: when you unclicked a previously selected unit in the recruitment interface, the game would no longer highlight that character's portrait on mouseover.

-- fixed: the game was not displaying danger tiles for spaces characters could reach with attacks (but not movement) without moving at all. (See attached image for an example.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 14, 2021, 06:56:56 PM
-- fixed: the game wasn't saving the source of tags granted by equipment.

-- fixed: the bonus damage from a Bonus Damage tag was reapplying the base attack's status effects, effectively doubling them with every hit.

-- fixed: weapons generated with Poisoned or Burning attributes weren't being assigned the correct tags to add their respective status effects to associated attack skills.

-- fixed: the game wasn't allowing equipping and unequipping of items in the character screen outside of the reserve supplies during cut scenes.

-- fixed: BonusDmg tags were being applied to skills which they should not have been applied to.

-- fixed: generic unit portraits were being inappropriately compressed, leading to palette-swapping artifacts.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 16, 2021, 12:28:04 AM
-- the game no longer displays a mood preface for characters who are unconscious and recovering from wounds in camp.

-- fixed a couple of formatting errors in the condition-choosing script for the proc gen battles in leagues 0 and 1.

-- fixed a couple of formatting errors in the "gambling on the player's behalf" evening activity.

-- fixed formatting for interjections by pessimistic characters during the beggar evening event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 17, 2021, 06:35:44 PM
Dropbox produced conflicted versions of certain game files on my desktop last night, necessitating a few hours of confusion followed by deletion, renaming, and reconnection of assets to get everything working again. That SNAFU aside:

-- fixed: bridges in proc gen maps weren't being spawned with unique IDs, producing weird bugs when mousing over (or otherwise interacting with) them.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 19, 2021, 03:56:40 PM
-- calendar now has a two-phase click reaction; if you click during the day-change animation now, it skips to showing the calendar instead of ending the scene entirely. If you click while the calendar is showing, however, it progresses to the next scene as normal.

-- tweaked the speed values of attack projectiles to make them feel more impactful.

-- added a new projectile to the game for the Spear attack. (It's a spear.)

-- fixed: the game was not accurately gauging distance to target for projectile VFX, leading to wildly disparate projectile travel speeds depending on facing direction. (Most notably, up-facing attacks traveled noticeably slower than in every other direction.)

-- fixed an error in the logic for the rewritten Kill-All Victory condition.

-- fixed: character babble could be unintentionally cut off via the Wait script action.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 20, 2021, 05:11:04 PM
Gave Georgi a bunch of portrait feedback! Also:

-- the game now plays a "nope" sound if you try to change a character's equipment after their turn has ended.

-- fixed: null error in the character creator caused by the switch to the new proc gen dialogue system.

-- fixed: range error in the character creator when browsing pages of accessories for portraits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 20, 2021, 09:41:18 PM
-- responses to character dialogue are now regenerated after each use to decrease repetition.

-- fixed: second-character pronouns (heshe2, himer2, etc.) weren't getting processed properly.

-- fixed: the game was using the wrong approach type for characters whose familiarity rating put them past the greeting dialogue stage.

-- fixed: items weren't responding to mouse clicks due to a bug I accidentally introduced earlier today.

-- fixed: the first proc gen battle didn't have a nextBattle parameter.

-- fixed: the bandit side quest battle was locking up due the accidental addition of a second OnLoaded dialogue.

-- fixed a typo in one of the Awkward character lines.

-- fixed: the character creator was throwing a null error when confirming character dialogue entries due to changes in character dialogue generation elsewhere in the code.

-- fixed: the character creator had stopped generating generic characters successfully due to changes elsewhere in the code.

-- fixed: a typo in the CharAttributes XML file was causing weird errors.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 22, 2021, 12:02:41 AM
-- the game now has generic placeholder lines for when it can't find character dialogue it needs. (Before, the game would just effectively freeze when this happened.)

-- fixed: a variety of circumstances where the game could run into null errors when trying to format dialogue for characters missing certain parameters (like tic and laugh lines).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 27, 2021, 05:52:38 PM
Back to focusing on the Telepath Tactics remake!

-- spent hours working on the free-roaming bandit fortress section. However, it's clear that that sequence is going to require a lot of work on various aspects of the engine, so I'm skipping over it for the moment to get more scenes working using the core stuff that's already in-engine.

-- got the bandit fortress outer wall battle working. :)

-- fixed: it was possible for dialogue without a specified Conv ID to retrigger itself mid-dialogue by performing script actions that theoretically trigger new dialogue (such as opening a door), thereby trapping the game in a loop.

-- fixed: the game was tying triggered instances of dialogue to the parent dialogue data, which could result in errors trying to access the dialogue after removing it from the triggered dialogue queue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 28, 2021, 05:48:47 PM
-- got the five short cut scenes that follow the bandit fortress outer wall battle working! :)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 30, 2021, 10:22:38 PM
Created a spreadsheet with every scene in Telepath Tactics to chart my progress getting them all working in the new engine.

-- reformatted the remaining shop cut scenes from Telepath Tactics to work in the new engine.

-- wrote some new attack barks and variations for personality traits that had fewer than others.

By my count, I've now got 39 scenes out of 79 total scenes working in the Telepath Tactics main campaign.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 01, 2021, 06:34:52 PM
Recreated the Five Guardians battle in the Telepath Tactics main campaign.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 12, 2021, 10:29:28 AM
Gave Georgi a ton of portrait feedback over the past few days!

-- Burning no longer stacks; applying additional Burning status to a Burning target will now merely extend the duration of existing Burning.

-- fixed: camp activities would display a "blank" portrait for some narration that didn't have a particular character attached.

-- fixed: the fix to dialogue retriggering itself midway through resulted in the game not recognizing that conversations had ended at all in some circumstances.

-- fixed: the game would not remove the grass patch objective reticle in the Qualifier if you skipped certain steps in the tutorial due to certain script actions referencing the wrong coordinates.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 14, 2021, 05:32:31 PM
-- made bushes, trees, and other living plants more resistant to Pierce damage.

-- fixed: the shop tutorial had certain elements misaligned.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 23, 2021, 08:15:51 PM
Geez, this month has just been terrible for productivity--so much time has been eaten up by having to watch videos to meet my requirement for 30.0 hours of CLE credits! Still, I'm making little bits of progress; mainly a lot of artist feedback. (Good grief are there ever a lot of portrait assets to remake.)

Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 01, 2021, 03:43:33 PM
I've received the last of the proc gen portrait art from Georgi! :D While he works on the generic unit and unique character portraits, I'm going through and replacing the old assets with the new ones.

-- heads can be positioned and scaled along the x and y axes just like other portrait elements now!

-- got the new portrait assets for proc gen golem characters in-game and working.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 02, 2021, 12:00:55 PM
-- began the process of incorporating the new proc gen human portrait assets into the game.

-- added dents and scratches to generated golem portraits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 05, 2021, 05:57:34 PM
-- got male and female human portrait assets in-game and with updated positioning data. :)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 06, 2021, 04:13:48 PM
-- updated human portrait accessory positioning data.

-- got male and female lissit portrait assets in-game; updated male lissit positioning data.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 09, 2021, 04:49:43 PM
Artist feedback stuff, yada yada. Also:

-- finished up all the portrait positioning data for the new lissit portrait assets!

-- got the new shadowling portrait assets in-game.

-- got the new male and female spriggat portrait assets in-game.

-- got the new male and female spirit portrait assets in-game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 11, 2021, 12:33:29 PM
-- updated spirit portrait asset positioning data.

-- improved some of the portrait asset positioning data for female humans.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 15, 2021, 06:20:12 PM
-- made a bunch of revisions to portrait assets.

-- finished up all the portrait positioning data for the new shadowling portrait assets!

-- finished up all the portrait positioning data for the new spirit portrait assets!

-- finished up all the portrait positioning data for the new male spriggat portrait assets.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 16, 2021, 05:47:38 PM
-- finished up all the portrait positioning data for the new female spriggat portrait assets!

With that, Georgi is finishing up the unique character portraits while I figure out a new color-tinting shader using masks.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 18, 2021, 11:31:05 AM
-- fixed a typo in the code that was preventing the game from deserializing head data for portraits correctly.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 18, 2021, 06:49:59 PM
-- improved positioning data for various shadowling portrait elements.

-- coded support for dedicated glasses and hat portrait elements.

-- fixed: shadowling horns were now interacting incorrectly with mentalist and photokineticist headbands due to the fact that they now throw shadows. Put them on their own, new layer.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 20, 2021, 10:13:56 AM
-- received unique character portraits with alternate expression assets; gave artist feedback on unique character portraits.

-- received, implemented updated scar assets for shadowlings.

-- received, implemented updated earring assets for spirits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 20, 2021, 08:06:54 PM
More Telepath Tactics work:

-- got the Battle with Gulch Prelude scene working

-- recreated the battlefield for Battle with Gulch.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 23, 2021, 11:27:56 AM
-- added a console to the game for easier testing of various situations.

-- received unique portrait assets from Georgi Minkov! Stuck them in the game.

-- gave portrait asset feedback re: an unreadable file; received a fixed file, added it to the game.

-- gave more portrait asset feedback re: asset mask colors. (Unity is very particular about your Rs, your Gs, and your Bs!)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 23, 2021, 10:15:25 PM
Began the slow, laborious process of recreating all of the asset positioning data for unique character portraits so they don't look like Picasso paintings.

-- recreated portrait positioning data for the recruiter.

-- recreated portrait positioning data for the arena manager.

-- recreated portrait positioning data for the merchant.

-- recreated portrait positioning data for the messenger.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 25, 2021, 10:45:51 AM
-- the Enter and Escape keys now work with the console.

-- recreated portrait positioning data for Emma Strider.

-- recreated portrait positioning data for Sabrina Strider.

-- recreated portrait positioning data for the shadowling child.

-- recreated portrait positioning data for Ishita Svaamee.

-- recreated portrait positioning data for Praetor Nero.

-- recreated portrait positioning data for the king of Dese.

-- fixed a couple of bugs with the console.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 25, 2021, 04:26:24 PM
-- created portrait positioning data for Manbir Raksha.

-- recreated portrait positioning data for the king's brother.

-- recreated portrait positioning data for the Lakshmi Bana.

-- recreated portrait positioning data for merchant 2 and merchant 3.

-- more miscellaneous fixes re: missing or incorrectly formatted portrait assets.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 26, 2021, 05:31:25 PM
-- recreated portrait positioning data for the lissit child.

-- recreated portrait positioning data for the spriggat child.

-- recreated portrait positioning data for all 6 generic villagers.

-- recreated portrait positioning data for all 6 Dese villagers.

-- fixed: the game was overwriting portrait data for certain unique portraits with out-of-date default values.

-- fixed: portraits lost the ability to bob when moving at some point due to some nonsense relating to Unity prefabs.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 29, 2021, 09:36:34 AM
-- recreated the terrain for the Hills of Coria battle.

-- recreated the terrain for the Coria Bridge battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 29, 2021, 07:14:20 PM
-- recreated the terrain for the Coria Dogs - Ground Level battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 03, 2021, 07:45:13 AM
-- recreated the terrain for the Coria Dogs - Basement battle.

-- recreated the terrain for the Battle with Ebon Raban.

-- recreated the terrain for the Rescuing Sarn Kamina battle.

-- recreated the terrain for the Battle with Archos.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 03, 2021, 11:32:45 AM
Gave Ryan feedback on some new music.

-- created a triplanar shader to replace the deprecated triplanar shader being used for cave wall assets.

-- recreated the terrain for the Mines Entrance battle.

-- fixed: Unity had inappropriately applied specular highlights to cliff and cave fill materials.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 03, 2021, 01:34:48 PM
-- recreated the terrain for the Battle with Tarion.

-- edited the terrain for the Battle with Tarion to throw in more tactical wrinkles; removed a few rows and columns to make the map more compact (from its original 45 x 26 to 41 x 23).

-- fixed all of the remaining materials whose shaders were broken when upgrading to the universal render pipeline.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 03, 2021, 03:42:40 PM
-- in the map editor, you can now click the battlefield while in the Edit Light Properties window to reposition point lights.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 04, 2021, 08:51:25 AM
-- gave artist feedback to Ryan Richko on the new, in-progress festival theme.

-- gave artist feedback to Georgi Minkov on portrait hue-shifting masks.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 05, 2021, 05:33:31 PM
-- gave artist feedback to Georgi Minkov on generic portraits and hue-shifting masks.

-- received the new generic portrait assets.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 06, 2021, 03:45:15 PM
-- gave artist feedback to Georgi Minkov on hue-shifting masks.

-- incorporated the new generic unit portrait assets into the game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 06, 2021, 06:51:29 PM
-- got army color palette-swapping working on character clothing in portraits! Player characters are now garbed in blue and enemies are now garbed in red (rather than the default violet). :D
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 09, 2021, 03:11:57 PM
-- spent days getting the hue-tinting shader to work correctly in all possible cases, especially for skin tone across 6 different species. (This is much harder than it sounds due to the fact that shaders don't support branching logic). Well, it's finally working--and playing nice with portraits that don't support hue-shifting to boot! :D

-- expanded the number of human skin tones from 5 to 7.

-- fixed a few greeting responses that used the wrong gender referent.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 10, 2021, 04:08:14 PM
Collected a bunch of artist feedback on small technical issues as I...

-- got hue-shifting for non-human, non-lissit portraits working!

-- fixed: hue-shifting for portraits wasn't working in the campaign editor suite.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 11, 2021, 02:50:39 PM
-- wrote a new plot event for Together in Battle helping to establish the existence of a conspiracy against the crown.

-- fixed some stray marks in the proc gen bronze golem body.

-- fixed: the game was supplying the wrong mask for unique character portrait mouths, making it look like everyone was wearing black lipstick.

-- fixed: it would crash the game if you loaded a custom campaign without a Maps subfolder.

-- fixed: I had commented out the pixel art palette-swap code to avoid accidental editing, but then forgot to...un-comment it. :o
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 11, 2021, 05:56:55 PM
-- wrote about a dozen unique variants on the "where am I from" background conversation for proc gen characters getting more into the nitty-gritty of what different in-world places are like.

-- reconfigured the relationship stats attending various camp conversations to make more sense and to cut down on repetition.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 11, 2021, 11:29:13 PM
-- fixed: the game could freeze under certain circumstances when more than one dialogue was triggered at the same time in battle.

-- fixed: portraits had gone out of alignment within deployment tiles.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 12, 2021, 02:20:52 PM
-- units now visibly step out of the way when dodging attacks.

-- units now visibly stagger backwards when struck by attacks.

-- new parameters for the DamageChar and DamageCharAt actions: direction. This causes the affected unit to visibly stagger in that direction when damaged.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 12, 2021, 06:28:54 PM
-- created masks for human, lissit, spriggat, and shadowling neckwear, hair accessories, scars, moles, beards, and tattoos; got hue-shifting working for them all.

-- fixed scaling and positioning data for the male human bandana.

-- fixed a layering issue with human male hair 7.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 13, 2021, 09:47:16 AM
-- fixed eyebrows and mustaches showing up might too bright with some human hair colors.

-- fixed some unwanted hue-shifting going on with certain unique portraits and neckwear.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 13, 2021, 01:13:02 PM
-- fallen soldier objects are now automatically palette-swapped to match whatever army they're set to.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 13, 2021, 02:47:42 PM
-- fixed a long-standing issue with flyer elevation when moving from a hazard tile onto land.

-- fixed: it was possible for destructible objects to be (uselessly) affected by New Turn status.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 14, 2021, 07:38:42 AM
-- fixed: bonus damage (e.g. from poisoned or burning weapons) wasn't getting included in the damage preview of skill tooltips.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 17, 2021, 12:57:49 PM
-- each character now visibly approaches via portrait animation when delivering an "approach" line.

-- improved the "cooking reaction" dialogue.

-- improved the game's behavior handling reports coming up mid-dialogue.

-- fixed scripting for "Plot Event 0."

-- fixed a graphical glitch that was causing gray-haired characters to shift hair colors after more than one line of dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 17, 2021, 04:03:49 PM
-- when building a bridge over a water, lava, or chasm tile, the game now sticks extra cosmetic bridge objects on adjacent land tiles to visibly connect the bridge to the land.

-- wrote a new Loyal defeat line.

-- took out the hit stagger animations; they just didn't look right with Unity's auto-smoothing.

-- improved the dodge animations.

-- fixed: it was possible to skip over script actions on hold via a Wait action by simply progressing to the next branch before they executed.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 18, 2021, 02:03:35 PM
-- the game now supports Shield skills that damage the target. (They require a negative strength damage factor or psy damage factor.)

-- new skill: Adrenaline. Gives the target Move Bonus status until the end of the turn, but deals them 1/3rd of the user's Psy in damage.

-- added Adrenaline to the skill progression for mentalists, with a 33% chance of it appearing in lieu of Stimulate or Clarify.

-- got the bandit fortress entrance working in the Vengeance of Emma Strider campaign!

-- fixed: using skills during exploration mode would still give experience, allowing players to easily level up infinitely using zero-energy abilities like Shove/Pull/etc.

-- fixed: the character creator had ceased to save head information correctly in character portraits due to changes in how that information was formatted elsewhere in the game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 18, 2021, 04:09:49 PM
-- clicking on a character you can talk to in exploration mode will now automatically trigger dialogue after the selected character moves over to them.

-- added support for the Use Once trigger type.

-- wrote documentation for the unit trigger types Use, Use Once, and Pressure.

-- fixed: the OnDoor dialogue trigger wasn't completely implemented.

-- fixed: triggering a Use or Use Once trigger would "end the character's turn" in exploration mode.

-- fixed: it was possible for the RemoveUnitAt script action to produce a null error if the correct coordinates weren't specified.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 18, 2021, 09:49:38 PM
-- got the bandit fortress barracks working in the Vengeance of Emma Strider campaign.

-- got the Meeting Teresa and Phoebe cut scene working in the Vengeance of Emma Strider campaign.

-- fixed: AddSpeakerPortrait and the talk symbol weren't attaching to the correct generic enemy characters during dialogue triggered based on script ID.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 19, 2021, 04:33:18 PM
-- got the bandit fortress second floor working in the Vengeance of Emma Strider campaign.

-- new condition: Bar Skills. Bars the use of character skills in a map. Parameters are simply exceptions to the bar, which characters may use. (This is intended for use in exploration maps, but may be used in battles as well.)

-- when mousing over units in exploration maps, the cursor now changes to a Talk bubble if the selected character can talk to that unit.

-- when mousing over units in exploration maps, the cursor now changes to an Inspect symbol if the unit has a Use or Use Once trigger.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 19, 2021, 05:23:49 PM
-- when clicking an object with a Use or Use Once trigger in exploration mode, the character will now move to the object and automatically attempt to use it.

-- when clicking a door in exploration mode, the character will now move to the door and automatically attempt to open/close it.

-- when mousing over doors in exploration mode, the cursor now changes to an Inspect symbol.

-- fixed: the game would display mouseover tooltips on characters if you moused over them during scripted movement within active dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 20, 2021, 07:34:51 PM
-- the game now supports stairs!

-- added Wood Stairs and Castle Stairs destructible objects into the game with 4 directions each.

-- all unit tags with an operation parameter now support multiple operations in sequence.

-- new tag: AdjustElev. Allows you to string together a series of operations affecting bridge elevation.

-- added documentation for the Elev tag into the game.

-- fixed: the game's movement logic was not taking bridge elevation into account when calculating moveable spaces for characters.

-- fixed: when mousing over a bridge in battle or in the map editor, the terrain inspector would show the elevation of the tile below the bridge rather than the elevation of the bridge itself.

-- fixed: sound loops from testing a map would continue playing upon exiting to the map editor.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 20, 2021, 08:38:15 PM
-- fixed: the game would refuse to spawn bridges on the same tile as a wall or a barricade if those objects spawned first.

-- fixed: the game was ignoring bridges for purposes of determining elevation on various spots for attacking.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 21, 2021, 05:33:42 PM
-- finished updating the scripting and adding in the new stair objects to the bandit fortress entrance and bandit fortress second floor in the Vengeance of Emma Strider campaign.

-- got the bandit fortress basement and Fera's room working in the Vengeance of Emma Strider campaign.

-- wrote new dialogue for the bandit fortress.

-- the game now auto-selects the first character on the player's army upon loading a scene in exploration mode so you don't have to click someone to get started exploring.

-- new proc gen armor property: Cushioned. Basically a better version of Padded, it offers +30 Crush resistance.

-- started working on integrating the Fencer sprites into the game.

-- fixed: the new click-to-move-and-interact logic was preventing the player from moving onto item sacks or other spaces containing objects with an "All" passability.

-- fixed: click-to-interact wasn't working with objects directly adjacent to the selected character in exploration mode.

-- fixed: the game was allowing destructible objects to initiate dialogue with adjacent characters under certain circumstances. ;D

-- fixed: the game was skipping certain steps when initiating dialogue bootstrapped from a script via the LoadConv action in battle (such as hiding the Actions Menu and unhiding the dialogue portraits layer).

-- fixed: a couple of edge-case situations could cause move tile arrows or step symbols to remain displayed even after they'd been moused off of.

-- fixed: the GiveItem script action would always equip the given item regardless of the parameters used, even if it was an item that could not be equipped (such as a consumable)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 22, 2021, 05:40:32 PM
-- increased the default unit move speed by 25%.

-- created (and made pixel art for) new item: Key Ring. A key with 5 uses.

-- added some missing enemy masteries in the Vengeance of Emma Strider campaign.

-- fixed up a bunch of scripting in the bandit fortress basement.

-- tweaked the self-lighting values on various destructible objects.

-- added facial expressions to the Vengeance of Emma Strider death monologues.

-- fixed: the game was playing the weapon break sound effect and giving the weapon break pop-up when using a key to unlock a door.

-- fixed: the game was playing sound effects when setting up door Locked/Unlocked/Closed/Open status during OnLoaded actions, resulting in a flurry of weird sound effects when first entering a scene with such actions applied to doors.

-- fixed: the game wasn't referring to the number of participants in a line when deciding whether to show a second character portrait.

-- fixed: the game wasn't recognizing the human player as having lost after an enemy army won via the Defeat Army condition.

-- fixed: the game would still treat a skill as having been selected for attacking after undoing or deselecting the unit.

-- fixed: typos in Emma Strider's death monologue.

-- fixed: upon switching to exploration mode during battle when all characters had acted, the game would still ask you to automatically end the turn...and lock up the game if you didn't select yes.

-- fixed: upon opening or closing a door, the move tiles would not automatically update.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 23, 2021, 06:28:33 PM
-- got the Bandit Fortress Entrance Battle working in the Vengeance of Emma Strider campaign.

-- remade the Out of Food Battle as a normal, non-proc-gen fight.

-- when mousing over a door, the game now displays whether it is Closed, Locked, or Open in the tooltip.

-- created a couple of new modules for golems: Rubber Gasket (+4 to max energy) and Solar Module (regain +1 energy every turn).

-- added two new proc gen shield modifiers: Rounded and Convex, each of which increase Slash and Pierce resistance for the user at the cost of some bonus health.

-- added two new proc gen main gauches: Sharp and Deadly, each of which increase Strength for the user.

-- did a bit more balancing on the bandit fortress sequence: the prison guard now always has the same stats, and the player can find a Convex Shield in Fera's room to help with the fight in case Emma is underleveled.

-- fixed: in battle, the Recover condition was being applied before deployment, only to characters already on the battlefield.

-- fixed: the game was showing stats modified by +0 in item tooltips, taking up spots needed to display stats actually affected by the equipment.

-- fixed: the game wasn't pulling an army's "using roster" value for deployment, and was instead looking to a (now deprecated) parameter within the Deployment condition itself.

-- fixed: the game wasn't pulling an army's "using roster" value for the reserve supplies screen during deployment in battle, and was instead looking to a (now deprecated) parameter within the Deployment condition itself.

-- fixed a typo in the experience gain pop-up from using battle primers.

-- fixed: if a character leveled up after a turn-ending attack and the battle then switched to exploration mode, that character would remain grayed-out and unusable.

-- fixed: the game was improperly treating the penalties of low morale in damage calculations as a bonus instead.

-- fixed: most of the "ModDmg" tags granted by weapons were not applied to particular skills, causing the engine to not recognize them when calculating final damage.

-- fixed: the Range tag and most of the "ModDmg" tags were not coded so as to apply to the skills dependent upon the base skill named in the tag.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 24, 2021, 05:29:05 PM
-- the game now saves objective reticles active on the battlefield during mid-battle saves; it now reloads them upon loading a mid-battle save.

-- spent time further improving the game's AI.

-- implemented the Attack Bridges condition.

-- improved the scripting on the Bandit Fortress Outer Wall Battle.

-- the AI now plays nice with a friendly unit receiving a New Turn (e.g. from Motivate) during an AI-controlled turn.

-- fixed: the AI would score skill status effects without regard to whether the target was immune to those status effects.

-- fixed: the AI would score New Turn-granting skills like Motivate highly even for units whose turn had not yet ended.

-- fixed: the algorithm for weighing the danger of various spaces in the AI was including allies in the pool of potentially dangerous units.

-- fixed: the WinBattle/EndBattle/LoseBattle reply types wouldn't actually end the battle because the game would detect an active conversation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 25, 2021, 02:37:22 PM
-- got the Battle with Gulch working in the Vengeance of Emma Strider campaign.

-- added new light animation type: Pulse. Causes the light to softly grow and shrink (as opposed to the more erratic, open-flame like animation pattern of Flicker).

-- the army overview screen now displays a tooltip when mousing over Wounded characters.

-- further AI fixes and improvements.

-- added new script action: ReturnToShop. Reopens the shop interface without re-randomizing the inventory.

-- added an opportunity to return to the shop before leaving Agarwal's in the Telepath Tourney campaign.

-- in the first shop scene in in the Vengeance of Emma Strider campaign, added an extra warning that it may be some time before the player gets to shop again; the player is given a second chance to peruse Goniff's wares before leaving.

-- incorporated updated masks for lissit bodies, spirit eyes, human eyes, and human mouths into the game.

-- incorporated updated assets for proc gen shadowling eyes into the game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 26, 2021, 04:48:04 PM
-- did some more work on the new Out of Food Battle, adding tags, adjusting positioning, and adding enemy reinforcements.

-- added support for multiple pages worth of characters in the deployment and reserve supplies screens. (Previously, these were capped at 18 characters apiece.)

-- the game now automatically sorts characters in the deployment screen to ensure that characters who must be deployed are listed first.

-- new tag: Pursue. This causes the tagged unit to automatically remove any Passive tag it might possess upon attacking or being attacked (and to do the same for any other units in its AggroGroup, if any).

-- incorporated the last of the proc gen and generic portrait fixes. Work on Telepath Tactics unique portraits has begun!

-- fixed: the AggroGroup tag would only trigger on certain turns.

-- fixed: the game would sometimes select the wrong skill for determining maximum and minimum range when displaying enemy danger tiles.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 27, 2021, 12:48:39 PM
-- did some more balancing and tweaking on the remade Out of Food Battle; it is now complete!

-- the OnGrab dialogue trigger now sets an integer _NumGrabbed equal to the number of the named item that was grabbed within the sack. (This lets you track if/when a player grabs more than 1 of an item within a single item sack.)

-- added Cave Stairs and Limestone Stairs destructible objects into the game with 4 directions each.

-- the terrain inspector now says Bridge when mousing over a tile covered by bridge.

-- fixed up the scripting on the Merchant 2 scene; finished adding it to the Vengeance of Emma Strider campaign.

-- created portrait data for Goniff Bastid's new art.

-- fixed up some of the terrain in Battle with Cloch.

-- fixed: the game would let you build a bridge on a space already occupied by a bridge tile.

-- fixed some buggy highlighting behaviors in the deployment screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 27, 2021, 06:22:58 PM
-- added Caduceus and Shadowheart sprites into the game.

-- began the process of adding Mantis Knight sprites into the game.

-- new script action: AggroGroup. Manually triggers aggression in characters tagged as being in the specified AggroGroup. One parameter: AggroGroup Number.

-- added support for the info bar to battle scenes.

-- ShowInfoBar and HideInfoBar now work in battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 28, 2021, 05:45:57 PM
-- optimized fog of war tiles for better performance; replaced the particle effects with a shader that makes the tiles sway and distort, using up way fewer resources.

-- optimized fog of war tile placement and removal logic to minimize the number of Instantiate and Destroy calls, massively boosting performance when updating the fog of war.

-- the player can now click and drag fog of war tiles to pan the camera.

-- fixed: fog of war had somehow ceased to work at some point over the preceding months.

-- fixed: fog of war wasn't loading upon loading of a mid-battle save.

-- fixed: fog of war tiles would partially sink into 0-elevation hazard tiles, revealing the presence of those tiles.

-- fixed: I had somehow neglected to give Silithis Predat the mastery required to use Fangiss Ka. ;D
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 30, 2021, 12:32:12 AM
-- finished up the updated scripting for and finalized more cut scenes for The Vengeance of Emma Strider.

-- fixed up scripting on the Battle with Gulch, which I've renamed to Moonless Hunt. It is now complete.

-- fixed: fog of war tiles would display over the top of the new turn box.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 30, 2021, 02:58:54 PM
-- in the Vengeance of Emma Strider campaign, a variable number of proc gen recruits now show up to join the player if their force is too small after winning the Caravan Battle (and further supplemented if the player fails to recruit Lakshmi and unlock her side mission, which provides its own recruits).

-- the computer will no longer rate skills that grant Focused, Lucid, or Clouded highly if the target possesses no Psy-based skills.

-- the computer will no longer rate skills that grant Strengthened or Weakened highly if the target possesses no Strength-based skills.

-- the computer will no longer rate skills that grant Levitating highly if the target already has a flying move type; and it will no longer rate skills that grant Heavy highly if the target is not flying.

-- the computer will no longer rate skills that grant Distracted highly if the target does not have counterattacks or reflexes remaining.

-- properly centered the dialogue window in battle.

-- fixed: it wasn't displaying a "used such-and-such" pop-up when enemies used items in battle.

-- fixed: it wasn't playing item sound effects when enemies used items in battle.

-- fixed: the tags parameter in GenerateUnique was not working.

-- fixed: materials and quality parameters for generating unit inventory with GenerateUnique were not working if the unit was generated outside of battle.

-- fixed: the way the game was calculating time passing while executing script actions was inaccurate, resulting in appropriate detection of infinite loops with large numbers of actions that did not take much real-world time. Reduced the "infinite loop suspected" cut-off time to 12 real-world seconds.

-- fixed: the game's dialogue and scripting engine was not able to reference units generated during the course of the same dialogue tree.

-- fixed: the reserve supplies screen would still close if you clicked anywhere on the background.

-- fixed: returning to a shop within a given scene would not update its internal version of characters and reserve supplies.

-- fixed: the game would not flag a cut scene as "shopping" when returning to a shop, resulting in purchased items not appearing in the reserve supplies screen.

-- fixed composition and placement of reserve supplies character tooltips.

-- fixed: the map editor wasn't pulling from army info when determining the color of units shown in each army.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 31, 2021, 06:57:46 PM
-- got the Flashback 1 cut scene working in the Vengeance of Emma Strider campaign.

-- got the Hills of Coria battle working in the Vengeance of Emma Strider campaign.

-- portrait movement now only triggers the "walk" animation if the portrait moves horizontally.

-- new optional parameter added to MovePortrait: glide. Can be true or false; if set to true, it disables the walk bob animation while the portrait moves.

-- bridges are now always built at the elevation of the builder, regardless of the elevation of the terrain below.

-- in single player maps, the game now recognizes the death of a Human-controlled army as a player defeat even if it doesn't technically trigger victory conditions for any of the enemy armies (e.g. if there are multiple armies left, each hostile to one another, and none have a Defeat Army condition for the player's army).

-- the map editor now has a check box in Map Settings that lets you mark the map as multiplayer.

-- fixed: the game would not recognize Protect Char conditions for units who were neither spawned on the battlefield from the start nor queued up as reinforcements (i.e. for characters placed via deployment).

-- fixed: morale loss and morale gain were turned on for The Vengeance of Emma Strider maps.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 01, 2021, 10:50:27 AM
-- the map editor now has map settings fields for Victory Morale and Loss Morale; these are populated when a map loads and their contents are properly saved with the map when it is saved.

-- if the player deletes Introduction in the campaign editor, clicking it now automatically opens up the cut scene editor with a new, blank Introduction.

-- fixed: Next Scene icons had somehow gotten disconnected from their parent slots in Unity.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 02, 2021, 02:04:59 PM
-- spent more time balancing AI values and tweaking enemy behavior to keep enemies from looting chests and other things that are supposed to be reserved for the player. The AI now ignores chests and objects with items inside unless set to either Arena or Greedy AI profiles.

-- did a bit of balancing on Hills of Coria to make falling into the water later on in the map less of a death sentence.

-- you can now click cliff faces to initiate camera pan dragging.

-- filled out the skill progression for certain Telepath Tactics characters will fewer skills.

-- fixed: Swim had ceased functioning.

-- fixed: under certain circumstances, characters could suffer damage from environmental hazards twice when their turn came at the end of a round.

-- fixed: the game was making Extinguished, Thawed, Unslowed and Unblinded not take effect 50% of the time.

-- fixed: character portraits were using the wrong lookup table for army color palettes.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 03, 2021, 03:10:29 PM
Telepath Tactics unique character portraits are starting to come in from Georgi Minkov! Gave him feedback on a set of 5 characters.

-- got the Flashback 2 cut scene working in the Vengeance of Emma Strider campaign.

-- began getting Coria Bridge Battle working as intended.

-- boosted the volume of the music track "Enslaved," which was decidedly too quiet relative to the game's other music.

-- improved healer AI to get them to stay within move-and-heal range of allies.

-- when move or attack tiles are onscreen, right-clicking a bridge is now treated as a "cancel" right-click rather than opening the character screen.

-- fixed: the game would stop all ambient sound loops any time a shadowling finished moving because they had no move sound and stopLoop() run with a blank string is a signal to stop all loops.

-- fixed: clicking a character in the deployment screen and then clicking on a second character would leave the first character tinted green if that character had already been deployed.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 05, 2021, 11:16:11 AM
-- fixed: the AI was starting its turn before the turn box vanished offscreen.

-- fixed: bridge tiles would show mouseover info when mousing over a move tile on their space (which would often obscure more important information).

-- fixed: it was possible under rare circumstances to get a null error when left-clicking an enemy to show their move and attack range.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 05, 2021, 08:07:02 PM
-- got the scripted event where an enemy engineer places explosive charges in the Coria Bridge Battle map working!

-- added IfPathClearRun to the game. Battle only; this checks to see if the named character has a clear path to a specified set of coordinates. If so (or if Reverse Match is set to true), the specified script(s) is(are) run. Parameters: Character Name, Y Coordinate, X Coordinate, Script Name, and Reverse Match (true or false -- optional).

-- you can now designate -ANY- as the character for IfInAreaRun and IfInAreaGoTo.

-- when spawning a new unit via a script in the middle of an AI turn, the AI now adds the unit to its list of potential targets.

-- fixed: some of the code governing the operation of a TargetPreference tag in AI could lead to the game freezing.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 06, 2021, 01:01:20 PM
-- updated the scripting governing timing of pop-ups and morale bars during events in Together in Battle.

-- golem portraits are now displayed 15% larger in dialogue to give a more accurate sense of scale.

-- fixed: camp dialogue was creating a duplicate of the second character's portrait on branch 1.

-- fixed: infinite loop detection wasn't accounting for the game's various Wait actions. It now resets to zero whenever a Wait-style action is executed.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 08, 2021, 06:25:47 PM
-- doubled the camera zoom-in speed when an attack is initiated; cut the delay before initiating the skill animation by more than half when combat camera zoom is enabled.

-- adjusted some more of the Coria Bridge Battle scripting.

-- attack tiles for building bridges now always appear at the builder's own elevation.

-- new tag type: MoveFirst. During its turn, the AI will always move all characters tagged MoveFirst before moving its remaining characters.

-- finally finished getting the Coria Bridge Battle working in the Vengeance of Emma Strider campaign.

-- fixed: the game would process environmental and status effect damage at the same time as triggered OnTurn dialogue.

-- fixed: the game was spawning flyers too high above water due to some holdover code I forgot to nix.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 09, 2021, 04:12:24 PM
-- remade Red's portrait using the new proc gen portrait assets.

-- improved some of the scripting in the Training and Zash and Red battles.

-- fixed: the game would not re-highlight the selected character upon conclusion of a non-turn-ending attack.

-- fixed: Unity had broken a component in cut scenes that was required for the NewRoster level tag to work.

-- fixed: loading up premade characters in the character editor could produce a null error if the character had no inventory defined.

-- fixed: the game would treat combat barks as available if the character had completely blank atkBarks, vicBarks, etc. attributes contained in PreMadeUnits.xml.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 09, 2021, 09:51:33 PM
-- got the Coria cut scene working in the Vengeance of Emma Strider campaign!

-- added Photokurios sprites into the game.

-- added new parameter to MoveCam script action: Speed. (By default, this is 1.0.)

-- added sound effect when changing browsing categories in the shop interface.

-- wrote some more attack barks for Jokester characters. :D

-- fixed: the dialogue menu would still accept inputs while characters were moving around onscreen.

-- fixed: talk symbols produced by the AssignSpeaker action would disappear and not reappear again after scripting character movement during dialogue.

-- fixed: it would play the "clicked move tile" sound effect when doing scripted movement during dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 10, 2021, 12:47:07 PM
-- got the Merchant 3 cut scene working in the Vengeance of Emma Strider campaign.

-- finished adding Fencer and Mantis Knight sprites into the game.

-- added Bowmaster sprites into the game.

-- added Mindjacker sprites into the game.

-- barks for premade characters now support facial expressions.

-- documentation for adding facial expressions to barks added to character creator.

-- added facial expressions to every victory bark within the Telepath Tactics cast.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 11, 2021, 12:47:52 PM
-- if an army has no characters available for that player to control, the game now skips directly over that army's turn without displaying the new turn box.

-- if a character is on top of an item sack, mousing over them now displays the items in the sack at the bottom of the character tooltip.

Experimented with some changes to make maps with extreme elevation differences more playable:

-- tilted the camera an extra 10 degrees closer towards an overhead view; this allows a 0-elevation space to still be visible (and selectable!) behind 3-elevation terrain. This had a bunch of really annoying knock-on effects throughout the engine that I spent hours addressing, but I seem to have gotten it all sorted out now...fingers crossed.

-- mousing over a cliff face now treats the selector as though it were over the space directly below it.

-- fixed: the idle "breathing" animation somehow got removed from the character animation controller.

-- fixed: the game was not serializing and deserializing army AI profile information correctly during mid-battle saves.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 13, 2021, 09:30:56 AM
-- added army AI profiles to each of the battles currently in Together in Battle.

-- added a light animation selector to the Light Properties window in the map editor. Lights can now be designated Static, Flicker, or Pulse.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 13, 2021, 06:30:28 PM
-- created separate visual effects for the level 1 and level 2 breath attacks to match their respective attacks' range.

-- fixed a ton of skill visual effects that no longer aligned correctly after the Great Camera Tilting of Two Days Ago.

-- fixed compression settings that were making a few of the visual effects look bad.

-- fixed an annoying behavior where the game would switch the active character after using a skill in Exploration Mode with multiple characters under the player's control.

-- fixed: self-move attacks (like Charge) were still delaying the self-move  by 1 additional second for combat zoom-in even though combat zoom-in had been cut by more than half, leading to incorrect timings.

-- fixed: skills affecting Max Health or Max Energy (e.g. Static Shield) did not correctly display the stat's icon in pop-up text.

-- fixed: Energy-draining attacks were rolling over into Health damage when taking Energy below 0 not just for characters, but for destructible objects as well.

-- fixed: it was possible for animating bars to produce an NaN error by starting with a scale determined through dividing by 0 when using Energy-reducing skills on targets with 0 energy.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 15, 2021, 04:16:04 PM
-- fixed scripting in the Coria Dogs - Ground Floor battle in the Vengeance of Emma Strider campaign.

-- rewrote (and optimized) the code for determining where characters can target their attacks. In the process, fixed: ranged attacks could pass through walls under certain circumstances.

-- fixed: health bars were no longer displaying above 3D objects.

-- fixed: unit tooltips would display for units below the actions bar when mousing over the actions bar.

-- fixed: the status effect displayer for units could clip through walls behind the unit.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 16, 2021, 07:01:33 PM
-- the game now pans the camera to AI characters using an item before moving.

-- fixed: the game could freeze if the computer tried to score moves for an AI-controlled character with duplicates of the same skill.

-- fixed: non-flying units in liquid were not spawning down within the liquid.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 17, 2021, 04:53:52 PM
Corresponded with Georgi about the new Telepath Tactics portraits, reached out to Egle Moskaite about doing new key art for the game. Meanwhile, on the dev front:

-- fixed alignment on Sword animations for the Fencer.

-- got the Coria Dogs - Ground Floor battle fully working in the Vengeance of Emma Strider campaign.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 18, 2021, 01:42:09 PM
-- new script actions supported in-game: IfBlockedGoTo and IfBlockedRun. These check for the presence (or absence) of a character or impassable object blocking the specified space; if present (or Require Blockage is false), then go to a dialogue branch or run a script. Each starts with the same three parameters: Y Coordinate, X Coordinate, and Require Blockage (true or false).

-- wrote new character dialogue for the conclusion of the Coria Dogs - Basement battle.

-- got the Coria Dogs - Ground Floor battle fully working in the Vengeance of Emma Strider campaign.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 20, 2021, 05:50:13 PM
-- got the Coria Tavern and The Next Morning cut scenes working in the Vengeance of Emma Strider campaign.

-- new golem module for Together in Battle: Pressure Sensor. Equips to the torso, grants the golem +2 to Counter Limit.

-- new item for all campaigns: Medicated Bandages. These restore up to 28 health and have 3 uses (versus 12 health and 2 uses for normal Bandages), but they are also more than 3 times as expensive. Intended to help counter-balance the new engine's limit on using items more than once per turn for late-game battles.

-- fixed: level-ups were triggering prior to the experience bar filling up following attacks with short animations.

-- fixed: the game wasn't deleting the 2D particle system's "reference" particle after animated experience bars cleared post-level-up.

-- fixed: the map editor would not let you place characters onto non-bridge objects while in Edit Unit mode.

-- fixed: the map editor would let units with coordinates off the edge of the map remain as part of the level, which would in turn produce a range error when loading the level in the main game.

-- fixed: the talk indicator could clip through walls when appearing on units in battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 22, 2021, 06:24:19 PM
-- improved the scripting in the Battle with Ebon Raban in the Vengeance of Emma Strider campaign to make the fight more dynamic and tense. Enemy groups now coordinate to flank you; reinforcements keep the pressure up; and the main enemy force charges you much sooner. Added new treasure to various parts of the map to encourage tackling both routes at once and pushing through rather than turtling.

-- implemented the IgnoreArmy tag, made it affect AI behavior.

-- the AI now takes into account whether a target already has a status effect when scoring potential status effects granted by skills.

-- tagged Ebon Raban so he doesn't use Defensive Stance every turn.

-- got the Battle with Ebon Raban fully working in the Vengeance of Emma Strider campaign.

-- increased the camera pan speed during AI-initiated turns.

-- fixed: you couldn't reference units created by SpawnUnit actions within the same dialogue tree where they were created.

-- fixed: the game was formatting pop-up text with item usage inconsistently between player-controlled characters and AI-controlled characters.

-- fixed: a null error could occur when checking animated experience bars to see if they'd finished animating.

-- fixed: especially long skill animations could result in the game not triggering a level-up.

-- fixed: Shadow attack tooltips inaccurately listed the chance of Immobilized taking effect as 50% instead of 75%.

-- fixed: the game would sometimes initiate drag-panning upon clicking an enemy to show move-and-attack range.

-- fixed: the game would sometimes produce range errors after deleting rows or columns in the map editor.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 23, 2021, 05:12:44 PM
-- got the Coria Harbor cut scene working in the Vengeance of Emma Strider campaign.

-- got the Emma and Harriet cut scene working in the Vengeance of Emma Strider campaign.

-- got the Silithis Stows Away cut scene working in the Vengeance of Emma Strider campaign.

-- added lines for Naila Hashmal and Edwin Gabbergast to the Coria Harbor cut scene to give them a bit more "screen time."

-- added a few short conversations with some of the villagers to the Battle with Ebon Raban.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 24, 2021, 04:10:29 PM
-- got the Flashback 3 cut scene working in the Vengeance of Emma Strider campaign.

-- got the Emma and Sabrina 2 cut scene working in the Vengeance of Emma Strider campaign.

-- got the Emma and Silithis cut scene working in the Vengeance of Emma Strider campaign.

-- added Iron Claw and Steel Claw items to the game.

-- recreated the Beach sound loop from Telepath Tactics (which had gotten lost somehow).

-- added a toggle to the terrain generator letting the user select from among different generation logic archetypes when creating a map: Open (the default) and Dungeon.

-- fixed: an inappropriate mask was being applied to destructible object previews appearing in the character screen.

-- fixed: the game would detect false positives when checking for conversation-ending actions if custom variables contained the names of script actions that end a conversation somewhere within them (e.g. "NextScene").

-- fixed: specular highlights remained inappropriately set to "true" for certain cave cliff-face materials.

-- fixed: tooltips for the play button on audio tracks within the audio browser were not aligned quite right.

-- fixed: generating proc gen terrain within the map editor would cause any active global lighting or weather conditions to disappear.

-- fixed: upon loading a proc gen map in the map editor, the map editor would disregard the intended map size in favor of a default map size.

-- fixed: the character creator was not saving the unit sprite property correctly when creating a unique golem character.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 27, 2021, 01:21:24 PM
-- the engine now correctly handles path checking for pull-type abilities with a knockback magnitude greater than 1. (Previously, if the puller's path was blocked, the puller would pull anyway and the pullee would dragged into them, dealing impact damage to both characters; now, the game treats the blocked pull path the same way as a blocked path for Charge or other ToTarget skills.)

-- new skills: Pull 2 and Stick-and-Drag 2.

-- Pull 2 can now appear in the skill progression in lieu of Preemptive Stance or Defiant Stance for Axefighters, Barudit, and Swordsmen.

-- Stick-and-Drag 2 can now appear in the skill progression in lieu of Preemptive Stance or Defiant Stance for Spearmen.

-- altered Spearmen's skill progression so they always get Stick-and-Drag, but now get either Pinning Thrust or Hold (but not both).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 28, 2021, 11:50:22 AM
-- drag panning now cancels out any auto-panning that may be happening with the camera when initiated.

-- fixed: Mechanic Spriggats in The Vengeance of Emma Strider had the wrong sprite data.

-- fixed: a range error could occur when attempting to regenerate custom barks for premade characters.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 29, 2021, 06:12:31 PM
-- fixed: adding new units to the battlefield would change the coloration of palette-swapped objects.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 30, 2021, 04:51:15 PM
Gave artist feedback.

-- added a conversation between Sarn Kamina and Siripent; she can now recruit him in the Rescuing Sarn Kamina battle.

-- fixed some of the scripting in Rescuing Sarn Kamina.

-- added some more interesting loot to Rescuing Sarn Kamina.

-- got the Rescuing Sarn Kamina battle finished and working in the Vengeance of Emma Strider campaign.

-- got the Gratitude cut scene working in the Vengeance of Emma Strider campaign.

-- created a unique graphic for the Claws skill.

-- new weapon attribute: Pipe-breaking. Grants +10 damage against golems, but less durable.

-- improved the alignment and font size of the "no items in category" message in the shop interface.

-- fixed: Unity was blending the Dodge and Idle animations in a way that sometimes caused characters to clip through the ground.

-- rewrote the dodging code so that dodging and then checking for a counterattack are timed to the ordinary moment of an attack's impact.

-- all sound effects and "non-impact" visual effects now play during a dodged attack.

-- fixed: the game would make an error noise when shift-clicking an arrow in a number picker that would send the value beyond the amount permitted. Now it just constrains it to the permitted value range with a normal "click" sound.

-- fixed: the map editor had ceased to allow changing a character's army via the Edit Character Properties window.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 01, 2021, 04:27:36 PM
-- got the Merchant 4 cut scene working in the Vengeance of Emma Strider campaign.

-- scaled the snowflakes in battlefield snowy weather effects to better match the original look of the effect in Telepath Tactics.

-- wrote new battlefield dialogue for Archos.

-- fixed: danger tiles for units with AOE skills were only taking into account the spaces the attack could be targeted at, not the spaces it could hit.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 02, 2021, 05:05:07 PM
-- did some rebalancing on the Battle with Archos; frost spriggat reinforcements early on in the battle are now more spread out, and new events later in the battle put pressure on the player to wrap things up quickly.

-- reduced the damage done by Feedback for balance reasons, as it is no longer limited only to damaging based on damage received.

-- increased the damage done by Gravity Spike and Gravity Well since they are so situational.

-- fixed: the AI was not taking TargetPreference tags into account when making "long-range" moves.

-- fixed: the game wasn't correctly wiping out AI-controlled enemy armies that had lost their Protect Char unit, as it was leaving reinforcements intact (which in turn prevented proper detection of victory).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 03, 2021, 06:58:15 PM
-- got the Battle with Archos fully working in the Vengeance of Emma Strider campaign.

-- added Arbalist sprites into the game.

-- fixed sprite alignment for Bronze Golem and Stone Golem rest poses.

-- improved the look of Blizzard weather effects in battle.

-- added howling wind and a blizzard to Clash at the Mines Entrance to add some extra drama to the fight.

-- changed the passability of all wooden barricades from Shoot Through to Flying. (It simply didn't make sense for assassins not to be able to Leap over them.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 04, 2021, 09:48:51 PM
-- fixed a bunch of scripting in Clash at the Mines Entrance, did a bit of rebalancing for the sake of pacing.

-- got the Clash at the Mines Entrance fully working in the Vengeance of Emma Strider campaign.

-- fixed: snow terrain particles were using the incorrect material.

-- fixed: killing a character with an attack dealing damage of multiple elements at once would trigger their OnDeath dialogue multiple times.

-- fixed: there were situations in which EndConvImmediately did not work properly.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 05, 2021, 05:37:30 PM
-- added Megalith sprites into the game.

-- Sarn Kamina now grants the player a 20% discount at the final shop if Siripent has been recruited and is still alive.

-- changed the costs and sale price values for shops to percentage integers out of 100 (as opposed to decimal float values). Added support for custom values (e.g. -VAL:-) to the shop sub-editor within the cut scene editor.

-- the game can now update shop prices based on custom integer values changed within the same scene.

-- rebalanced the reinforcements in Battle with Cloch to make it less of a slog.

-- got the Battle with Cloch fully working in the Vengeance of Emma Strider campaign.

-- fixed: on AI turns where the game couldn't make any moves at all, it would skip right over the bit where it steps status effects and applies environmental damage to characters in the army.

-- fixed: generic shadowling portraits had broken.

-- fixed facial expressions in the death monologue response lines.

-- fixed: I had accidentally broken the code that lets OnTurn and BeforeTurn dialogue execute on multiple different turns by using a custom integer as the turn number.

-- fixed: characters in a defensive stance could block attacks even if being backstabbed.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 06, 2021, 01:57:51 PM
-- got the Harriet Spots Malcolm cut scene working in the Vengeance of Emma Strider campaign.

-- got Battle with Malcolm working in the Vengeance of Emma Strider campaign.

-- got the Emma Reaches the Slave Quarters cut scene working in the Vengeance of Emma Strider campaign.

-- got the Tragic Reunion cut scene working in the Vengeance of Emma Strider campaign.

-- for balance reasons, updated Cryo Cross so it prevents counterattacks. (Otherwise, it had an unfortunate tendency to prove immediately fatal for the user due to all the melee counters it would draw!)

-- fixed: running WinBattle in dialogue mid-combat would cause the camera to remain zoomed in during the victory screen, since combat technically hadn't ended.

-- fixed: dialogue that began with character movement would pop up the dialogue screen, hide it a fraction of a second later, and then show it again after characters finished moving. Now, the dialogue screen remains hidden the whole time until character movement is completed.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 07, 2021, 11:52:14 PM
-- added unique sprites for Tarion and Pathos to the game.

-- added Greater Red Spriggat sprites into the game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 08, 2021, 06:42:00 PM
-- when an enemy uses a skill, the game now speeds up auto-panning proportional to the distance the camera must travel. This ensures that an enemy move far away from the camera won't happen offscreen while the camera is still panning over to it.

-- added new in-battle conversations to the Battle with Tarion. (Among other things, Tarion now has a unique exchange with Sabrina and Harynx if attacked by either of them.)

-- added a Shredwing Axe to the Battle with Tarion.

-- fixed: camera zoom-in wouldn't quite capture 100% of the action for attacks occurring along the very left- or right-most spaces of the map.

-- fixed: Shadowporting a shadowling onto lava would result in them being placed too low, not accounting for their flyer movement.

-- did a bit of optimization work, turning off certain packages the game doesn't use and disabling Unity's built-in physics simulation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 10, 2021, 11:08:51 PM
-- new script action: PromoteUnit. The named character will immediately adopt an advanced class based on their current class--even if they are not at the minimum level normally required to promote to that class.

-- new item: Book of Power. Promotes the user immediately upon use. Requires Book of Power mastery to use, which all characters now automatically gain upon reaching level 10.

-- new item graphic variant: Book Black.

-- added three Books of Power to the Vengeance of Emma Strider campaign in challenging locations; one in the Bandit Fortress Outer Wall Battle, one in the Battle with Ebon Raban, and one in Clash at the Mines Entrance.

-- created a second promotion option for Emma and Sabrina: Liberator. Gives fewer stat bonuses overall than Champion, but provides +1 to maximum movement and takes 2 off the energy cost for Motivate, Inspire, Place Snare Trap and Place Iron Jaw Trap.

-- added some really neat little visual effects accompanying a character promotion in battle. :)

-- fixed: the game wasn't actually changing character sprites upon promotion.

-- fixed: the game was splitting damage popup text across two lines for amounts exceeding 99.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 11, 2021, 12:27:51 PM
-- got the Battle with Gunther fully working in the Vengeance of Emma Strider campaign.

-- got Defending the Camp fully working in the Vengeance of Emma Strider campaign.

-- item buttons now create popups when the player tries to do something with them that isn't allowed, explaining why they can't do the thing. (For instance: if a character has already used an item or grabbed a sack that turn, attempting to use another consumable will produce pop-up text that says, "Already used or grabbed an item this turn!")

-- new popup text color supported: maroon. Essentially, it's red but at 45% lightness.

-- fixed: the "saved at time" text in save slots could overflow the bounds of the save slot on particularly long dates and times.

-- fixed a range error that could occur when undoing unit movement.

-- fixed up some remaining issues with the way destructible objects are visualized within the character screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 12, 2021, 05:12:48 PM
-- the game now uses the correct sprite for both unpromoted and promoted shadowlings belonging to the various psy classes.

-- refactored the code that handles skill/mastery/proficiency acquisition at certain levels to make it more robust and less of a mess. (This meant rewriting a lot of code.)

-- massaged the experience formula. Big AOE skills no longer provide quite such massively disproportionate experience gains; skill cost now factors into experience gains only once regardless of the number of targets affected.

-- fixed: range-altering unit tags did not affect the range displayed in skill tooltips.

-- fixed the way negative damage values are displayed in targeting reticles.

-- fixed the way damage from shield skills are displayed in damage pop-ups.

-- fixed: the game was not calculating starting skills correctly for promoting characters, leading to them sometimes not receiving all of their intended bonuses right away.

-- fixed: right-clicking an unselected character and using an item would cause the game to highlight the new character without unhighlighting the previous selected character.

-- fixed: the game did not display experience out of 100 in mouseover tooltips for characters based on whether they were unique and human-controlled, but based on whether they were in army 0.

-- fixed a typo on one of the proc gen character expletives.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 14, 2021, 11:41:05 AM
-- changed the Liberator advanced class for Emma and Sabrina; it now provides much lower stat bonuses, but gives +1 to maximum movement and turns Sword into a "Use Once" skill a la the rapier's Thrust.

-- finished up the promotion visual effects, timing the sprite change to match them and creating accompanying sound effects.

-- the game now tracks your total score for each battle you win.

-- the -SCORE- special character is now working. When used, the game displays the player's cumulative score across all battles won.

-- got the ending scene working in the Vengeance of Emma Strider campaign.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 14, 2021, 05:28:31 PM
Gave composer feedback.

-- added Recurve Bows to the last two shops in the Vengeance of Emma Strider campaign.

-- got "scrolling text" cut scenes working in-engine.

-- got the end credits working in the Vengeance of Emma Strider campaign.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 15, 2021, 03:50:52 PM
-- hand-designed a new version of Crypt Diving. It is now fully working in-game, which means that the Vengeance of Emma Strider campaign is now fully playable from start to finish! :D

-- enemy units now dynamically appear and disappear when making moves that take them out of (and into) fog of war.

-- fixed: the game would overwrite conditions added via the AddCondition action run in OnLoaded dialogue as it attempted to incorporate new variable values also set in OnLoaded dialogue.

-- fixed: characters covered by fog of war would freeze the game when trying to move.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 16, 2021, 05:08:57 PM
-- added a fifth setting to text speed that makes it appear instantly without animating.

-- added Whisper sprites into the game.

-- fixed: max steps were not getting updated alongside changes to Speed via the SetStat action or class changes.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 18, 2021, 05:35:21 PM
Gave Georgi artist feedback on a new batch of portraits.

-- made some improvements to the character promotion interface.

-- made it so Dazzle no longer ends the user's turn.

-- added Greater Dark Spriggat sprites into the game.

-- added Greater Frost Spriggat sprites into the game.

-- added corpses to the default list of premade destructible objects; made them movable.

-- fixed: Gunther would say dialogue when attacked over and over again in the Battle with Gunther in the Vengeance of Emma Strider campaign.

-- fixed: using LoadConv under certain circumstances would essentially freeze the game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 19, 2021, 04:59:11 PM
-- the game now tracks how many times a given skill is used on a given character over the course of a battle, as well as cumulative uses over the course of the game.

-- skills used on the same target over and over (or in the case of Create skills, used at all) now offer diminishing returns on experience: -12.5% with each successive use, meaning that the experience gained drops to 0 after 8 uses of the same skill on the same target. This helps prevent farming experience indefinitely by just repeating the same actions over and over.

-- increased the base experience for Create skills from 12 to 15 to help offset this effect for "creator"-type units.

-- standardized skill descriptions for skills with Unlimited, Use Once, and Can Move after-attack attributes.

-- fixed: characters got experience for using Shield skills on enemy characters.

-- fixed: the code to reset certain unit stats after battle was incorrectly written.

-- fixed a handful of scripting issues in the Rescuing Meridian battle.

-- fixed: slain caravan guards weren't getting palette-swapped in the Caravan Prelude scene.

-- fixed: the hotkey numbers on skill buttons in the Actions Bar blocked raycasts to the skill buttons underneath. (This means that if you moused over a hotkey number, the game would behave as though you'd moved the mouse cursor off of the skill button.)

-- fixed: auto-looting collected automatic items from loose item sacks into reserve supplies rather than triggering them. This meant that coins would appear in reserve supplies rather than being added to the player's money total.

-- fixed: the "close window" button for the Cut Scene editor's shop sub-editor's items window didn't have a function assigned.

-- fixed: the tooltip for the Door button in the Actions Menu had text overflowing the background.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 26, 2021, 07:27:01 PM
-- added Cryokurios sprites into the game.

-- added Pyrokurios sprites into the game.

-- added Skiakurios sprites into the game.

-- added Puppetmaster sprites into the game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 27, 2021, 05:59:54 PM
Gave Georgi artist feedback on a new batch of portraits; spent some time creating a huge image with every unique character portrait in the game for reference (and marketing) purposes.

-- added Greater Golden Spriggat sprites into the game.

-- added Drake sprites into the game.

-- added Machinist sprites into the game.

-- updated the Engineerand Machinist's Wrench attack animation with a smear frame and an elongated wrench on the "hit" frame to make it feel more satisfying.

Only four more promoted class sprite sets left to integrate! :)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 29, 2021, 01:00:33 PM
-- added Marauder sprites into the game.

-- added Sentinel sprites into the game.

-- added Specter sprites into the game.

-- added Titan sprites into the game. Annnnnnd that's the last of the promoted unit sprites! :)

-- updated Classes.xml so that promoted units now all use the correct sprites.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 29, 2021, 05:33:46 PM
-- improved the AI's defensive facing algorithm.

-- when aggroing a group, the AI now reconsiders moves for characters in the AggroGroup it had previously skipped over due to a Passive tag.

-- fixed some of the scripting in the Rescuing Meridian battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 04, 2021, 12:15:31 PM
Gave artist feedback.

-- fixed a bit more of the scripting in the Rescuing Meridian battle.

-- fixed: the formula for factoring in AI aggression when scoring attack damage was multiplying the target character's base value along with the damage factor.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 04, 2021, 11:46:27 PM
-- fixed: when multiple dialogue trees were triggered from the same interaction and the first one contained the EndConvImmediately action, the game would fail to recognize that the second dialogue tree was still queued up to trigger.

-- fixed: the game would treat multiple instances of pop-up text spawned based on coordinates rather than being linked to a character as being themselves linked to a single, wholly non-existent character, resulting in them all appearing sequentially on the same space as the first pop-up.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 05, 2021, 05:10:33 PM
-- made weapon degradation toggle-able using the new script action WeaponDurability. One parameter: true or false. If set to false, weapons will no longer lose uses or break when the player attacks with them.

-- added Talkable status to Sarn Kamina and Siripent in Rescuing Sarn Kamina, and to Doran Chamberlain in Battle with Archos. (The conversation with Naila remains deliberately hidden, however.)

-- fixed: the x axis on status effect sprites was flipped. (It took a while to notice this due to most status effect icons looking perfectly normal this way!)

-- fixed: under certain circumstances, Cavaliers could still charge at targets to which they had a blocked path.

-- fixed: the game was producing a prolonged pause between an attack's knockback and collision between the knocked-back target and whatever is behind it.

-- fixed: health bars and pop-up damage text were appearing at the point of collision when a character was shoved into someone or something rather than on the character's space. (This made it quite difficult to read what was happening when one character was shoved into another, as the pop-up text and health bars would overlap.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 07, 2021, 07:35:28 PM
-- improved the difficulty selection interface at the start of the Vengeance of Emma Strider campaign.

-- fixed a small, cosmetic scripting error in the post-Caravan Battle cut scene.

-- new parameter supported for the Death Rules condition: Max Health -1. A character who falls in battle will return, but with 1 less maximum health.

-- updated the scripting to ensure death rules are applied uniformly whether a character is premade or proc gen in the Vengeance of Emma Strider campaign.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 09, 2021, 04:47:33 PM
Gave Georgi artist feedback on unique character portraits.

-- when a character gives another character an item they can equip during battle, the game now prompts you to have them auto-equip it. If you hit proceed, the character automatically equips the item they were given without you having to go into their inventory.

-- set 640 x 400 as the absolute bottom limit on selectable resolutions for the game.

-- fixed: it was possible for level geometry to clip through the new turn and victory windows if at a high enough elevation in the middle of the screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 10, 2021, 02:29:07 PM
Gave Georgi artist feedback on unique character portraits.

-- cleaned up Axefighter animations.

-- fixed the Walk animation on all unpromoted spriggats.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 12, 2021, 03:37:19 PM
-- added a third option for the Combat Zoom setting intermediate between On and Off: Attacks Only. This causes the game to zoom in only for skills that can deal damage, targeted at an enemy.

-- fixed: there were no "clicking" sound effects for text-picker UI elements.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 14, 2021, 06:04:05 PM
Ran a public playtest for Telepath Tactics: Liberated Edition! Found a bunch of bugs and things to fix, but overall I'm quite happy with the state the game is in. :)

-- increased the number of character deployment slots for the Battle with Gunther (in case the player is using a lot of level 1 villagers and needs the extra manpower).

-- changed Meridian's class name to reflect the new naming conventions for spriggat classes.

-- changed Harynx's class name to Psy Healer.

-- Louise Legerdemain now starts out with Focus Pills in her inventory.

-- fixed: characters were not recovering health after the Defend the Camp battle.

-- fixed: characters could open and close doors across large elevation differences.

-- fixed: the game was freezing every time a character leveled up and it couldn't find promotion options for that character's class.

-- fixed: the game was not restoring character health under the Max Health -1 death rules, leading characters to spawn with 0 health.

-- fixed: the AddTextOverlay script action could mess up the game if its parameters were incorrectly formatted.

-- fixed: the game was not recognizing Blank tiles as walls, leading enemies to inappropriately shove characters into these spaces as though they were chasms.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 15, 2021, 01:26:00 PM
-- greatly increased the speed on WASD and controller stick camera panning.

-- resolved jerkiness in WASD camera panning.

-- massively improved the responsiveness of WASD camera panning.

-- Throw Axe and Halberd no longer have an accuracy penalty.

-- fixed: entering exploration mode during an AI player's turn would lock up the game.

-- fixed: using an item in exploration mode would prevent the character from using other items in exploration mode.

-- fixed: characters could use the Talk command across large elevation differences.

-- fixed: characters could use the Use command across large elevation differences.

-- fixed: the game would bring back the "Give item to whom?" text overlay upon ending dialogue occurring after a Give action.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 16, 2021, 12:41:28 PM
-- tweaked the way the level-up screen behaves when a character promotes.

-- fixed: the game wasn't dynamically adding or removing fog of war when maps used the AddCondition or RemoveCondition script actions.

-- fixed: Moonless Hunt was still trying to use the now-deprecated ChangeCondition script action to lift fog of war.

-- fixed a couple of typos in the inventory slots for enemies in Moonless Hunt.

-- fixed: rather than colliding, destructible objects could be knocked onto the same space as other destructible objects.

-- fixed: running a script action to rotate a character not present on the battlefield would result in the game throwing a null error.

-- fixed: hotkeys were not properly linked to the current page of character skills for units with more than 9 skills.

-- fixed: under certain circumstances, auto-connection bridges linking up to land would spawn at the wrong elevation.

-- fixed: when trying to Create an object on a space already containing an object, the game would use the reinforcement-spawning rules and create it on the closest free space. Instead, the game simply won't put anything down.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 18, 2021, 08:40:24 AM
Marketing nonsense (created more portrait glow-up images); gave artist feedback to Georgi. Also:

-- created a distinct skill button for Timed Charges.

-- updated the "place trap" skill descriptions to indicate what each trap does.

-- fixed some scripting in Caravan Battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 18, 2021, 06:05:53 PM
Gave artist feedback to Georgi.

-- received the bulk of the final unique portrait assets!

-- created portrait data for Gavrielle Hashmal, Farasat Hashmal, Louise Legerdemain, Madeleine Strongarm, Scarlet Etoile, Ambuur Sang, Harriet Glaive, Tremolo Phalanges, Phoebe Wittler, Teresa Dayo, Gunther Lathe, Gulch, Fera, Igor Bloodbeard, and Zash.

-- Lakshmi and Scarlet now give death monologues if they fall in the Caravan Battle even if the death rules are not set to permadeath.

-- fixed: the game was removing armies from its list of armies when an army was defeated, which caused it to mark the number of turns passed incorrectly. Instead, the game now marks a defeated army as defeated and skips it while keeping the turn count consistent between rounds.

-- fixed: upon leveling up after using a skill with a "Can Move" after-attack type, if the character gained a new skill the skill would be immediately usable.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 19, 2021, 05:23:29 PM
Received the remaining unique portrait assets from Georgi!

-- tweaked text alignment on cut scene menu buttons.

-- moved the enemy reinforcements in Defending the Camp back one turn so the player has a chance to react to their appearance.

-- created portrait data for Silithis Predat, Des Serret, Hee'la, Silas Harrowbeak, Rebecca Flare, Zimmer Thrawn, Meridian, Harynx, Lord Dakarai, Vitalia Spring, Umber Gnawbone, Naila Hashmal, Edwin Gabbergast, Oliver Spenks, Sarn Kamina, and Siripent.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 21, 2021, 10:37:22 AM
-- created portrait data for Sarn Kamina Hooded, Doran Chamberlain.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 21, 2021, 05:53:53 PM
Gave artist feedback.

-- created portrait data for Tarion, Tarion Dark.

-- added a SkillPreference tag to Lakshmi in Caravan Battle to keep her from choosing suicidal Bayonet moves in the opening turns.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 22, 2021, 03:06:49 PM
Gave artist feedback.

-- the Adelbrae Battle now gives a game over if any character dies, not just Emma or Sabrina.

-- created portrait data for Annel Stormhunter, Archos, Pathos, Medomai, Nikolai, Tarn Strider, Tarn Strider Sick, Samir Hashmal, Cloch, Dale Spenks, and Emma Child.

-- fixed: the game would check for a kill-all victory on maps even when exploration mode was turned on, resulting in a victory screen popping up upon entering empty rooms in exploration mode.

-- fixed: the game wasn't passing through species data on unique portraits for palette-swapping purposes.

-- fixed: when accessing the reserves supplies during deployment, the game was using the wrong army number when trying to determine the correct roster to use for the reserve supplies screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 22, 2021, 07:18:41 PM
Running the second public playtest for Telepath Tactics: Liberated Edition!

-- gave Light Armor mastery to a bunch of enemy unit types that should be able to equip Leather Armor.

-- added Iron Spear to the weapons available at Merchant 2; added proc gen spears to all merchants after Merchant 1.

-- fixed: the Merchant 3 scene had an XML formatting error that prevented it from being loaded.

-- fixed some minor scripting issues with the Coria and Merchant 3 scenes.

-- fixed: Burning status on Timed Charges would end after only a single turn.

-- fixed a bunch of range errors that could occur with satchel charge explosion chains.

-- fixed: the game would mistakenly regard consumable items as equippable in some circumstances.

-- the 10-degree camera angle change resulted in MoveCam coordinates no longer looking correct in a bunch of scenes; fixed this for a handful of scenes.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 23, 2021, 05:41:32 PM
-- there is now a toggle in the Options screen to switch the game into windowed mode.

-- reduced the value given to healers and heroes by the AI to make it less predictable in its targeting priorities.

-- fixed: the Talk button would remain lit up when OnTalk dialogue partners were next to each other even after they had exhausted their OnTalk dialogue.

-- fixed: you could undo moves after using the Give command in battle.

-- fixed: you could Give items to a character even if the recipient's inventory was full.

-- fixed: Fera was lacking masteries.

-- fixed an inaccuracy in the description for Deep Breath.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 24, 2021, 04:22:23 PM
Spent a bunch of time diving into the math used for character promotions and class changes:

-- fixed: the "change class" algorithm was reversing stat-based operations but not reversing the order of those operations, resulting in some deeply wonky results for classes whose stats are subjected to multiple operations of different kinds (i.e. golems).

-- fixed: the "change class" algorithm was naively applying multiply/divide operations to the character's current base stats rather than to their starting stats. The game now tracks each character's starting stats and uses those instead when altering stat values for class changes.

-- fixed: the "change class" algorithm was reversing and reapplying stat modifications between classes even when those operations were identical in each class, sometimes leading to incorrect stat changes due to rounding errors.

-- fixed: when generating the new skill progression for a character changing classes, the game wasn't culling duplicate masteries or duplicate counterattacks.

-- fixed: when generating the new skill progression for a character changing classes, the game didn't recognize already-known skills within a branch; it would either choose the existing skill, creating a duplicate, or else choose the other skill and thereby allow the character to gain both skills in the branch.

-- fixed: the game wasn't giving characters a counterattack skill upon gaining Counter Limit above 0 during promotion.

-- fixed: the game wasn't displaying a counterattack in the promotion screen for promotions in which the Counter Limit increased above 0.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 29, 2021, 05:38:28 PM
I'm back after a short vacation seeing family for Thanksgiving!

-- fixed: Meridian never learned Wing Armor Mastery (necessary to equip her with Wing Armor).

-- fixed: Teresa Dayo was missing Light Armor Mastery.

-- fixed: the five guardians and Malcolm Eichan were missing their masteries.

-- fixed: Vitalia Spring's crew had outdated portrait info.

-- fixed: the palette mask for Edwin Gabbergast's portrait was improperly formatted.

-- fixed: Oliver Spenks's portrait data for his glasses was wrong.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 30, 2021, 01:14:56 PM
-- added a tutorial about opening doors and using switches to Rescuing Meridian.

-- added that same tutorial to Coria Dogs - Ground Level, with an auto-skip if the player saw it already from Rescuing Meridian.

-- updated the Talk tutorial in the Caravan Battle.

-- automatic-type items are now automatically used when grabbing an item sack even when grabbing all of the items in the sack would exceed the character's available inventory space.

-- fixed: trying to push/pull an item sack onto a character's space would fail and damage the character in the process.

-- fixed: lists within class info were being edited destructively, producing deeply weird results when culling duplicate operations during a promotion.

-- fixed: the mastery requirement for Meridian's Art Materials was incorrectly formatted.

-- fixed: the map to the mines could be traded off of Emma.

-- fixed: the map to the mines could be sold at a shop.

-- fixed: the Shadowheart's up-facing Rest sprite was missing.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 01, 2021, 02:54:47 PM
-- new difficulty level added: Observer. It's the same as Recruit difficulty, but Emma and Sabrina are given Plot Armor that gives them Dodge and Mental Res. +100. :D

-- fixed: the game was replacing unique barks for premade units with generated barks when promoting those units.

-- fixed: a character that reached 0 maximum health under the Max Health -1 death rules would remain on the roster as though still alive. The game now treats such a character as truly dead.

-- fixed: the formula for panning the camera to focus on a named character during dialogue was off by about half a tile on the y axis.

-- fixed Leon Hart's portrait data.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 02, 2021, 05:43:24 PM
Received revised portrait assets from Georgi!

-- added the Sabrina Child portrait to the game.

-- updated portrait data for Emma Child, Madeleine Strongarm, Annel Stormhunter, and Doran Chamberlain.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 03, 2021, 02:12:01 PM
Received Malcolm Eichan portrait assets from Georgi.

-- added the Malcolm Eichan portrait to the game w/ updated portrait data.

-- at the end of Clash at the Mines Entrance, the game now checks to make sure Sarn Kamina is still alive. If she isn't, the Merchant 5 cut scene is now skipped.

-- fixed a couple of scripting errors in Clash at the Mines Entrance that prevented the map from being successfully completed.

-- fixed: the howling wind loop from Clash at the Mines Entrance wasn't getting stopped in the Merchant 5 cut scene.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 07, 2021, 01:10:28 PM
Gave a few rounds of feedback on new Telepath Tactics key art Georgi's creating. :)

-- laid groundwork for campaigns to sport their own attached descriptions.

-- fixed: tooltips for unit buttons within the Reserve Supplies screen would become "stuck" when flipping between multiple pages of units.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 08, 2021, 02:26:41 PM
Gave more feedback on the new Telepath Tactics key art.

-- fixed: Oliver Spenks was being "recruited" using an outdated map condition no longer supported by the engine.

-- fixed: the engine was treating Move Bonus as a non-stackable status effect.

-- boosted the amount of Strength/Psy that Gasul get upon promoting to make them more effective in their choice of specialization.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 09, 2021, 04:23:32 PM
-- updated the Throw Axe skill description to reflect the fact that it now has 100% accuracy.

-- added a Psy component to the damage done by the Crossbowman's Piercing Bolt skill.

-- fixed: Gunther Lathe had no weapon equipped in Adelbrae Battle.

-- fixed: the turn time limit on Adelbrae Battle was slightly too strict to allow plundering of the lowermost chests on the map.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 10, 2021, 11:56:47 AM
Gave feedback to Ryan Richko on a new Promotion theme that plays when a character promotes.

-- the Throw Knife skill now possesses the same backstab and sidestab bonuses as Knife.

-- new item added to the Vengeance of Emma Strider Campaign: Duoterre Throwing Knives, available in Merchant 4 and Merchant 5.

-- Duoterre Knife can now be plundered in Battle with Tarion.

-- added facial expressions to the player's dialogue with Fera.

-- fixed: in the Vengeance of Emma Strider Campaign, assassins did not gain Brittleknife Mastery upon promotion; crossbowmen did not gain Steam Crossbow Mastery; spearmen did not gain Brittlespear Mastery; etc.

-- AI improvement: enemies will no longer use pure status effect buff skills (e.g. Fury) on allies unless there is an enemy within 2 turns' worth of move-and-attack range of the buff's target.

-- fixed: the AI would consider it useful to reduce a target's Counter Limit by 1 via Distracted status even if the target did not have the counterattack skill necessary to counterattack with in the first place (e.g. if their weapon broke).

-- fixed: if a character gained more than 1 item past their inventory limit in battle via the GiveItem script action, it would cause an error that could softlock the game. (The game now successfully shunts all such excess items to reserve supplies.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 11, 2021, 10:29:48 AM
-- added half a dozen new sprites to the game's emoji table: Clarity, Clouded, Regenerating, Aptitude, MoraleLow, and Door.

-- removed Mental Resistance from Coria Dog Thug's potential growths.

-- reduced the damage on Vengeance to reflect the fact that it now always deals damage, unlimited by damage taken.

-- reassigned the default skill animation for Assassins from Stab to Ability.

-- fixed: a couple of enemy types in the Vengeance of Emma Strider Campaign had their class misidentified as "thief" (which doesn't exist as a class) instead of "Assassin."

-- fixed: the Assassin's Ability animation was displaying the army palette incorrectly.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 11, 2021, 05:10:19 PM
-- reduced the damage on Feedback to 90% of Psy as a balancing move.

-- added mastery descriptions to weapons that require special masteries in the Vengeance of Emma Strider campaign.

-- replaced Guard Stance with Sprint in Naila's skill progression, as Guard Stance effectively duplicates Awareness.

-- fixed: blowing up a bridge above a chasm with a non-flying character standing on it would drop the character into the chasm, but the character wouldn't suffer "falling into a bottomless chasm" damage and would continue to live (albeit as an invisible shadow).

-- fixed: game was inaccurately describing the effect of Move Bonus as +50% max move when it is only +40%.

-- fixed: Caffeine Pills did not affect Immobilized status in the Vengeance of Emma Strider campaign.

-- fixed: the Wrench skill button was incorrectly sized.

-- fixed: Archos, Pathos, and Tarion were missing Orb masteries.

-- fixed: Whispers and Blackguards had Whisper as a promotion option, resulting in the promotion screen popping up whenever a character of that class leveled up.

-- fixed a typo in one of Sarn Kamina's victory barks.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 12, 2021, 02:14:57 PM
Received new key art for the game; integrated it into the title screen! :D

-- fixed: when mousing over units covered by fog of war, the game would show a mouseover tooltip, display a health bar, and position the cursor over them.

-- fixed: you could left-click enemy characters covered by fog of war to display their threat range.

-- fixed: you could right-click units covered by fog of war to open the character screen.

-- fixed: Cloch's portrait mask was unformatted, preventing army-color palette swapping.

-- fixed: the reserve supplies screen allowed the player to give additional items to characters with full inventories.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 16, 2021, 11:37:06 AM
Broke off the devlog into a separate thread here (https://sinisterdesign.net/forum/index.php?topic=3563.0) until Telepath Tactics Liberated is complete.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 28, 2021, 05:00:50 PM
Gave Ryan feedback on new music for Together in Battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 27, 2022, 05:16:09 PM
Switching back to TiB development for a bit to get a demo ready for Steam's upcoming roguelike and roguelite festival!

-- added the TiB demo to the game.

-- updated loads of out-of-date XML files so the demo would run correctly in-engine with its current feature set.

-- added a little team-size indicator to the Army Overview button in the recruitment interface.

-- fixed: the game was calling the incorrect method on calendar events to serialize them for saving.

-- fixed: reference to the "recruited" particle system in the recruitment interface had become lost somehow.

-- fixed: expletives incorporating the name of the character's chosen god were not processing the -GOD- special character when getting displayed onscreen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 29, 2022, 12:53:00 PM
-- added some basic difficulty options to the demo.

-- fixed: the proceed anyway button on the "insufficient recruits" warning in the recruitment menu was incorrectly formatted.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 30, 2022, 06:36:23 PM
-- fixed: returning to the shop would not return the info bar to the screen.

-- fixed: the mechanic portrait would not reappear after finishing up shopping for golems.

-- fixed: tics and laugh phrases could end up displaying the wrong pronouns when used in a response line in camp.

-- fixed: the game would not process the approaching character's name when supplying a generic approach line for the character after failing to find a specific one.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 03, 2022, 06:21:52 PM
-- fixed some issues with the Save Grandpa mission that cropped up due to changes to the game over the past year.

-- fixed: Hide was in the skill progression for both Blackguards and Whispers, rendering the Whisper promotion choice redundant.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 06, 2022, 03:12:33 PM
-- created a Drowning Res. icon, added it to the game.

-- fixed outdated description for the Bad Joints trait.

-- fixed: the game was not parsing the -CLASS2- special character in dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 07, 2022, 09:23:33 AM
-- fixed: certain response lines were using the wrong pronoun special character, causing the game to refer to the listener instead of the speaker.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 06, 2022, 10:55:13 AM
-- tweaked the design of Battle at Grabber's Grove to open up more avenues for movement and make things a little more interesting for most players.

-- fixed: the game could choose a narrated "idle chatter" presentation for character conversation with characters who had never met before (for whom no such narration exists). This would result in the game displaying a placeholder narration a la "X and Y performed the activity Talk."
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 15, 2022, 11:33:27 AM
-- added some new physical traits to the game.

-- new tag added to the game: ModSkillKnockback. Modifies the knockback value of a skill (and those dependent upon it).

-- added a new proc gen weapon modifier: Colossal. Adds +1 knockback to skills of the type the weapon grants (and those dependent upon it).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 19, 2022, 02:43:20 PM
-- fixed: certain response lines incorporating character-specific tic, laugh, or expletive phrases with pronouns could mistakenly use the listener's pronouns instead of the speaker's.

-- added new laugh types and edited some existing ones.

-- improved some proc gen character dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 01, 2022, 10:10:48 PM
-- changed the way CompatibleUnitsToList works; by default, it now returns all characters compatible with the named character. Added a fifth, optional boolean parameter, "Must Be Mutual." Only if this parameter is set to true will the game account for whether the listed characters are themselves compatible with the named character.

-- added a new deity, The Giver.

-- "Shops Closed" events are now added to the calendar when Jigna gives you info on when they're closed.

-- the Schedule action now prevents adding duplicates of an event on a specific day by default. Added a fifth, optional boolean parameter, "Allow Duplicate Events." Only if this parameter is set to true will the game add another copy of an event to a given calendar day.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 02, 2022, 05:34:27 PM
-- wrote more chital event dialogue.

-- added Burn as a "counterattack" to lit campfires, candelabras, braziers, and stoves; these objects now deal heat damage to characters who attack them in melee, or who are knocked into them.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 08, 2022, 04:50:06 PM
-- updated the introduction with a proper difficulty selection menu.

-- it is now possible to toggle ironman mode on or off independently of the base difficulty setting.

-- saved games now display the selected difficulty.

-- fixed some typos.

-- more physical skills (e.g. Double Strike) now derive bonus damage from the attacker's Psy stat.

-- wrote a marriage proposal event!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 09, 2022, 11:57:47 AM
-- new script action: RemoveCampActivity. Works the same way as LearnCampActivity, but removes the activity instead.

-- the game now correctly narrates character moods predicated on their interactions with another named character (e.g. "A is feeling upset with B").

-- fixed: outdated script action formatting was preventing random events from directly altering characters' familiarity, friendship, and romance levels with one another.

-- fixed: a formatting error was interfering with the correct functioning of event dialogue in which characters reacted to another character's cooking.

-- fixed: character-specific mood text was inappropriately carrying over to other characters' moods.

-- increased the weight given to dialogue generation based on character personality from 3x to 4x.

-- created a close-up tabletop texture.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 18, 2022, 05:42:06 PM
-- fixed a few typos in the marriage proposal event.

-- updated the event scripting so characters who are engaged are now tagged "engaged" and won't propose to each other again later. An engaged character will now automatically refuse a marriage proposal from another character.

-- added marriage proposal to the random events that may be chosen after a certain point in the game.

-- boosted the maximum reflexes gainable through character leveling up from 1 to 4.

-- added a menu option for training to Kalkerapur...

-- fixed: the "babble" speech sounds were hooked up to the game's deterministic random number generator, rendering it possible to manipulate the random number generator by speeding up dialogue and thereby alter the events and dialogue variations at camp on a given evening.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 21, 2022, 01:59:56 PM
Worked on creating a new trailer.

-- updated the tutorial to reflect the new supported "double-click to auto-move and attack" controls, and to communicate the ability to auto-move-and-attack with specific skills by clicking the skill and the target.

-- the game now weights camp activities based on whether another character is already performing them, making it less likely that you'll have everyone in camp doing the same thing each evening.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 22, 2022, 10:42:49 PM
Worked on the proc gen battle algorithm!

-- the game now gives unnamed proc gen enemies names based on class and army name.

-- the game now places enemies in proc gen maps with much greater sensitivity to the pacing of these battles. Based on aggressiveness setting and how many enemies there are relative to the number of player characters, the game now places a certain proportion of enemies further away from the player spawns and automatically tags them with Passive, Pursue, and AggroGroup.

-- added an aggressiveness field to the proc gen map window in the map editor. The game now saves and loads the aggressiveness value range for each proc gen map.

-- added a fourth group of objects to the "Select Objects" portion of the proc gen map window in the map editor.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 25, 2022, 10:42:41 AM
-- the game now serves up 100% proc gen arena league battles post-qualifier when the player opts out of tutorials.

-- balanced proc gen arena league battles for the correct difficulty.

-- nearly doubled the speed of the "fade out" animation for menus, making it much much harder to notice individual character portrait elements going transparent during the fade.

-- characters can no longer receive a wound level greater than 9.

-- began finally writing the Festival of the Ascendant Lights plot event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 26, 2022, 09:29:46 PM
-- created a Crowd Booing sound effect.

-- the game now actually plays a booing sound effect when you take too long in arena fights.

-- wrote a rough draft of the game credits.

-- removed Battle at Grabber's Grove (which simply wasn't as fun as the other early arena fights, in my opinion) and folded its tutorial on opening chests into Battle at the Oasis.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 27, 2022, 07:01:54 PM
-- added a time limit to the league 1 qualifier battle.

-- added the booing sound to all demo fights as well.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 28, 2022, 03:34:48 PM
-- added long grass to the proc gen arena battles.

-- the game can now generate distinct battle names for each instance of a proc gen battle, taking into account the most predominant tileset used in the map.

-- the game can now store scene names distinct from the file name of the current scene, and will default to displaying those player-facing names in the main game interface when they differ from the file name.

-- tweaked some of the AI's move-valuing formulas to further cut down on instances where the game thinks it's a good idea to have characters randomly attack bits of scenery.

-- fixed: the game was attaching TreatAsArmy tags to low-health destructible objects on proc gen battle maps.

-- fixed: the text overlay for the "double-click to auto-attack" tutorial was too long.

-- fixed: the game would delete the player's saved game after losing a battle in ironman mode even if the battle lost had a "defeat scene" specified.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 30, 2022, 04:51:35 PM
-- made Battle at the Dry Mounds the last tutorial battle in the main campaign.

-- further increased the fade out speed of closed menus.

-- fixed inconsistent spelling of "maharaja" in some game events.

-- fixed MoveCam coordinates for the "grabbing item sacks" tutorial dialogue in Battle at the Oasis.

-- fixed: non-golem characters were able to get the physical traits Sturdy and Corroded.

-- fixed: the pessimistic practice camp activity narration had a variant that used "her" instead of the placeholder pronoun "hiser."

-- fixed: the game was overwriting generated map names upon reloading proc gen maps.

-- fixed: proc gen deployment barks broke during an upgrade to the character dialogue storage-and-retrieval system some months back.

-- removed a few Kind deployment lines that didn't fit the context of Arena battles.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 01, 2022, 03:02:21 PM
Capturing footage for a new trailer! In the meantime:

-- fixed: levitating characters moving onto a fly-only object, then moving off of it after Levitate wore off would sink into the ground. Flying characters now display above fly-only objects when they move onto the same space as them, the same as non-flying characters.

-- fixed: an outdated version of a character name was showing up in a plot-related cut scene.

-- fixed: the game was detecting forced seeds on proc gen maps even where none were specified, forcing all such maps to generate using the same seed.

-- bumped up the knockback on Kinetic Gale to 3; created a new kineticist skill called Kinetic Wind with knockback 2 to replace it, and learned earlier on.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 02, 2022, 10:24:22 AM
-- fixed: the proc gen map name function was producing null errors when used without a biome specified for the map name generation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 04, 2022, 02:47:08 PM
Got the new trailer up and released the demo for Steam Next Fest!

-- added 1 space of knockback to Trueshaft and slightly lowered damage.

-- added a specific sound effect that plays when small plants are destroyed.

-- added a specific sound effect that plays when objects made of stone are destroyed.

-- added a specific sound effect that plays when trees and objects made of wood are destroyed.

-- fixed: the game wasn't saving or loading unit-specific particle effect settings. (This wasn't a problem before, as they weren't being used for anything--but now they're used to determine which destructible objects should make the above sound upon being destroyed.)

-- fixed: bonus damage from colliding with a damaging object (e.g. Spiked Barricades) was not being applied when the character had been knocked back multiple spaces due to the game checking the wrong space for purposes of "counterattack" range.

-- fixed: Together in Battle was connecting to Steam as Telepath Tactics Liberated.

-- fixed: the game was creating cosmetic connectors on land tiles for bridges being built at elevations above the land.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 06, 2022, 02:07:20 PM
-- laid some groundwork for an in-engine card-based minigame.

-- added a new Stone Golem skill: Hurl. It's basically Throw, but it goes 4 spaces and deals twice as much damage.

-- adjusted Stone Golem skill progression so they start with Shove at level 1 and gain Toss or Throw in the early levels following.

-- fixed: the tooltips for the item buttons for individual character inventories within the Reserve Supplies screen were formatted slightly differently than the tooltips for item buttons everywhere else in the game, causing them to not display the third line of text for longer item descriptions.

-- fixed: you could get a character to learn Book of Power Mastery very, very early via the "skill advice" event. The event now prevents Book of Power Mastery from appearing among the options for what the character should learn next.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 07, 2022, 11:54:00 AM
-- came up with the names and core principles of the religions attached to the world's various deities.

-- religion is now a bio detail created when proc gen characters are generated.

-- improved the religious "practice" camp narration variations by adding in references to a character's specific god and religion.

-- wrote new religious "pray" camp narration variations for each specific religion.

-- differentiated the religious death monologues by character religion.

-- the game now makes a note of hometown size when generating background dialogue for characters.

-- added a new location characters can be from: Screwtown, the shantytown located outside the Psy Academy walls.

-- wrote more proc gen background dialogue variants.

-- wrote a new nicknaming dialogue variant for serious characters.

-- wrote a new "weapon warning" camp activity variant for vindictive characters.

-- wrote a new secret dialogue variant for kind characters.

-- wrote some new compulsive "cleaning" camp narration variations.

-- fixed a typo in one of the religious "practice" camp narration variations.

-- rewrote a rather awkward "like" line.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 09, 2022, 04:43:06 PM
-- religious characters can now spend the evening searching for--and, once they find one, visiting--a temple to their deity in town. (Characters who worship deities native to Dese will have a much easier time finding a temple.)

-- added an "associated feeling" parameter to the NPCsToList action, allowing the game to narrow NPCs by whether a character associates happiness, sadness, or anger with them.

-- added an "associated feeling" parameter to the -NPC:X- special character, allowing the game to narrow NPCs by whether a character associates happiness, sadness, or anger with them.

-- the game can now take a character's relationships with members of their family into account when procedurally generating dialogue and barks.

-- proc gen character dialogue about their family background now changes based on how the character feels about the people who raised them.

-- substantially expanded the pool of proc gen character dialogue about family backgrounds.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 10, 2022, 11:17:02 AM
-- finished up the basic set of family background dialogue variants.

-- changed the Avalanche prestige class for Stone Golems; instead of getting Charge, they now get to use Toss without ending the turn and get 50% off the energy cost of Throw.

-- adjusted spriggat portrait size to more accurately reflect their scale.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 11, 2022, 10:34:41 AM
-- fixed: the game wasn't tracking league progress from beating proc gen arena battles, and wouldn't trigger related plot events.

-- fixed: sound loops from proc gen battles weren't being stopped upon return to camp.

-- removed the "howling wind" sound loop from storms during proc gen battles, as it was overly loud.

-- fixed: the game was no longer correctly referencing activity narration for the solo gambling camp activity.

-- fixed: elevated spaces in proc gen battlefields weren't having their flyer elevation set, resulting in flying characters and fly-only objects sinking into elevated terrain.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 11, 2022, 02:44:08 PM
-- altered the very first proc gen arena battle to align with the organizer's dialogue (i.e. it's easier and you mostly fight engineers).

-- arena battles now start to scale in difficulty a bit the further along you get in a league.

-- fixed: fruit trees in proc gen arena battles weren't dropping fruit when destroyed.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 12, 2022, 06:05:24 PM
-- began creating the Trainer cut scene.

-- the news ticker now differentiates between TTL and TiB.

-- split up some more of the "character dismissal" dialogue, as it was exceeding the available space in the dialogue window.

-- the second arena battle now always has the "weather" condition.

-- the game now offers a bit of narration when an arena battle features the "go first" condition.

-- tweaked the save slot formatting to better accommodate long scene names.

-- fixed: proc gen battle would sometimes display the wrong tile type adjacent to water, lava, or chasm tiles.

-- fixed: undoing a flyer's move off of a fly-only object would result in them being reset to the wrong elevation.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 13, 2022, 09:40:02 PM
-- adjusted the numerical calculation for status effect icons in the character screen to more accurately match up with the rounds remaining.

-- designed card back and front graphics for a card-based minigame.

-- created "card draw" and "card play" sound effects.

-- designed 27 cards for the minigame.

-- programmed basic systems for importing card data and populating the player's hand with cards.

-- cards react to mouseover and being clicked.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 14, 2022, 05:52:10 PM
More mini-game progress!

-- created basic UI for each player showing name, health, energy, and remaining cards in deck.

-- created a turn system; the AI player goes first 50% of the time. (Whoever goes second starts with more energy to make up for it.)

-- created a working Continue button that ends the player's turn when they're done with their actions.

-- added a text overlay announcing when the player turn changes.

-- cards can now be played from the player's hand.

-- there's now an animation for when cards are played from the player's hand.

-- cards which correspond to in-game skills now load that skill's button graphic as placeholder card art.

-- cards which directly affect a player's health, energy, or cards in their hand now do what they're supposed to do upon being played.

-- cards which place a unit now place a unit.

-- got the logic of attacking and blocking working. Attacks which are not intercepted damage the other player; those that are intercepted damage the intercepting minion, who then retaliates against the attacker if they survive.

-- cards intended to return to the deck after being played now do so.

-- created a very rudimentary AI for the mini-game for testing purposes.

-- cleaned up the 2D "sparkle" particle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 16, 2022, 10:29:48 AM
-- created minion objects to represent summoned minions.

-- minion objects now appear on the board when minions are summoned.

-- the game now prevents minions from being summoned if there are no lanes available for them.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 16, 2022, 11:26:15 PM
More mini-game improvements! It's getting close to being fully playable at this point. Among the many improvements:

-- you can now target minions directly with cards.

-- cards that target all enemy minions now work as intended.

-- minions are now displayed as distinct character sprites which match their name, palette-swapped to match their player's color.

-- minions now move forward during an attack and then return to their line.

-- minions can now successfully switch lanes.

-- minions now disappear when killed.

-- damage to minions and players is now punctuated by little bursts of sparks.

-- you can now replace a minion when playing a new minion after all lanes are filled.

-- added new "hits first" and "can't attack" properties to some minions, as well as supporting effects triggered when a minion is intercepted during an attack.

-- minions now eachhave their own mouseover tooltips.

-- improved the mini-game AI.

-- it is now possible to actually win or lose!

-- the mini-game now has 37 different cards.

-- gave the mini-game a name I'm reasonably happy with: "Psy Clash."
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 17, 2022, 12:09:51 PM
-- got free targeting of enemy minions (as with bowman and crossbowman minions) working.

-- fixed a thing that was preventing the "draw more cards" card effect from working.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 18, 2022, 07:57:55 PM
-- the game now saves proc gen battle battle names at the start of combat, meaning that the save slot won't display "RANDOM" prior to mid-battle saving anymore.

-- new script action: CardGame. Initiates a game of Psy Clash in a cut scene! Has 11 parameters, all optional: Win Conv ID, Loss Conv ID, Player Deck List Name, Opponent Name, Opponent Color, Opponent Health, Opponent Energy, Opponent Deck List Name, Opponent Portrait Name, Draw Per Turn, Energy Per Turn. (If Win Conv ID and Loss Conv ID aren't supplied with arguments, these will default to "Won Card Game" and "Lost Card Game".)

-- after a game of Psy Clash ends, the game successfully reverts to a different cut scene dialogue tree depending on whether the player won or lost.

-- added a branching activity to the Festival of the Ascendant Lights event in which the player is gifted a Psy Clash deck and gets to play for the first time!

-- cleaned up scripting for the Festival of the Ascendant Lights event.

-- your opponent's portrait's facial expression will now change depending on circumstances during the card minigame, and will adopt a grimace for a few seconds when taking damage.

-- opponent AI in the minigame can now target minions with direct-effect cards.

-- added sound effects to cards.

-- fixed a few remaining bugs in the card minigame.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 19, 2022, 03:35:02 PM
-- created a new random event in which a fan mails the player a deck of Psy Clash cards as a gift.

-- created a new pair of events in which a character with the "card game" hobby challenges the player to a friendly game of Psy Clash.

-- added a sound effect marking the conclusion of a card minigame match.

-- added some new variations to proc gen names for proc gen battles.

-- fixed some formatting errors in the scripting for a few random events.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 20, 2022, 03:54:49 PM
-- created a new random event. The player is asked to play Psy Clash on the street--but this time, there are stakes. The player can win money, lose money, win a card, or lose a card!

-- expanded the "card gift" event so that if the player already has a Psy Clash deck when it happens, they receive two random bonus cards instead.

-- added a bit to the Psy Clash AI so the computer knows when to use cards that affect all enemies (like Dark Vortex).

-- the Psy Clash AI now plays as many cards as it can each turn instead of just randomly picking one to play.

-- the Psy Clash AI now prioritizes playing cards which grant it extra energy as early as possible (provided that the AI player needs more energy).

-- the Psy Clash AI now prioritizes playing minion cards if it has no minions on the field.

-- the Psy Clash AI now uses its direct-damage minions to damage enemies at range instead of just attacking with them.

-- added "bow hit" sound effects to direct-damage attacks in Psy Clash.

-- fixed: free-targeters (like bowmen and crossbowmen) would still attack even if they'd done direct damage the same turn.

-- fixed: the game could trigger the victory function in Psy Clash multiple times, once with each attack that brought the enemy lower below 1 health.

-- added the new Card Draw and Card Play sound effects to the in-game list of asset names.

-- added a new optional parameter to RemoveFromList: stop after. This allows you to easily remove only the first X entries in a list that match a string.

-- fixed: using CombineLists when the first list was not already set would cause an error. (Now when this happens, the game auto-creates an empty list to serve as the first list.)

-- fixed: using CombineLists when the second+ list was not set would cause the game to not create the destination list at all. (Now when this happens, the game simply clones the first list to the destination.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 21, 2022, 08:19:32 AM
-- made the "Continue Turn" button context sensitive, changing its tooltip based on what phase came next and changing its sprite entirely when the next click will end the turn.

-- aligned the opponent's name right in the Psy Clash interface.

-- fixed: tooltips for the AI player's UI in Psy Clash were appearing offscreen.

-- fixed: playing more than one Psy Clash game in the same scene would cause issues, as the game would not fully reset upon starting a new match.

-- fixed: issued with code timing could lead to opponents playing the same card twice before discarding it.

-- fixed: the game wasn't accounting for minions with the "can't attack" property when deciding whether to initiate an an attack phase in Psy Clash.

-- fixed: the "lower card" animation could be triggered for cards that had already been played but hadn't fully vanished from the hand yet.

-- fixed: the card description for Mind Blast was splitting up the "-" and "1" in "-1"

-- fixed some outdated scripting in the Festival of the Ascendant Lights event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 21, 2022, 02:47:19 PM
A few final UI niceties for Psy Clash:

-- added little lane markers to the table to make it more obvious which lanes exist and where they are.

-- when mousing over the Continue Turn button, if attacking comes next, the game now displays little arrows to preview which minions will be attacking and in which lane.

Annnnd back to the main game proper!

-- created new units for a new plot battle.

-- added a dramatic character reaction to the buy-out event if the player trades them to another team.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 25, 2022, 04:35:16 PM
This week has been very busy between an out-of-state wedding and work for the day job, but I slipped in a small graphical improvement to Psy Clash:

-- minion cards now display the particular minion they summon instead of a placeholder graphic.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 27, 2022, 01:31:10 PM
-- broke out athlete and dancer into their own separate life skills. Athlete now gives the character the Muscular trait; dancers now learn the skill Twirl.

-- create a new skill: Twirl. Switches positions with an adjacent target character. Costs no energy and ends the turn when used.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 01, 2022, 06:22:29 PM
-- the game can now generate unit data for character NPCs, allowing them to show up in cut scenes and battles!

-- new script action: GenerateUniqueFromNPC. This generates a unique character out of an existing character's NPC. If the character is a blood relative, the game will alter their portrait so they look plausibly related to the original character.

-- new NPC attribute: blood relative. Can be true or false, based on whether this character is related by blood.

-- added new parameter to AddNPC specifying whether the NPC is related to the character by blood.

-- added new parameter to NPCsToList allowing you to grab NPCs based on whether they are related to the character by blood.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 02, 2022, 07:44:31 PM
-- began adapting default, generic villager portrait bodies for use with proc gen portraits.

-- began scripting a new event where a character's brother or sister unexpectedly shows up in camp.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 03, 2022, 04:55:40 PM
-- new destructible object added to the game: Rug.

-- added a new attribute to units: hasShadow. Can be set to true or false (unless found and set to false, this defaults to true).

-- added a new attribute to units: laysFlat. Can be set to true or false (unless found and set to true, this defaults to false).

-- fixed some jankiness in the way Spike Trap objects are displayed; removed the shadow from them and set them to lay flat.

-- set certain other objects to lay flat, including floor buttons, rubble, snare traps, iron jaw traps, and caltrops.

-- removed shadows from certain other objects whose bases are both visible and intended to blend in with the grass below (mainly flowers and reeds).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 04, 2022, 01:22:04 PM
-- Psy Clash now supports "on turn" card effects that trigger every time your turn starts.

-- created new Bakery, Library, and Steam Engine minions; none of these can attack, but they give their owner +1 health, +1 card, and +1 energy, respectively, at the start of their turn each round.

-- created a new Iron Jaw Trap minion; cannot attack, but is guaranteed to deal 3 damage to an enemy minion it intercepts.

-- within Psy Clash, persistent effects on minions are now displayed in a blinking status effects icon that lists all of the active effects upon mouseover.

-- created a new Cryokineticist minion that permanently drops the opposing minion's power by 2 whenever they intercept or are intercepted.

-- created a new Photokineticist minion that can't be targeted by enemy direct effects; changed the Assassin's special ability to "switches lanes when intercepting an enemy minion."

-- placeholder minion card art can now be drawn from destructible object sprites as well as character sprites.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 07, 2022, 08:57:59 PM
-- added support for the card minigame to battles as well as cut scenes! This way, it can be used in exploration mode.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 08, 2022, 05:52:19 PM
-- started adding gamepad support for the card minigame...
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 09, 2022, 05:23:23 PM
-- finished adding gamepad support for the card minigame!

-- fixed: in cut scenes in gamepad mode, the Options button would sometimes inappropriately gain focus and open the options menu when selecting something else onscreen.

-- fixed: in Psy Clash, the player could directly target enemy minions with the "untargetable" trait.

-- added checks to the Psy Clash AI so it won't play effect cards on minions where that effect is already active (for instance, playing Terror on a unit that already can't attack).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 11, 2022, 06:13:19 PM
-- finished creating 3D versions of the basic table, table with food, and table with beer (both regular and alt versions) that do not warp with camera perspective.

-- fixed: the Psy Clash AI could inappropriately double-play cards that grant energy or cards that summon minions in certain circumstances.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 12, 2022, 08:31:20 PM
-- finished creating 3D versions of the table with dice, table with books, table with map, and table with papers that do not warp with camera perspective.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 25, 2022, 12:07:59 PM
Hired a new pixel artist to help me produce new character sprites specific to TiB! Here's a sample of what he's produced so far:
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 28, 2022, 03:23:42 PM
-- received final sprites in all directions, integrated them into the game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 11, 2022, 05:38:23 PM
Hired an animator to create animations for the new sprites, negotiated for some further animations with a second animator.

-- fixed: there could sometimes be range errors when setting distance values in proc gen maps.

-- fixed: the game would sometimes fail to overwrite the scene display name upon loading a proc gen map, leading to it not generating a random name for the map.

-- fixed: the game wasn't correctly applying phase, particle, and impact sound properties to spaces in proc gen maps.

-- fixed: the game was not saving and reapplying the map seed for proc gen maps to mid-battle saves correctly.

-- fixed a dumb typo in the difficulty selection menus.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 12, 2022, 02:56:48 PM
-- fixed: the game was determining facing incorrectly for AI-controlled characters using 0-range skills with asymmetrical AOE patterns (e.g. Hold).

-- fixed: the game was keeping the map seed for a proc gen battle in memory after beating that battle, meaning that any subsequent return to that proc gen map would reproduce the same battle from the saved seed.

-- fixed: when reloading a mid-battle save with holds active on the field, the holds would be placed but would not be visible to the player.

-- fixed: due to a typo, mood narration related to a specific character would display a placeholder phrase instead of the relevant character's name.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 13, 2022, 05:02:40 PM
-- the enemy teams in arena matches now have procedurally generated names.

-- improved the backup routines for placing faraway enemy units in proc gen battles so they're less likely to end up being placed completely at random.

-- fixed: the "random drop" spawn algorithm wasn't playing nice with proc gen maps, resulting in units placed via the GenerateUnit and GenerateUnique script actions with coordinates of -1, -1 sometimes not spawning at all.

-- fixed: the ItemDrop script action wasn't functioning properly on proc gen maps.

-- fixed: the game was using the wrong name for league 0 proc gen maps if the player chose the tutorial track, leading to the game locking up after the handmade tutorial fights.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 17, 2022, 05:59:18 PM
-- automated pop-up text about alterations to familiarity, friendship, or romance on the battlefield are now always locked to one line.

-- new parameter added to SpawnFloatingText and SpawnFloatingTextAt script actions: word wrap. Set to false to force pop-up text to remain single-line.

-- fixed: the game camera was cropping out important information when zoomed in to combat exchanges occurring on the bottom row of the battlefield.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 18, 2022, 06:47:11 PM
-- when the player attacks a qualifier opponent in the qualifier tutorial map before destroying all of the dummies, the tutorial now skips ahead and activates the qualifier opponents.

-- when the player right-clicks a character and opens the character screen in Battle at the Overgrown Garden, the text overlay instructing the player to right0click a character now goes away.

-- added in a new proc gen arena map variant to League 0.

-- removed Battle at the Oasis from the tutorial rotation to get the player into proc gen maps faster, put some of the tutorial text from there into Battle at the Dry Mounds.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 19, 2022, 05:36:42 PM
-- massively improved the water/lava shader; liquid terrain now undulates (https://mastodon.gamedev.place/@sinisterdesign/109542312839320928)! :)

-- improved the visuals for Twirl: added a character animation, improved the skill timing, and made the swapping occur visually (rather than via an instantaneous teleportation a la Juxtapose).

-- added a new script action: SwapUnitPositions. This causes two named characters to visually swap positions on the battlefield as described above for Twirl. Two parameters: character 1's name and character 2's name.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 23, 2022, 05:05:00 PM
-- reworked the league 1 qualifier boss battle to make it more challenging and offer more tactical dilemmas to the player.

-- fixed an annoying bug where the game would sometimes initiate babble speech for the first branch of tutorial  or event text even though no "speaker" character existed.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 26, 2022, 11:02:12 PM
-- stat changes on the level-up screen now appear sequentially instead of just being there all at once when the screen opens. (Clicking will skip the sequence and display everything all at once.)

-- created a new "stat up chime" sound effect that plays during the level-up sequence.

-- added particle effects that play during the level-up sequence.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 27, 2022, 11:30:22 AM
-- created a new DarkSmoke 2d particle effect, incorporated it into the stat-up particle effects for a more convincing effect and better visibility of the sparks.

-- updated in-game documentation with the new 2D particle preset and stat-up chime sound effect.

-- updated the end credits with additional sound effect credits.

-- fixed: rotating a unit while an attack tile for a self-use skill with an asymmetrical AOE pattern (like Hold) would result in the character rotating but the AOE pattern not rotating to match.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 02, 2023, 05:38:39 PM
-- boosted the aggressiveness of experience scaling for characters who are behind the level curve to make it easier to train up characters who are lagging behind. (Characters who are overleveled compared to their opponents still get a 10% penalty per point of level difference, but characters who are underleveled now get a disproportionate 15% experience boost per level the opponent has over them.)

-- boosted the experience scale cap somewhat to 300%.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 06, 2023, 05:54:36 PM
Gave feedback to artists about new animations. In the meantime:

-- added a new possible outcome for characters during the Rained Out event: characters who have a reading hobby can now relax with a book while stuck inside during the rain, boosting their morale a bit instead of hurting it.

-- began writing a new event where two characters get into a serious argument.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 10, 2023, 12:59:10 PM
-- new skill: Trade. It's essentially Twirl, but it only works with allied characters (whereas Twirl can be used on enemies). Trade is now part of the Spearman skill progression, and can be learned by Swordsmen who promote to Swordmasters.

-- created a new WhistleDown sound effect, to be used when character friendship decreases in-game.

-- finished writing and scripting the first couple of variants of the "character argument" event; it can now appear starting on day 10 of the campaign.

-- Psy Clash now supports cards that allow you to steal a minion from another player.

-- new Psy Clash card: Mind Control.

-- Defiant Stance now gives +100% strength until the user's next turn, making it much more useful.

-- increased the base chance of applying Frozen status with Cryo Cross from 50% to 75%, making it less dangerous (and more beneficial) to use with large groups of enemies.

-- fixed: the gamepad cursor was appearing on the "continue" button in Psy Clash even when gamepad controls were not enabled.

-- fixed: in Psy Clash, untargetable minions (like the Photokineticist) were targetable by bowmen and crossbowmen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 11, 2023, 04:36:17 PM
Received a new commissioned animation: Gasul shove! (It still kind of blows my mind that I never had this commissioned for the original TT, but hey--better late than never, right?)

Also provided feedback on several other new animations: specifically, hurt and attack animations for several new characters specific to TiB.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 13, 2023, 06:19:28 PM
-- new script action: InterfaceArmyColor. Lets you change the default army color used in cut scene interface elements like the recruitment screen or the reserve supplies screen from Blue to any other supported color.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 17, 2023, 05:43:40 PM
I've been dealing with a shoulder injury that requires more than an hour pf PT and/or home exercises every single day, which has really been slowing me down lately.

Regardless, I've been providing artist feedback and getting more things ready behind the scenes! The latest:

-- worked some more on the Trainer scene.

-- hooked up a new reply UI type for dialogue where the game displays a list of characters by portrait with mouseover tooltips and the ability to right-click to see each one's character screen. Left-clicking a character will immediately set them as the trigger character for the dialogue going forward, then behave as a click on "reply 0" for dialogue tree navigation purposes.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 20, 2023, 05:20:33 PM
-- got stat training working at the Trainer! You can now train Health, Energy, Strength, Psy, or Dodge for any of your characters. The price will scale with the stat's level; characters will be gone until the following evening while they train.

-- the game now supports creating arbitrary stats for characters using the SetStat action! These won't appear in the UI, but they can be used to invisibly store integers specific to each character (e.g. enemies they'll slain, days they've been on the team, etc.). These, in turn, can then be referenced by other script actions.

-- the game now processes special characters in the warning messages for custom menu buttons.

-- added specific facial expressions to more combat lines.

-- fixed: in some circumstances, re-recruiting a character whose data was already saved could result in more than one copy of that character being added to the roster.

-- fixed: it was possible for custom list data to bleed over from a saved game when starting a new game.

-- fixed a typo in a couple of flirtatious greeting variants.

-- fixed a typo in one of the "turning the asker down" variants of the "getting asked on a date" event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 22, 2023, 12:16:57 PM
-- roughed in scripting allowing the player to change a character's class at the trainer.

-- added Species to the attributes supported by the IfAttribute script actions.

-- fixed: the level-up screen was keeping "None" onscreen when first learning a new equipment mastery for a character without any masteries.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 23, 2023, 10:31:39 PM
Received final animations for several new character sprites. :)

-- formatted the new sprite sheets for in-game animations.

-- finished getting class changes working at the trainer!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 24, 2023, 06:18:06 PM
-- when characters are sent away to train, the date of their eventual return is now shown on the calendar.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 25, 2023, 03:58:19 PM
-- wrote new arguments based on behavior by Narcissistic and Blunt characters, as well as arguments between characters with the Serious and Jokester personality traits.

-- added support for passing script parameters to IfItemRun.

-- for all IfXRun-type script actions which support passing script parameters (i.e. most of them), you can now pass an unlimited number of parameters; just keep adding pairs of parameter name and parameter value onto the end until you're done.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 26, 2023, 05:25:33 PM
-- updated the basic Run action so you can pass an unlimited number of parameters as well.

-- fixed: members of army 99 (i.e. most destructible objects) with status effects, upon reloading a mid-battle save, would inappropriately step their status effects an additional time.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 27, 2023, 10:32:27 PM
-- wrote new arguments between characters with the Natural Leader and Pessimistic personality traits.

-- finally fixed that annoying graphical bug where 2D particles would oftentimes lose their glow effect midway through animating.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 28, 2023, 04:23:05 PM
-- commissioned unique qualifier opponent sprites.

-- added gamepad support for the new unit selector UI in the dialogue menu.

-- prettied up the mouseover tooltips for the -ShowUnits- reply interface in the dialogue menu.

-- fixed: the game would default the gamepad cursor to the dialogue box on branches with multiple replies.

-- fixed: you could select the dialogue box itself with the gamepad cursor on branches with a -ShowUnits- reply or with multiple regular replies.

-- fixed: tooltips for physical attributes in the character screen were not displaying correctly in gamepad mode.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 29, 2023, 10:39:03 PM
-- toned down the magnitude of default screen shake for some of the heavier attacks.

-- added a new setting to the Settings screen that lets you halve the strength of the game's screen shake effects or turn them off entirely.

-- fixed: a character receiving damage and healing (or Shield damage) from multiple sources simultaneously would cause the game to lock up. (For instance: a character with both Burning and Regenerating status effects active at once.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 30, 2023, 04:45:17 PM
Announced the release date (https://sinisterdesign.net/together-in-battle-release-date/) today, and spent a considerable amount of time emailing outlets and updating defunct entries on my press mailing list. As for the game:

-- added support for a new dialogue trigger type: OnPanCam. It triggers dialogue as soon as the player pans the battlefield camera using the mouse or keyboard then releases the relevant mouse button/key. Optional parameter: turn number.

-- the text overlay reminding the player how to pan the camera is now removed upon panning the camera in Battle at the Overgrown Garden.

-- added a note to the town menu explaining that whatever option you choose, it will take up the day.

-- boosted the spread of sparkle particle effects on the army button upon recruiting a new character in recruitment so it's harder to miss.

-- boosted the spread of sparkle particle effects on the supplies button upon acquiring a new item in the shop interface so it's harder to miss.

-- reduced the speed of the "spending money" animation in the info bar so it's more satisfying and harder to miss.

-- boosted the glow of coins in the "coin fountain" effect when spending money to offset the effect of the fix below.

-- fixed: shader settings for different 2D particles were transferring between particles, leading to inconsistent and incorrect emissive lighting on particles.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 31, 2023, 07:47:20 PM
Did more PR stuff today, pushed a TTL update. In addition:

-- fixed a graphical glitch involving the left- and right-facing visual effect animations for Light Breath and Light Breath 2.

-- created sprites for the A, B, X, and Y gamepad buttons; integrated them into the engine as text sprites.

-- the game now uses "Press (A)" instead of "Click" for continue prompts in the dialogue menu and cut scene narration box.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 03, 2023, 05:39:03 PM
-- scripted alternative tutorial text for players who are using gamepads in the Qualifier, Overgrown Garden, and Dry Mounds battles.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 06, 2023, 12:11:04 PM
Took a few days to check out what IS did with Fire Emblem Engage. Overall, not impressed.

-- successfully switched the cut scene backgrounds over to an asset bundle streaming system. This sort of thing is supposed to reduce build times, and can theoretically help with memory management on more resource-limited systems.

I investigated doing this same thing with the game's character portrait assets, but apparently Unity asset bundles break if any files have the same filenames even if they're in different directories. This would make this a huge pain the butt to implement.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 07, 2023, 02:20:51 PM
-- camp activities that create items can now produce procedurally generated items with specific materials and at a specific quality level.

-- added a project to the Sew camp activity that can produce a leather vest upon conclusion.

-- created a new "make weapon" project type that blacksmith characters can partake in, wherein they'll rent slace in a smithy and create a new weapon for you over time.

-- new special characters supported: Momdad and Momdad2.

-- went through and combined family background variants using gender-variable pronoun special characters to make it easier to create personality-based variants of those lines.

-- added support for campaign-specific CharAttributes and CharNames XML files.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 08, 2023, 06:13:57 PM
-- wrote new arguments between characters with the Friendly and Introvert personality traits.

-- wrote new arguments between characters with the Disciplined and Depressive personality traits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 09, 2023, 01:13:05 PM
-- wrote attack barks and victory barks for artist characters.

-- the AI will now equip weapons, armor, and other items if AI characters (a) have something equippable in their inventories and (b) they have the relevant equipment slot unused.

-- the game can now distinguish between weapon-based skills and non-weapon-based skills, and will now prevent characters from counterattacking with weapon-based skills while subject to the Disarmed status effect even if they don't have a weapon explicitly in their inventory.

-- created a Disarmed icon; the game now displays the Disarmed status effect for the rest of the turn when an enemy is disarmed.

-- changed the Disarm skill's element from Mental to Slash, increased the base chance of success to 100%, changed the cost to 4, made it end the turn, and added it to the Swordsman skill progression.

-- new skill: Disarming Strike. Deals basic sword damage with a 60% chance to disarm the target; can be used once per turn and doesn't end the turn, but it costs 6 energy. Now learned by characters upon promoting to Blade Dancer.

-- the spirit's Possess skill now causes the user to become Hidden until their next turn.

-- fixed: the game would strip Hidden status from attackers at the conclusion of an attack even if the skill they attacked with was the thing that gave them Hidden status to begin with.

-- fixed: the -ATTACKER- special character was inappropriately referencing the attack target instead of the attacker when used in skill scripts.

-- the skill target is now treated as the triggering character and the user of the skill is now the secondary character in skill scripts.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 10, 2023, 08:40:19 PM
-- created a new event where a character asks for time off to return home and retrieve a powerful named weapon that's been passed down through their family for generations.

-- new script action: GenerateItemName. Causes the game to randomly generate a (hopefully) cool-sounding name for a unique weapon, then sets custom string _UniqueItemName with the name generated.

-- greatly improved documentation for the CreateUniqueItem script action.

-- fixed: a typo in the logic for CreateUniqueItem was causing it to disregard mandatory tags.

-- fixed: the reverse match method in CullListByList was not working properly.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 11, 2023, 02:58:53 PM
-- added a DefeatScene condition to the arena battles so losing an arena fight in roguelike mode doesn't immediately end the run.

-- improved the recruitment and shop tutorials; each is now nicer-looking, spread across two pages, and provides more relevant information.

-- the game now remembers if you've completed the shop and recruitment tutorials and won't show them again on subsequent runs.

-- the game now remembers if you've completed the combat tutorials, and acknowledges that in the qualifier battle before asking if you want a refresher.

-- improved the look of the game's rain particles in battle.

-- fixed: it was sometimes possible to see the "corners" of the weather particle emitter box in battle under certain conditions.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 12, 2023, 04:41:46 PM
-- refactored some of the character generation code so that the region of the world a character comes from is chosen before anything else, allowing it to factor into the remaining aspects of character generation.

-- the character generator can now take a character's native region into account when generating their name.

-- created a list of human first names specific to the region of Dese.

-- characters from Dese are now generated with Dese-specific names.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 13, 2023, 11:46:39 AM
-- players can now open and inspect the current month's calendar manually when in Kalkerapur or Camp.

-- new script actions: ShowCalendarButton and HideCalendarButton, which can be used to toggle visibility on a button the player can use to examine the calendar during cut scenes.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 14, 2023, 01:26:50 PM
-- added gamepad controls for the options menu and settings screen in cut scenes.

-- added gamepad controls for the calendar.

-- fixed: in cut scenes, gamepad focus would not be restored to custom menus when backing out of other gamepad menus.

-- made the options, army overview, and calendar buttons selectable with the gamepad when in a custom menu.

-- fixed: the game treated invisible custom menu elements as selectable with the gamepad cursor.

-- created a dedicated button graphic for the Calendar menu. Added it to the assets list for use in custom campaigns.

-- fixed the timing of portrait animations in the Argument event.

-- prettied up the 2D heart particles.

-- added a couple of extra preferred expletives that are specific to kind and cheerful characters.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 15, 2023, 02:32:11 PM
-- added gamepad support to narrated camp activities.

-- fixed: the game would inappropriately switch gamepad focus from the dialogue menu to the narration menu when EndConvImmediately was called by dialogue during camp activities even if another dialogue tree was active and the dialogue interface remained onscreen.

-- made the options, army overview, and calendar buttons selectable with the gamepad when gamepad focus is in the dialogue menu, camp activities menu, or narration menu.

-- fixed: babble speak sound effects were still being triggered sometimes when there was no character designated as a speaker.

-- fixed: the wrong character's expletives were being used in cooking reaction dialogue.

-- fixed: end-of-dialogue routines were being called and advancing the narration frame even when the game was simply running a script (as opposed to ending actual written dialogue).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 16, 2023, 03:29:37 PM
-- polished the dialogue sequence that follows dismissal of a character.

-- improved documentation of the LoadConv reply type.

-- you can now scroll through characters in the character screen while within the army overview screen using the mouse wheel (or, if in gamepad mode, the shoulder buttons).

-- added gamepad support to the info bar. When the info bar is visible in cut scenes, you can now "mouse over" the food and aura icons with the gamepad cursor to get their tooltips while in the shop, recruitment, custom menu, dialogue, or camp activities screens.

-- added gamepad support to the character overview screen.

-- fixed: the gamepad cursor was misaligned for the screenshake adjustment buttons in the settings menu while on the title screen or in battle.

-- fixed: the gamepad cursor had become misaligned for character screen elements while in cut scenes.

-- fixed: after using the start button to open the main menu in cut scenes, the game incorrectly treated game settings as the current menu for purposes of gamepad navigation.

-- fixed: the gamepad cursor could navigate to the "switch page" buttons in the reserve supplies screen even when they were invisible.

-- fixed undesirable gamepad cursor behavior when switching between dialogue branches with multiple replies and those without multiple replies within dialogue trees.

-- fixed: gamepad controls for the report screen did not function properly in cut scenes.

-- fixed: the game was inappropriately placing gamepad focus on narration at the beginning of nighttime camp activities even if the first activity was character dialogue.

-- fixed: in the character screen in battle, you could start the process of giving an item to an adjacent character by selecting Give for an item, then immediately reopen the character screen, use or drop the item, and finally return to the battlefield and click the red give tile to give a pristine copy of that item to an ally.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 17, 2023, 03:07:08 PM
-- wrote two new events in which a spirit visits the camp and the player must decide how to deal with it.

-- wrote a new script to dynamically adjust the whole group's morale based on player choices.

-- prettied up the rain particle effects some more.

-- fixed: the game was not recognizing when a dialogue branch was marked for input text within PersistentDialogue.xml.

-- fixed: upon returning to the title screen from a game, remaining on the screen in a submenu for the length of the intro movie while using gamepad controls would result in the game inappropriately pulling gamepad focus onto the main menu.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 18, 2023, 04:56:07 PM
-- new background added: Arena_Interior.

-- got background image compression working properly; converted the background asset bundle to use chunk compression.

-- fixed: it was possible to advance the scene by clicking the background while in recruitment.

-- fixed: head 12 in lissit portraits was missing data for mouth 8.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 19, 2023, 11:20:31 AM
-- the NewBackground script action can now be used to display a specified cut scene background in the empty space around the battlefield.

-- scripted the arena interior background to appear behind arena matches.

-- scripted appropriate backgrounds to appear behind event battles.

-- made some more of the event battles increase a bit in difficulty once a certain number of days have passed.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 20, 2023, 02:20:40 PM
-- named the four in-game arena leagues.

-- wrote arena organizer dialogue up through league qualifier #2.

-- updated the scripting in the qualifier scheduling scene to account for all four leagues.

-- scripted and wrote the conclusion of the steel supplier side quest for Nihal Agarwal.

-- set up triggers for the first set of 18 achievements in-game.

-- cleaned up the graphic for the 2D particle "Sparkle."

-- fixed: things which caused a character to be instantly placed on a specific space in battle (e.g. undoing) could sometimes mess up that character's z-sorting.

-- finally fixed that annoying bug where stray 2D particles could end up "stuck" at the top-left corner of the battlefield.

-- fixed: the Escape button would not act as a click on the report screen in cut scenes.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 21, 2023, 12:27:05 PM
-- added a new random condition that can affect arena fights: impatient crowd. You'll have 2/3rds as many turns as normal before the crowd starts getting restless.

-- the game now prevents the same battlefield condition from affecting two arena battles in a row.

-- new script action: LevelUpArmy. Works like LevelUp, but it affects an entire army at once instead of just one character.

-- new special character: -ROSTERNUM-. Gets changed to whatever the number of the current roster is.

-- added three more achievements.

-- having a character share a tent with another character during the mustebeast event will now impact character morale based on whether they like the character you picked and whether the affected character is an introvert.

-- fixed a couple of typos in plot event 2.

-- fixed: the game would calculate total salaries for payday without accounting for characters who are technically still on payroll, but are temporarily off the roster due to being off training. The game now tracks such characters by whether they appear on the custom list _StillOnPayrollX, where X is the current roster number.

-- fixed: the special character -APPETITE- was returning the salary of the current roster, not its combined daily food consumption.

-- fixed a typo that was causing kind characters to sometimes get a narcissistic camp activity narration when volunteering.

-- fixed: when shoving an enemy into a spiked barricade, the game would throw a null error.

-- fixed: if a unit's skill progression list wasn't strictly in level order, the skill advice event could fail to reorder a unit's skill progression correctly.

-- fixed: the AI was recognizing automatic pick-up items (i.e. coins) as equipment.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 22, 2023, 11:19:43 AM
-- adjusted the height of the elemental blast explosion animations to better align with the projectiles.

-- added a new option for camp in the evening: One-on-one. This lets you pick a character from the group to give orders to, to give a bonus to, or to give paid time off to; all other characters will have free rein.

-- updated scripting for the qualifier scheduling scene.

-- the Run reply type now supports passing multiple parameters.

-- clamped the value for the current arena battle to the size of the list, meaning that you can now never "run out" of fights within a league.

-- fixed: qualifier scheduling wasn't being triggered by the proc gen arena fights.

-- fixed some outdated formatting and scripting info in the Monkey League Qualifier battle.

-- fixed some outdated info in the in-game documentation relating to generate unit-type actions, specifically with respect to the first salary parameter.

-- fixed: a Wait action queued up after a WaitForDialogue action would cause the wait timer to run concurrently with the wait-for-dialogue condition; and if the wait timer counted down to zero before the dialogue finished animating, the game would proceed with executing actions anyway! The game now waits for dialogue to conclude if a WaitForDialogue action was executed before commencing the countdown for a subsequent wait timer.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 23, 2023, 09:18:01 AM
-- received new staff fighter sprites for the introductory qualifier opponents, incorporated them into the game. :)

-- fixed: when using a gamepad, OnCharScreen dialogue would pull gamepad focus from the character screen and fail to restore it upon ending the dialogue.

-- the game now checks for Xbox-specific controllers and updates the gamepad layout if it auto-detects gamepad usage on the title screen while controls are still set to mouse and keyboard.

-- when opening the mid-battle save menu, the game now auto-resets the gamepad cursor to the first slot instead of leaving it on the confirm button from previous turns.

-- the game now plays a sound effect when toggling to and from the actions bar using the X button in gamepad mode, or when switchign to the actions bar by hitting A on an empty battlefield space.

-- the skill editor now has a checkbox that can be used to toggle whether a skill is considered a weapon skill by the game for purposes of the Disarmed status effect.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 24, 2023, 11:07:52 PM
-- the LightBackground action now works for backgrounds in battle as well.

-- changed the lighting in arena battles taking place in the darkness.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 26, 2023, 11:42:04 AM
-- added regular league match scheduling to the game.

-- new optional parameter in GetEventDate: get last instance of named event (instead of first) in the calendar.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 27, 2023, 10:43:28 PM
-- finally received a commissioned pull animation sprite sheet for the Gasul class! (I can't believe it took me this long to get one made, but now it's finally done.) Integrated it into the game.

-- added Pull to the skill progression for proc gen Gasul units.

-- fixed a couple of scripting issues relating to new features that were causing improper options to be available in menus at game start.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 01, 2023, 03:10:49 PM
-- adjusted parameters for Monkey League Arena battles.

-- wrote new "like" dialogue for imaginative characters.

-- improved some of the location-dependent background dialogue.

-- fixed a couple of typos in proc gen character dialogue.

-- created a Crowd Murmuring sound effect, added it to the "crowd grows restless" dialogue in arena fights.

-- reduced the volume on the Rain and Wind sound loops, preserving the old high-amplitude versions as Rain Loud and Wind Loud.

-- fixed: a league match could get scheduled during the Festival of the Ascendant Lights.

-- fixed: item button menus for the rightmost items in the reserve supplies screen had their positions reset, requiring me to once again go in and reposition them by hand so they wouldn't go offscreen.

-- fixed: music volume would reset to a level multiple times higher than the global music volume level under some circumstances.

-- fixed: units would sometimes fail to become tinted when spawning after deployment under alternate global lighting conditions.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 02, 2023, 07:52:18 PM
-- updated game logic to let you schedule another league match and try again after losing one.

-- added icons to the reply options when a character asks which stat they should work on for their next level-up.

-- battlefield lighting is now set to overcast when there is a rain condition.

-- added specified animations to dozens more skills to allow characters to keep using them with reasonably appropriate animations after reclassing.

-- fixed: characters changing classes did not adopt the default skill animation of their new class's sprite set.

-- fixed: the game would not trigger OnVictory dialogue for any army that was not player-controlled.

-- fixed: surrendering would not trigger OnVictory dialogue for any enemy armies.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 03, 2023, 08:19:32 PM
-- created a qualifier battle to get into Gharial League.

-- the game now tracks the total aura spent in shops, the total aura spent during the last shopping trip, the maximum aura spent in any one shopping trip, the total aura spent on recruitment, total characters recruited, the total number of characters recruited of each species, the total number of characters recruited of each base class, the total number of character promotions, the total games of Psy Clash won, the total number of characters who have permanently died, the total number of nights your characters have gone hungry, the total number of characters who have been dismissed, and the total number of characters who have resigned.

-- added an achievement for obtaining a deck of psy clash cards. There are now 23 achievements implemented.

-- new supported tag: ModTerrainModifier. Can modify the effect that terrain tiles have on a particular stat for the tagged character.

-- two new physical traits added: Diminutive and Broad. Diminutive adds +15% to Dodge when on terrain that modifies Dodge; Broad negates Dodge bonuses from terrain.

-- fixed: tall grasses were not applying their Dodge bonus to units standing in them.

-- the game no longer displays the names of skills being used under fog of war.

-- fixed: the blinking status effect displayer would appear even when the unit it was attached to vanished in fog of war.

-- fixed: pop-up text and animated health/energy bars would still appear over spaces covered by fog of war.

-- fixed: impact sparks and static visual effects would still appear over spaces covered by fog of war.

-- added an invariantculture argument to game's various float.Parse() calls to avoid issues with the game failing to parse decimals for European users.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 04, 2023, 06:48:33 PM
-- coded battle background functionality into the game. Unlike cut scene backgrounds, these are paintings that lay flush with the level geometry, surrounding the battlefield on all sides, and pan around when you pan the game camera. These are designed to much more directly represent the environs surrounding the battlefield.

-- added a rough draft arena battle background into the game's arena battles.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 05, 2023, 09:24:08 PM
-- made it so the player can hold one-on-ones even after events.

-- fixed: you could get the mustebeast event more than once.

-- fixed: the internal stat tracking system has a typo that was causing "key not found in dictionary" errors.

-- fixed: the lighting on lit tent objects was out of whack.

-- fixed: the thief attack battle did not have music.

-- fixed: the second wave of enemies in the thief attack battle did not target the player's tents readily enough.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 08, 2023, 02:37:51 PM
Updated the website with a new version of PHP (plus updated the forums to version 2.1.3 after discovering that they wouldn't work with PHP 8.0). Now that the forums are working again, I can get back to posting about development progress. :)

-- got up to a full 70 achievements implemented!

-- started sourcing art for the achievement icons, which...is gonna take a while. 😅 (I currently have art for 24 of the achievements.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 09, 2023, 05:14:55 PM
-- made it up to 67 achievements with art now!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 10, 2023, 05:34:49 PM
-- added a 71st achievement.

-- finished adding art for all achievements.

-- TiB now creates a custom Classes.xml file in all custom campaigns for easy access to class editing.

-- fixed: you could select the calendar and army overview buttons with the gamepad when in cut scenes even if those buttons were not visible.

-- fixed: calling up the main menu in battle during dialogue and exiting would cause the game not to restore gamepad focus to the dialogue window.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 14, 2023, 02:51:53 PM
- turned off the ability to access the battle menu via gamepad when the new turn box is open, when the game is actively changing scenes, or when an AI turn is taking place.

- the game now supports looping pixel art  animations for destructible objects!

- received an animated Fire sprite, integrated it into the game as the new Fire destructible object. Walking into fire causes 15 heat damage; attacking fire from melee causes the attacker to receive a 10-damage Burn "attack."

- received the last of the golem Stomp animations (for the Titan class), integrated it into the game.

- finished integrating royal guard animations into the game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 15, 2023, 03:38:46 PM
Gave a lot of artist feedback on the last few graphical assets I need for the EA release. In addition:

- battle backgrounds can now be scaled dynamically on a battle-by-battle basis.

- received portrait for the Staff Fighter, integrated it into the game.

- created a rough draft of parameters for proc gen Gharial League battles.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 16, 2023, 04:18:48 PM
- Fire now deals ongoing environmental damage each turn a unit stands in it.

- the AI now recognizes Fire as an environmental hazard it can shove enemy units into.

- the AI now recognizes that flying enemies won't take environmental damage from being shoved onto terrain that flyers can naturally pass over (like water, lava, or chasms).

- the AI now accounts for environmental damage when evaluating the danger of ending its move on a space.

- fixed: characters being created from premade unit templates would have their tags applied twice.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 17, 2023, 05:11:58 PM
- upon finishing deployment in a map with fog of war, the game now reveals tiles for the newly deployed characters automatically without you having to move them.

- fixed: the AI would not complete the turn of a character who wandered into a pressure trigger but didn't end up stunned or otherwise unable to act.

- fixed: using the B button to exit the main menu after opening it during dialogue would result in the dialogue box not regaining focus.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 20, 2023, 05:15:36 PM
- the AddCondition script action now supports the Set Army Alliance condition.

- improved the Thieves arena battle condition.

- fixed: in some situations, it was possible for the AI to lock up at the start of its turn when BeforeTurn dialogue spawned.

- fixed: it was possible for a character to independently choose the Clean camp activity even if another character was already assigned to clean via a One-on-one.

- fixed: destructible objects in proc gen maps were being created with a blank facing instead of a facing of "None", which in turn would interact with the game's logic in such a way that attacks from assassins against them would be counted as sidestabs.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 21, 2023, 01:06:12 PM
More artist feedback.

- wrote a new event in which an enthusiastic fan shows up to praise one of your characters.

- received Kalkerapur city battle background; incorporated it into the game.

- received unique Trainer portrait; incorporated it into the game.

- players can no longer name a spirit using the same name possessed by another character.

- new stat supported by UnitsToList: Health Left. This automatically calculates the character's current health by deducting Damage from Health.

- new stat supported by UnitsToList: Energy Left. This automatically calculates the character's current energy by deducting Drain from Energy.

- fixed: a typo meant that the game would consider characters with a wound level of 1 or greater available for nighttime events or training.

- fixed: characters with a health of zero but no wound level (because of playing on Relaxed difficulty) were deemed available for nighttime events or training by the game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 22, 2023, 10:36:51 AM
- finished up the enthusiastic fan event.

- moods may now block characters from engaging in the partnered versions of their chosen camp activities (or as partners for other characters' chosen activities).

- new mood supported in the game: EnviousOf.

- new camp activity: Envy. A character spends the evening stewing over feelings of envy for another character.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 23, 2023, 02:07:51 PM
- received final sprites for new destructible objects Thorn Vines, Ice Spikes, and Sandbox Tree.

- created new destructible objects Thorn Vines, Ice Spikes, and Explosive Tree.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 24, 2023, 06:40:59 PM
- added a small cut scene with a message for when the player has reached the end of the playable content in Together in Battle.

- the player is now directed to that scene after the cut scene where they are scheduled for the Snow Leopard League qualifier.

- increased the damage dealt by opponents in the initial qualifier in Challenging and Brutal difficulties so it's a tiny bit more of a challenge.

- fixed: the game would lock up when attempting to start a new game while not connected to Steam.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 02, 2023, 08:36:46 PM
- on the highest AI settings, the game now accounts for collision damage it can cause via knockback skills (i.e. smashing characters into walls, objects, or each other).

- shuffled the AIHandicap values around a bit. They are now 0: full intelligence. 1: disregards space safety. 2: disregards backstab. 3: disregards lethal hits. 4: disregards knockback. 5: disregards attack effectiveness. 6: doesn't rotate to avoid backstabs. 7: doesn't prioritize healers or 'Protect Char' units. 8: actively avoids backstabbing. 9: disregards counterattacks and on-death attacks from enemies.

- Challenging difficulty now has an AI handicap of 3 instead of 5.

- the game AI no longer treats skill scripts as rendering a skill inherently useful even the skill does no damage and imparts no status effects. (This keeps the AI from constantly using Trade and Twirl when it has no better moves.)

- wrote new background dialogue for gambler characters.


- fixed: the in-game calendar UI was not scaling properly for 16:10 display resolutions.

- fixed: space selector appeared in the top-left of the map, not aligned to any space, prior to the start of turn 0 in battle.

- fixed: victory fanfare could sometimes start playing before the appearance of the victory box at the end of battle.

- fixed: the game still displayed -0 damage popups for skills that don't normally deal damage when those skills were used by the AI.

- fixed: one of the dialogue branches in plot event 2 was missing a Babble script action.

- fixed a scripting error where giving characters more than one day of vacation would still result in them returning the following evening.

- fixed: the game was generating golem characters without assigning them the golem babble sound set.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 03, 2023, 10:35:11 AM
- added gamepad support for the calendar screen.

- physical attributes can now be excluded by certain life skills and/or can require certain life skills.

- fixed: it was possible for characters with the Skinny trait to be generated with a life skill of Athlete, rendering them both Muscular and Skinny at once and canceling out the two traits. Same with Bad Joints dancers and Aquaphobic sailors. This can no longer happen.

- fixed: it was possible to force availability of the Hold a Gathering evening activity even after going through a time-consuming random evening in camp by choosing Hold a One-on-One and then canceling out of it.

- fixed a couple of scripting errors in the Strikebreaking map.

- fixed some issues with gamepad support for the recruitment interface.

- fixed an inconsistency in the code that was causing flying characters spawning on spaces with a fly-only object to spawn one elevation level lower than intended.

- fixed a bug in which incomplete fading out of dialogue babble sounds would cause subsequent sound effects played in the same channel to play at the wrong volume.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 07, 2023, 04:38:48 PM
Did a bunch of marketing work, emailing content creators and lining up coverage for the launch! Also, fixed a couple of bugs:

- fixed: the game could generate characters with the class Hero in recruitment.

- fixed: upon changing scenes in the middle of a fade-out of music or a sound loop, if the scene transition finished before the fade-out did, the game would reset that sound's volume to the default and prevent the fade-out from finishing.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 10, 2023, 04:12:14 PM
More work prepping the game for release; fixed some issues relating to the Steam store page and captured footage for the early access release trailer.

- fixed: the food and money icons were sometimes not appearing in the info bar.

- fixed a typo in the character background data that was causing the game to treat Adelbrae as a village in Dese instead of Skolika.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 11, 2023, 10:47:58 PM
- fixed a range error in the SoundManager class that could occur when logging a completed sound channel fade-out.

- fixed:a range error could occur when the game determined free-rein evening activities for characters in camp after sending a character off to buy an item on sale as part of a random event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 14, 2023, 04:57:35 PM
- wrote new variations for the narcissistic Volunteer camp activity.

- assassins now all learn Leap between levels 2 and 4 (instead of between levels 2 and 6, as it was previously).

- fixed: it was possible to undo after using Swim.

- fixed: dynamic palette-swapping during battle (e.g. when characters switch army allegiances) had gotten broken.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 15, 2023, 11:05:58 PM
- fixed: Battle at the Overgrown Garden and Battle at the Dry Mounds were showing the arena cut scene background instead of the arena battle background.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 17, 2023, 02:46:21 PM
- wrote new Heal bark variants.

- fixed: the game was including all units on targeted spaces (including objects) as secondary characters for purposes of Heal and Attack barks, which could lead to situations where the character saying the bark could address the inanimate object by name (e.g. telling "Reeds" that they were going to be healed).

- fixed: the -NAME- and -CHAR2- special characters would remain unchanged if the target unit had no name. These now display its class name in that circumstance.

- fixed: the game was not fully dropping flying characters into water or lava when afflicted with the Heavy status effect.

- fixed: the game was not fully dropping levitating, land-based characters into water or lava when the Levitating status effect ended.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 18, 2023, 05:02:43 PM
- slowed down the battlefield cursor when playing in gamepad mode.

- improved the gamepad attack-tile selection behavior so it now "snaps" to the closest attack tile based on the direction you pressed instead of just cycling through the attack tiles in an arbitrary order.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 19, 2023, 06:24:43 PM
- fixed an error in the game's method of determining whether attacks hit against targets with Dodge when made by characters with Accuracy above 100. The game had been giving characters with Dodge an inappropriately high chance of dodging relative to the attacker's accuracy.

- fixed: attacks against procedurally generated destructible objects could trigger a null error.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 20, 2023, 01:20:02 PM
- reduced aggression coefficient for the Greedy AI profile.

- fixed a typo in one of the thief dialogue variations for league 1 and 2 battles.

- fixed: due to a scripting mistake, auto-looting of money sacks (e.g. at the end of the Thief Attack battle) was producing a null error caused by inability to parse the current army number.

- fixed: music cross-fading was not reliably playing tracks at the correct volume.

- fixed: arena manager was giving dialogue about being able to sign up for the Monkey League qualifier even after the player was already scheduled for said qualifier.

- increased the payout for winning arena matches.

- added some explanation of the exponential pricing for stat training to the trainer.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 21, 2023, 08:33:18 AM
- wrote some new Arena Manager dialogue.

- the team now gains 2 morale upon beating a league qualifier fight.

- decreased the cost of bonuses from 100 aura per morale point to 75 aura per morale point.

- fixed: the game would throw a null error trying to store achievement stats if not connected to Steam.

- fixed: Arena manager dialogue wasn't quite matching up during the day or two after scheduling the Monkey League qualifier.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 21, 2023, 03:55:06 PM
- increased the range of item rarities that may drop in Monkey League and Gharial League.

- chests may now drop money in addition to regular items.

- reduced the cost of training most stats, but the trainer now has a hard limit on how high she can train a character's dodge. (If a character has a dodge greater than 60, she won't be able to train it higher.)

- prettied up the scripting on the Letter event.

- early evening random events can no longer trigger on payday.

- fixed: the game was awarding victory spoils twice!

- fixed a scripting issue with alternate narration for the Sick event.

- fixed: the game was cutting off music abruptly upon selecting the Thief Attack event rather than fading it out.

- fixed: it was still possible for AI spearmen to use Trade all the time.

- fixed: the game could spawn enemies on top of traps when generating an arena fight.

- fixed: when failing to make payroll, the first regular evening activity was showing first before the group reaction to going unpaid.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 22, 2023, 04:56:12 PM
- fixed: the game was re-adding dismissed characters (and those who quit on their own) upon return to camp each evening due to a scripting issue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 24, 2023, 08:54:46 AM
- expanded the varieties of consumables you can find in the shop.

- expanded the varieties of accessories you can find in the shop.

- lowered the cost of Hold from 6 to 5.

- fixed a few typos in the dialogue to recruit an enemy in the Monkey League Qualifier (including one which caused the higher salary offer to remain at the same level as the first one).

- fixed: Unity's built-in lighting system would screw up when too many lights were casting on the same object (typically in maps with lava tiles).

- fixed: a typo in the game's tile data meant that the game couldn't find tiles surrounded on three diagonal corners by cave tiles and would simply leave a hole in maps where such tiles appeared.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 25, 2023, 11:53:43 PM
Released Together in Battle to early access!

- further increased the monetary rewards for beating the league qualifiers.

- increased the monetary rewards for beating the last battles in Gundhi Bug League.

- reduced salary costs somewhat for Challenging and Brutal difficulties.

- reduced item costs somewhat for Brutal difficulty.

- beating the tournament qualifier now gives the player 200 aura.

- toned down the potential added enemy types for the second battle on Brutal difficulty.

- fixed: the Sick Parents event would freeze if a character who was raised by both grandparents was chosen for the event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 26, 2023, 10:24:56 AM
- Brutal difficulty now has a minimum first-day recruitment of 4 units rather than 6.

- increased starting aura for Challenging and Brutal difficulties.

- reduced food costs for Challenging difficulty.

- reduced item costs for Brutal difficulty.

- training costs now scale with difficulty: 70% for Relaxed, 80% for Challenging, and 90% for Brutal.

- paradigm training now takes five days instead of a week.

- increased the number of uses Bandages have from 2 to 3 to make teams without a psy healer or gasul more viable.

- arena fights no longer spawn extra enemies on Brutal difficulty.

- doubled the morale effect of Beautiful weapons and armor from +1 to +2.

- new possible modifier for especially high-quality weapons and armor: Gorgeous. Grants the wearer morale +4 while equipped.

- increased the availability (and massively decreased the price) of Cheap Novels in the shop.

- imposed a hard cap of 5 on the morale penalty a character can take for falling in battle without dying.

- fixed: golems could take a morale penalty from falling in battle.

- laid some groundwork for an eventual custom difficulty selection mode.

- adjusted default expressions tied to a couple of personality traits.

- fixed: you could change a spriggat's innate type via training. Spriggats can now be trained as psy users instead.

- fixed: the game would treat voluntary surrender on roguelite mode as a normal defeat and delete the player's saved game.

- fixed: the game could cause a qualifier or league match to occur on a day where other events were scheduled even after pushing the event back on the in-game calendar.

- new script action available: SetValByEvent. Create or edit an integer variable by reference to the day upon which a scheduled calendar event will occur. The game will pick the first instance on the calendar by default; set Find Last Instance to true to find the last instance of the named event on the calendar instead. Parameters: Variable Name; Operator ( = + - * / etc); Scheduled Event Name; Find Last Instance (true or false -- optional).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 26, 2023, 02:35:35 PM
For version 0.2.02:

- further increased Cheap Novel availability in the shop, and further decreased its price.

- increased the morale-boosting power of regular Novels.

- created a new Time icon.

- created a new time points system for the daylight hours. You have two points to spend, and activities can cost one or two points. You can spend the day on a single 2-point activity (e.g. going to the arena) or on a selection of two 1-point activities (e.g. shopping and training).

- new 1-point daytime activity: Labor. You can go down to the docks and hire out characters as laborers for the day in exchange for money. This will consume 20% of their remaining energy and they will return that same evening.

-the game now accounts for how far short of making payroll you fell when calculating the morale penalty for missing payroll. The minimum morale penalty is now -2 (as opposed to a shortfall of any size producing a full -10 drop).

- took Sprint out of the cavalier skill progression, as it was producing enemies that could cross the entire arena and charge down characters in one turn.

- the game now recognizes Health Left and Energy Left as stats for most stat-related script actions.

- fixed a couple of typos in camp narration/dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 27, 2023, 02:54:59 PM
- made Toss a starting skill for Stone Golems.

- new supported text sprite: Time.

- fixed: the game was grabbing the wrong date for league qualifier matches in monkey league, halting forward progression.

- fixed: the game was inappropriately failing to give stone golems the tag that reduces the cost for Shove 2, and was instead giving it to them as an invalid skill at level 2.

- fixed: Throw appeared twice in the Stone Golem promoted class skill progressions.

- fixed: Trade, Twirl, and Juxtapose worked on objects, not just characters. The game now gives you a pop-up message explaining why it didn't work if you try this.

- fixed: Trade worked on enemies, not just teammates. The game now gives you a pop-up message explaining why it didn't work if you try this.

- fixed: if a character attempted to use a self-move skill like Stick-and-Drag or Pull while subject to a Hold effect, it would leave the attacker in place while telling the game they were in the process of moving, eventually freezing the game as it waited for expected character movement to complete.

- fixed: the game would reset a character's wound level to zero upon reapplying equipment effects, and opening the character overview screen in camp would reapply equipment effects, essentially auto-restoring wounded characters to normal with no recovery or risk of death.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 27, 2023, 05:36:31 PM
For version 0.2.03:

- replaced the "reputation boost" of 10 morale with +20 accuracy.

- fixed: the game wasn't casting characters for late-night random events, resulting in the second apparition event spawning a blank character.

- fixed: it was possible to click another character and select them mid-combat animation, thereby messing up the game's tracking of who the current character was and causing the original attacker to get another action.

- fixed: the game would cease to display the effects of morale in the character screen if morale-altering equipment temporarily pushed the total value above 10 or below -10.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 28, 2023, 01:33:18 PM
- created the Snow Leopard League qualifier battle.

- thieves in the arena should now focus exclusively on opening chests and should ignore player characters.

- Gharial League matches now have a 15% chance to spawn a royal chest with rare loot.

- changed the potential earliest timing of certain events.

- the Robber Boss is now scripted to stay perfectly still until turn 7 during the Thief Attack event (unless attacked).

- the aggression on the Greedy AI profile has been lowered further.

- fixed: the Sick Parents event would freeze if a character who was raised by both their aunt and uncle was chosen for the event.

- fixed: the pyrokineticist boss of the Gharial League qualifier spawned with a blank, invalid item in their inventory.

- fixed: the Robber Boss was spawning without a weapon during the Thief Attack event.

- fixed: the game wasn't picking portraits for promoted generic units correctly.

- fixed: on lower settings, the AI would not consider lethal blows against destructible objects a viable move.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 29, 2023, 11:43:21 AM
For version 0.2.03a:

- increased the available uses for throwing axes, javelins, and throwing knives.

- doubled the chance of wrenches spawning in the shop.

- improved character vocation background dialogue a bit.

- increased the minimum energy cost to hire out from 3 to 5 so it's less of a free "print money" button.

- fixed: dialogue calling for a last name with spirits was causing the game to lock up when applied to the random-event apparition.

- fixed: when renaming a proc gen character, the proc gen character's own dialogue would have their old name baked in and left unchanged.

- fixed: swimming onto a land tile with a trap would not trigger the trap.

- fixed: when hiring out, the game was determining eligible characters inconsistently between the start of the scene and when asking if the player wanted to hire out someone else.

- fixed: hiring characters out would cause the game not to count those characters for purposes of predicting payroll until their return later in the evening.

- fixed: there was still a line on Monkey League qualifier fight were it said (incorrectly) that the kineticist was paid monthly.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 29, 2023, 06:33:17 PM
For version 0.2.04:

- the map editor can now successfully save and load battle backgrounds with maps.

- you can now assign a percentage spawn chance to all army and object groups for proc gen maps in the map editor.

- fixed: instead of having a 15% chance to spawn in Gharial League, royal chests had a 100% chance to spawn and a 15% chance to contain an item.

- fixed a null error in the map editor when loading a map with a global lighting condition as its first condition.

- fixed a range error when cycling through permitted integers using a number picker in wrap-around mode via the "previous" button.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 30, 2023, 09:41:24 AM
- added footstep sound effects to the game when going to the docks.

- boosted the heat and cold resistance modifiers from insulated armor from 15% to 25% each.

- boosted the light and shadow resistance modifiers from lead-lined armor from 15% to 25% each.

- the arena battlefields now grow slightly larger with each successive league.

- the game now saves the current map width and map height for proc gen battles, then uses those values when reloading the battle instead of using whatever the most current values are. (This will keep battlefields from getting scrambled if their dimensions shift again in future updates.)

- fixed: the arena manager was skipping his "tough break" dialogue after the player lost a league bout.

- fixed: match scheduling logic was sometimes not selecting the correct day when trying to pick the scheduled date on the calendar.

- fixed: the game was bypassing the victory screen when the player won league qualifier matches, resulting in no money being awarded.

- fixed: the game was not correctly detecting the new defeat scene after players surrendered in league matches.

- fixed: on lower AI settings, the game was actively valuing lethal blows lower than non-lethal blows (as opposed to merely not valuing them more highly).

- fixed: lead-lined armor was providing heat and cold resistance instead of light and shadow resistance.

- fixed: skills like Overheat could drop a character's energy into the negatives.

- fixed: destroying fire did not remove its environmental damage effect from the space.

- fixed: flying characters who had been Gravity-Spiked into water or lava and then swam back onto land would reemerge at the wrong elevation.

- fixed: you could shoot your own units with bowmen and crossbowmen in Psy Clash.

- fixed: looping crowd noises would continue upon returning to camp from the Festival of the Ascendant Lights.

- fixed: bonuses were providing a smaller morale boost than intended.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 01, 2023, 07:55:18 AM
- league match scheduling is now weighted; you have 50% odds of the next league match being in 3 days, 33% of it being in 4 days, and only 17% of it being in 2 days.

- fixed: the "total battles fought" variable used to determine enemy level scaling in the league fights was not being reset upon entry into Gharial League, resulting in enemies being massively overleveled.

- fixed: when using a Book of Power in camp, the user's already-open character screen was not auto-updating with the new information following the promotion.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 02, 2023, 02:57:59 PM
For version 0.2.04a:

- the game now checks for duplicate tags when generating a new skill progression for a character upon promoting or reclassing.

- new skill added to the game: Mind Domination. Same as Mind Control, essentially, only Enthralled has a base 100% chance to take effect and the skill costs 6 energy. Mentalists now learn this as part of their skill progression.

- made the Mastermind and Thoughteater advanced classes stronger; the Mastermind can now continue their turn after using Mind Control, and the Thoughteater now gets +6 damage on Mind Shock instead of +5.

- fixed: you could click on the main text box during character selection branches of dialogue and it would progress to the next branch of the tree with no character selected. If done during a one-on-one, this would cause the game to show a blank black placeholder portrait and call the character "FNAME"; or if done at the docks, would simply glitch the game out.

- fixed: the game would inappropriately send players to the Gharial League Qualifier in place of the Snow Leopard League Qualifier.

- fixed: the monetary reward for strikebreaking was being granted twice: once as a battle reward, and again in dialogue.

- fixed: some of the dialogue variants for a character asking another character out on a date were getting clipped.

- fixed: the game was displaying the wrong names for the Gharial League and Snow Leopard League qualifiers within save game slots.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 02, 2023, 07:15:37 PM
For version 0.2.05:

- created the Snow Leopard League arena map template.

- you can now progress through Snow Leopard League, all the way up to the Tiger League Qualifier.

- team leaders are now more likely to spawn with extra items in arena fights.

- experience scaling is now 15% per level of difference in both directions (as opposed to being a 15% per-level bonus when lower level and a 10% per-level penalty when higher level).

- fixed a bug in the game's battlefield generation logic that was causing counterattack-possessing objects like Spiked Barricades and Fire to cluster within two spaces of the player's deployment spots.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 03, 2023, 06:23:41 PM
- created a new arena match type: Defend the Idol. This spawns a golden statue at least 2 turns away from the enemy's spawn points and tasks the player with defending it.

- created a new arena match type: 4-on-4. This limits the player to deploying only 4 characters and pits them against 4 stronger-than-normal enemies under an accelerated timer! Extra hazards and chests are dropped around the arena as well, at least two of which are guaranteed to contain a money drop.

- shortened the number of fights it takes to progress through each league; Monkey League, Gharial League, and Snow Leopard League now each progress you to the next league's qualifier after winning four league matches (instead of five).

- you can now train accuracy at the trainer.

- dropped the damage on Charge from 1.5x strength to 1.25x strength, as it was proving a little too oppressive in arena maps.

- new skill: Mega Charge. Deals 1.5x strength and has 2x 75% chance to stun. This one is learned exclusively by cavaliers after promoting.

- fixed: traps and holds were not interrupting self-move skills (like the cavalier's Charge attack) as intended.

- swordsmen now get Hold added to their skill progressions if they promote to Swordmasters.

- buffed Mantis Knights to make them more competitive with Mant Lancers: Mantis Knights can now use another skill in the same turn after using Lance.

- the game's calendar system now distinguishes between events and reminders, and will now schedule exclusive events (like league qualifiers) on days which contain mere reminders.

- fixed a typo in the class requirements for bowmen that caused the game to only select characters with a positive psy growth for the class instead of a positive strength growth, leading to many bowmen developing very little strength.

- fixed: the trainer was inappropriately including stat modifiers granted by equipment when determining the level of certain stats for purposes of calculating training costs. (This was making strength, especially, much more expensive to train than intended.

- fixed: characters in classes that normally have two skills at level one would start off missing their second level-one skill if they had Motivate.

- fixed: characters could get activity narration forbidden by their biographical details in camp (e.g. religious characters offering prayers belonging to the wrong religion).

- fixed: the game was inappropriately treating scripts containing the SetNextScene action as if they actually contained NextScene, which caused the game to stop updating the dialogue menu, effectively freezing the game.


For the map editor:

- objective reticles may now be placed and removed using a character name (or ID[] tag) instead of just x and y coordinates.

- RemoveSpawn may now take the loadID parameter "Deployment" in proc gen maps to remove procedurally generated deployment spots.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 05, 2023, 04:11:55 PM
For version 0.2.05a:

- fixed: the game would throw a range error during recruitment if the total number of initial recruits was not neatly divisible by 6.

- fixed: in rare instances, 2D particles could cause the game to throw a null error.


Campaign creation suite improvements:

- updated the default introduction scene so it's more useful right out of the gate.

- characters created with the character creator now have an appropriate babble voice set assigned to them.

- new reply type supported, cut scene only: Next Frame. Ends the current dialogue and proceeds to the next frame of the cut scene.

- updated usable skill icons with the new Mind Domination and Mega Charge icons.

- fixed: "duplicate dialogue branch" functionality was not working correctly in the dialogue editor.

- fixed: moving a branch downward within a dialogue tree would produce a range error.

- fixed: the game would not recognize premade characters for purposes of the AddPortrait script actions if the game hadn't already saved loaded characters at least once.

- fixed: the game did not clear the New Roster  tag when hitting New Scene in the cut scene editor, resulting in an already-open scene's new roster carrying over to the new scene as well.

- fixed: typing the letter 'L' in the cut scene editor would still trigger the game's "save log" functionality.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 06, 2023, 10:32:01 AM
- increased the uses on Eye Drops, Caffeine Pills, Lead Ointment and Thermal Paste to make consumables more economical as a counter to enemy status effects.

- fixed: the game would sometimes throw a range error during character promotions.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 07, 2023, 05:30:30 PM
For version 0.2.05b:

- provided the formula for how much damage is caused by falling in the elevation tutorial.

- fixed: changes to the scripting in the last update made it so that fighting pickup matches while waiting for the Monkey League Qualifier would cause the game to reschedule the Monkey League Qualifier.

- fixed: the Protect Char condition was not working on destructible objects, resulting in the Defend the Idol loss condition never triggering.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 08, 2023, 09:14:56 AM
For version 0.2.05c:

- fixed: Defend the Idol was being chosen much too often in Monkey League.

- fixed: the game was not taking minimum distance rules into account when spawning the idol for Defend the Idol.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 08, 2023, 02:21:51 PM
For version 0.2.06:

- began creating the next main plot event.

- helms can now get modifiers as part of the procedural generation process. Modifiers currently supported include Stylish (+1 morale), Beautiful (+2 morale), Gorgeous (+4 morale), Visored (immunity to Blinded status), and Calming (+1 energy regen).

- new tag type supported: Immunity. Grants status effect immunity to the tagged unit.

- item quality in the shop now automatically increases upon getting into Snow Leopard League and upon successfully completing the Nihal's Bandits side quest.

- fixed: status effect immunity popup text was misformatted.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 11, 2023, 12:46:42 PM
Had to take a couple of days off due to illness and real-life nonsense, but now I'm back in the saddle!

- changed the way the game handles thieves in arena fights: instead of allying them with the enemy team, thieves now have ignore tags for both armies and a target value of 0. This should keep the enemy team from seeing healing or buffing thieves as a good move.

- pay for hiring out now scales more slowly with strength and caps out at 75 aura per character instead of 90.

- characters now only give a friendly fire reaction when allied skills with the element "Falling" (e.g. Kinetic Gust, Shove, Throw) deal more than 5 damage to them.

- the info bar in the top-left of the screen now auto-updates food consumption and payroll info as soon as you dismiss a character.

- updated the trainer's dialogue a bit to explain that characters undergoing paradigm training will keep their old skills and masteries, but will learn new ones exclusively in their new class going forwards.

- fixed: the special Day 1 daytime text in Kalkerapur ("The tournament begins tomorrow and you need a team. Time to go recruit some fighters!") was no longer appearing.

- fixed: the arena manager was not saying the day of the month that league matches were scheduled for due to a formatting error.

- fixed: ranged attackers could sometimes counterattack after being shoved into water or lava.

- fixed: characters could sometimes ignore orders given during one-on-ones due to leftover ForceNextCampActivity tags from previous one-on-ones or random events.

- fixed: the RemoveTag script action was not splitting up tag parameters, leading to situations where it was failing to remove specified tags (most significantly, ForceNextCampActivity tags).

- fixed: you could mess up the ordering of nighttime camp events if you happened to click the background during the 1/100th of a second delay before character dialogue appeared onscreen.

- fixed: skills, masteries, and other things learned at specific levels (such as Book of Power mastery or the Assassin's Leap skill) would get reintroduced into a character's skill progression upon promotion, leading to that character learning a duplicate of that thing upon reaching level 2 of their promoted class.

- fixed: the upper UI buttons in recruitment had become unusable when a character was selected during recruitment.

- fixed: even if slain before turn 5, the Monkey League Qualifier team leader would still issue a taunt.

- fixed: losing fights or winning league qualifiers would modify golem morale.

- fixed: characters' steps taken would be reset to 0 upon promoting mid-turn in battle.

- fixed: if the skills bar was set to a character's second page of skills and they were thrown into water or lava, the game would still display their second (now blank) page of skills upon selecting them, making it impossible to command them to swim.

- fixed: the game was not recognizing player-placed Caltrops as traps for purposes of warning the player about moving their own units into them.

- fixed: when fire was spawned in front of elevated terrain, its smoke particles would aggressively clip through the terrain.

- fixed a formatting error in the character dialogue responding to a player's decision not to reclass a character in camp.

- fixed: the logger was not saving the version number in log files.

- new script action supported: AddStock. Programmatically adds stock to an existing shop in the scene. Lasts until the scene ends.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 13, 2023, 01:18:08 PM
- throwing a character onto a space occupied by an object with "flying" passability now produces a context-dependent effect: if the character is an ally, they are thrown on top of the object as normal; but if the character is not an ally, they will now be thrown into the object instead for collision damage (and--if the object is spiked--further spike damage as well).

- new skill: Grappler Stance. Places a hold on one adjacent space, keeping enemies from moving away (or through) it. This skill is learned by axefighters.

- skills which creates Holds can now be targeted on space occupied by other characters.

- fixed: the cavalier and mantis knight sprite animations for Mega Charge were wrapping up about 4 frames too early.

- fixed: Golem and Spirits could be selected for the Sick Parent event in camp.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 14, 2023, 10:04:30 AM
- finished the fourth major main plot event, which now occurs the day after the Festival of the Ascendant Lights. (If you have a playthrough where a match is already scheduled for that day, you won't be able to trigger it--but the game will avoid scheduling fights on that day on subsequent playthroughs.)

- toned down Dazzle: it now applies Blinded only once with a base 100% chance (removing the additional 50% chance to apply it a second time) with a 50% chance to apply Distracted once (instead of one to three times).

- new accessory worn on the head: Bifocals. +10% Accuracy, can be equipped by anyone.

- added bifocals and torches to the shop's pool of "miscellaneous" items; reduced the odds of runner's cleats showing up in stock to 5%.

- new AI tag: AreaPreference. Alters the AI's calculated value for moves in which the tagged character ends their move in the named Area. You can use to nudge particular AI characters toward choosing moves that place them in specific areas of the battlefield; or alternatively, to dissuade them from pursuing moves in certain areas.

- boosted the amplitude of the song "Conspiracy" to better match the amplitude levels on other tracks.

- fixed: the character creator could roll up generic units with morale above zero (i.e. neutral).

- fixed: when enemies applied status effects under fog of war, the game would not load the status effect icon at all. This would then cause a range error when the affected enemies then came into view and the game tried to display the nonexistent-but-expected status effect icon.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 15, 2023, 01:19:55 PM
- rewrote religious attack, deployment, and victory barks to bring them more in line with the particular doctrines of each given character's religion.

- the map editor now supports loading and saving a discrete defeatScene attribute for battles, allowing you to easily set a next scene dependent on the player's defeat without using conditions.

- new script action: SetDefeatScene. Sets the defeatScene attribute to a different scene for the current battle.

- fixed: surrendering in the Monkey League Qualifier would not send the player back to the qualifier scheduling scene as intended.

- fixed: characters ending a battle while swimming would have their movement type appear as swimming during deployment for the next battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 17, 2023, 03:17:04 PM
For version 0.2.07:

- added custom difficulty to the difficulty selection! You can now create a new run with custom AI difficulty, death rules, item prices, food prices, salary bases, training costs, and starting aura, as well as the option to turn off weapon durability.

- boosted training costs by 10% for brutal difficulty (applies to new runs only).

- broke up the arena manager's dialogue in the Qualifier Scheduling scene upon losing the Monkey League Qualifier into two branches, making it easier to see that the qualifier won't be rescheduled until the player goes back and wins another non-league match.

- updated in-game documentation to more clearly explain what each level of the AIHandicap script action does.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 19, 2023, 09:31:59 PM
- fixed a typo in the tooltip for Relaxed difficulty on the difficulty selection screen.

- fixed an error in the way the game checked for level-specific skills in the progression which could cause a freeze upon promoting bowmen.

- fixed a typo in the animated calendar for days 21, 22, and 23 of each month.

- fixed: cross-fading music during promotions was not behaving as intended, leaving two tracks playing simultaneously.

- fixed: cross-fading music was causing the new track to play too quietly.

- fixed: faded-out music could unexpectedly start playing again during scene transitions.

- fixed: the game was reconnecting and spawning a brand-new instance of the Steamworks manager class every time the player returned to the title screen.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 24, 2023, 09:12:48 AM
For version 0.2.08:

- when a camp activity affects more than one social stat (familiarity, friendship, or romance) at once, the game now staggers the pop-ups a bit to make everything easier to see.

- fixed: level-ups and promotions produced by items used via a character screen from within reserve supplies menu would not "stick."

- fixed: the game wasn't accounting for the dodge bonus granted by tall grass when displaying attack accuracy upon mousing over an attack tile.

- fixed: the AI wasn't accounting for the dodge bonus granted by tall grass when weighing different attack options.

- fixed: it was possible to stall until after the Festival of the Ascendant Lights to trigger the surprise camp visitation plot event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 25, 2023, 11:41:08 PM
After hours spent in AI programming hell, I emerge with some nice improvements!

- the AI now actively avoids wandering through non-player-created fire and traps when making "long range" moves (i.e. moves that won't bring it into range to immediately use a skill on anyone).

- AI-controlled characters who walk into pressure triggers and traps that do not freeze or stun them will now continue their turns afterwards if able.

- fixed: players with OSes set to countries that habitually use a comma to denote a decimal point would have their machine parse certain numbers incorrectly (which I suspect was responsible for messing up the timing of certain actions in combat for European players).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 26, 2023, 11:36:48 AM
- downloading player-made campaigns is now working!

- reduced the weighting that the AI gives to ally-buffing moves by 80%.

- fixed: the AI was not evaluating energy-draining skills correctly, checking the energy lost against total health instead of energy.

- fixed: the AI was treating energy-draining skills as effective against inanimate objects.

- increased the energy cost of Fury and Stimulate from 5 to 6 and reduced the duration of Strengthened and Lucid from 4 rounds to 3.

- in the shop, reduced the spawn chance of Runner's Cleats to 4% and Binoculars to 8%.

- new advanced spriggat skills: Fire Breath 3, Frost Breath 3, Dark Breath 3, and Light Breath 3. These all deal damage in a cone pattern.

Dark Breath 3.png Fire Breath 3.png Frost Breath 3.png Light Breath 3.png

- spriggats now learn their third tier breath attack if they promote to greater spriggats, or else learn the multi-target hit-and-run melee skill Claws if they promote to an elemental claw class.

- wrote two new personality-conflict argument variants for religious and empirical characters.

- personality-conflict variants between two characters in the argument event now always trump other arguments.

- fixed: the mentalist headband portrait accessory was misaligned on one of the male human head variants.

- new script action: PairToList. Winnows down an existing list of characters to two who meet distinct, specified sets of attribute requirements, then send their names to a new list.

- fixed: the PICKFROMLIST{} special character would never pick the last entry in the list.

- uploaded a short example campaign to Steam Workshop demonstrating how to make use of the Together in Battle engine's more unique features (like recruitment, the calendar, and camp interactions).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 29, 2023, 06:43:39 PM
- reduced the amount that Strength contributes to a spriggat's salary by about 33%.

- doubled the psy buff for promoting to a greater spriggat, and doubled the strength buff for promoting to an elemental claw class to make these classes stronger and help differentiate them.

- increased the floor (i.e. lowest allowable value) for starting energy on spirits and the major psy classes to 12.

- increased the energy cost of Light Bomb to 20.

- fixed a range error produced when enemies applied a status effect under fog of war and were then revealed (manifesting primarily as fog tiles no longer being removed).

- fixed: cosmetic bridge connections spawning below ground level on solid terrain could override the space's ordinary elevation with a lower one.

- fixed: in situations where the AI evaluated potential knockback moves that would collide the target against a damaging object (e.g. a spiked barricade), the game would actually queue up the object's counterattack.

- fixed: the CombineLists script action did not work properly when combining more than two lists at once.

- scripting improvement: you can now specify the name of a list for purposes of LASTINLIST[] special character using a custom string variable.

- scripting improvement: you can now use a custom integer value within an ID[] special character.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 30, 2023, 08:22:03 AM
- re-scripted the argument event so the game will always choose characters with clashing personality traits to participate if available. (This will cause unique arguments tailored to each character's personality to show up much more often.)

- fixed: the game's "check ahead for conversation-ending script actions within called scripts" functionality was not interacting correctly with conditional Run-type actions (e.g. IfValRun, IfStringRun, etc.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 01, 2023, 08:24:43 PM
For version 0.2.09:

- when a weapon breaks, instead of completely disappearing and leaving the equipped character with no usable attack skills, it now transforms into a "broken" version of itself with no stat bonuses, tags, or scripts; no resale value; and a -4 Strength penalty. (The character can still use it to attack, though!)

- new item: Repair Kit. A consumable item that restores 20 uses to the user's current equipped weapon up to the weapon's ordinary maximum number of uses. Does not work on broken weapons.

- the shop now has a 60% chance of carrying a single repair kit on any given visit, while the traveling merchant has a 100% chance of carrying 2 or 3 of them.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 02, 2023, 12:03:19 PM
- weapon breakage rules now differ between difficulties: Brutal retains the old "broken weapons vanish" rule, but lower difficulties adopt the new "broken weapons reform as a weakened version of themselves" rule. (Note that the new "reform broken weapons" rule is now the default; you will have to start a new Brutal run to get the old rule to apply.)

- weapon breakage rules are now settable as part of custom difficulty.

- it took refactoring of some code, but I further improved the AI's anti-trap checks to avoid enemies wandering into fire in a wider variety of situations.

- the AI now inherently values any move that results in a character moving off of a damage-dealing space, even if the move provides no other benefit. (Previously, the only mechanism for this was triggered by the game detecting a character submerged in water or lava.)

- reworded "save scumming" to "manual saving" during the introduction scene. (Apparently there were players who interpreted the phrase as some kind of personal insult, which was definitely not the intention!)

- new script action: WeaponBreakageRules. Changes the rules governing weapon breakage game-wide. If Rule Type is set to Destroy, broken weapons will disappear; if Rule Type is set to Reform, broken weapons will remain but will lose all stat benefits, status effects, tags, etc., will have a sell value of 0, and will impose Strength -4, but will allow the character to keep using weapon-dependent skills.

- fixed: clicking on an Immobilized character would not show the character's attack range.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 04, 2023, 06:35:56 PM
- fixed: a typo in the classes file was causing the game to skip promotions (among other possible issues).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 05, 2023, 08:53:35 AM
- the save grandpa, strikebreaking, and second and third merchant event battles now all scale in difficulty with time passed so they still present an appropriate challenge if they happen later in the run.

- fixed: Shield skills that didn't affect health or impart a status effect wouldn't grant experience unless the target was missing health.

- fixed: OnTurn and BeforeTurn dialogue had stopped being repeatable.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 12, 2023, 07:39:54 PM
For version 0.2.10:

- wrote the Chital 3 event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 13, 2023, 08:55:53 PM
- wrote the Chital 4 event.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 14, 2023, 01:35:56 PM
- new event: Nightmare.

- new event: Late Night Idea.

- added a new argument type that can occur with Sensitive characters.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 15, 2023, 04:46:45 PM
- began writing a new random event: Treasure Hunt.

- added weapon repair kits to the item sale random event.

- when Damage or Drain is affected by a SetStat action in a cut scene, the game now automatically looks for the character's portrait and--if it finds it--animates the character's health/energy bar.

- when the GiveExp action is used in a cut scene, the game now automatically looks for the character's portrait and--if it finds it--animates the character's experience bar.

- fixed chital portrait scaling.

- fixed a scripting error that was preventing characters from getting speech bubbles and babble during chital events.

- fixed: in some circumstances, the game would remove script actions queued after a Wait action in dialogue initiated via a LoadConv action.

- fixed: it was still possible to accidentally skip nighttime camp events by clicking the background at the exact wrong moment.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 19, 2023, 03:20:15 PM
- fixed for 0.2.09a: a change to the AI in the last patch resulted in the AI triggering a null error when trying to swim out of water.

- fixed for 0.2.09a: if you reclassed a lissit to any of the main psy-user classes, it would change their character sprite to a human's and mess up their portrait.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 21, 2023, 07:08:18 PM
- fixed: the game would spawn units with zero (or negative) health during the thief attack battle as if they were able to fight.

- fixed: custom difficulty dialogue still referred to manual saving as "save scum mode."
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 22, 2023, 03:47:25 PM
- created a battle to cap off the treasure map event.

- characters now lose the ability to use books of power upon promoting, preventing the player from wasting them.

- new script action: ConsumeFood. Automatically reduces current food by the current roster of characters's collective appetite without initiating camp activities. Food will not go below zero, nor will a hunger event be automatically triggered.

- campfire objects now lay flat.

- fixed: smoke from non-flat-lying objects (such as braziers and stoves) was no longer emitting at the correct angle.

- fixed: characters who were ordered to do something via a one-on-one could nonetheless be dragged into another character's partnered activity, precluding them from doing the thing they were ordered to do.

- fixed: I accidentally left the chance of small talk set to 100% after testing, thereby preventing most post-greeting character dialogue from spawning.

- fixed: the tooltip for the "view calendar" button in town had a typo.

- fixed: a LoadConv call to dialogue that either does not exist or which had been removed due to being already used and non-repeatable would lock up the game. The game now simply ends the current dialogue when this happens.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 23, 2023, 11:04:05 AM
- designed the Tiger League Qualifier battle.

- when removing a character from the active roster by reference to their name or loadID, the game now automatically checks for duplicates and removes those as well if found. (For reasons not yet discovered, duplicates can sneak onto the roster; before this fix, they could cause characters to stick around even after being removed from the roster.)

- fixed: the last-used windowed/fullscreen setting was not being saved as part of game settings.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 24, 2023, 11:05:20 AM
- created the procedural generation rules for Tiger League matches.

- the arena plotline is now playable all the way through to right before the championship match.

- enemy levels in arena fights now scale up 17% slower than before.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 25, 2023, 07:50:50 PM
- fixed: a change to the AI in the last patch resulted in the AI freezing when, in large battles (>8 characters in the enemy army), the first character to move wandered into a trap or other pressure trigger.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 27, 2023, 07:21:26 PM
- finished balancing the treasure map battle and added a little extra scripting.

- added new music track to the game: Drawing Blades.

- integrated a new version of the Festival of the Ascendant Lights track into the game featuring a traditional Indian vocalist.

- Dacoit Cutters and Dacoit Slashers now gain a melee counterattack upon reaching level 5.

- being defeated in any of the battles where thieves or bandits try to rob the player now results in the player losing half their aura.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 28, 2023, 08:08:57 PM
- fixed: the game was missing data for straight street edge tiles where the street was elevated above surrounding terrain.

- fixed: the game wasn't replacing script IDs with the names of unique characters in script actions within battle when the relevant characters were not already saved from a previous scene.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 29, 2023, 03:26:15 PM
Fixed some formatting issues with the new battles. Also:

- expanded the pool of possible enemy team names in the arena.

- sentinels, pikemen, and swordmasters are now more likely to be generated with more armor and/or shields.

- when proc gen maps are created with multiple hazard terrain types, the game will now select a hazard terrain type at random from those listed.

- fixed: the AI treated Levitating characters as if they had an ordinary, permanent move type of Flying for purposes of determining which spaces were safe to move them to (which could lead to situations like the AI moving Levitating characters over lava or chasms only for them to drop in at the start of the next turn).

- fixed: automatic inventory generation for generic proc gen enemies placed via the map editor was not working.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on June 30, 2023, 12:43:08 PM
- the calendar screen has been improved! There are now buttons to flip back to previous months and review the events that occurred; name of the current displayed month is now always visible at the top of the calendar screen.

- wrote alternate dialogue for recruitment attempts during the Monkey League Qualifier battle made by golems or spirits.

- wrote new dismissal response monologue variants for characters with the Arrogant personality trait.

- dismissing a character no longer reduces morale for other characters who have a negative friendship value with the dismissed unit.

- there is now a 1-in-3 chance that a high-level engineer will learn Place Snare Trap (the other 2 possibilities are either +1 range to Place Caltrops or learning a Wrench counterattack).

- buffed the Architect and Demolitionist classes (i.e. the Engineer prestige classes) so they each get more skills that let them continue using other skills afterwards. For the Architect, it's Build Wooden Barricade and Build Spiked Barricade; for the Demolitionist, it's Place Charges.

- added a new optional boolean parameter to the LevelUpArmy script action: Affect Reinforcements. If set to true, the level-up effect will be applied prospectively to characters of the chosen army who haven't spawned yet.

- used the new capability of LevelUpArmy to scale battles with enemy reinforcements.

- new class attribute: defaultWeaponSkills. Used to tell the game it should grant a Strength bonus and (a) natural weapon skill(s) to generic units of the class if they are created without an equipped weapon.

- generic Blackguards and promoted cavaliers without equipped weapons are now generated with natural access to Throw Knife and Halberd, respectively.

- fixed: the game wasn't compensating for promoted generic characters in a weapon-dependent class generated without an equipped weapon by boosting strength or granting their default weapon skill.

- fixed: when a character without a specific counterattack gained 1 or greater Counter Limit, the game could select a skill which did no damage but did impose a status effect (e.g. Throw Voice) as the character's counterattack.

-fixed: if you hired out everyone on your team and then returned to the docks for a second time in the same day, the game would effectively lock up.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 01, 2023, 02:05:54 PM
- when a character receives a letter from a sibling, mother, or father, the game now remembers this--it then becomes possible to get an event where that character gets visited by the family member who wrote to them.

- finished writing the first sibling visit event with variants based on the kind of relationship the characters have and the player's choices.

- increased the chance of a talk event producing small talk to 25% from 10%.

- the LevelUp script action now works in cut scenes.

- new camp activity: Fury.

- the "AngryAt" mood now makes Fury one of the permitted camp activities.

- new stat supported in GetValByStat: True Level. Returns the character's current level combined with any hidden, pre-promotion levels.

- added documentation for read-only stats True Level, Health Left, and Energy Left to the in-game reference.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 02, 2023, 12:18:41 PM
- finished implementing the GenerateUniqueFromNPC action in cut scenes.

- when a character is created via the GenerateUniqueFromNPC action, both they and the originating character now start with a mutual 20 familiarity, ensuring they won't engage in any basic "getting to know you" dialogue in camp.

- characters created via the GenerateUniqueFromNPC action who are related to the originating character by blood now inherit their own relevant NPCs and bio details from the originating character.

- the game can now automatically determine the reciprocal relationship term an NPC might use for a character related by blood.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 05, 2023, 02:16:12 PM
- fixed some scripting errors in a couple of events.

- new event: Ishita Svaamee makes a second visit to the player's camp with a buyout offer. This second Ishita event is added to the list of possible events upon beating Snow Leopard League Qualifier.

- created another new event that occurs the morning of the championship fight (and that is all I am going to say about it here!)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 07, 2023, 01:44:15 PM
- fixed for 0.2.10a: the game was spawning Heroes in recruitment.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 08, 2023, 12:59:34 PM
- fixed for 0.2.10b: the variable tracking the day of the championship bout was not being set at the start of the game, causing the day-of-championship event to trigger on day 0 when starting a new game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 11, 2023, 02:18:03 PM
- fixed for 0.2.10c: losing a league match in Snow Leopard or Tiger Leagues could result in the game getting stuck in the Arena scene.

- fixed for 0.2.10c: repair kits (or any other item that alters the properties of character equipment) would be permanently stripped of their ability to alter other items upon transitioning scenes if kept in the reserve supplies.

- fixed for 0.2.10c: classes with multiple species-based sprite overrides were not registering sprite overrides for all species.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 16, 2023, 11:45:48 AM
- fixed for 0.2.10d: a scripting error in the letter event could result in the game throwing a range error.

- fixed for 0.2.10d: the sidestab and backstab bonus from gap-seeking weapons was only being applied to base weapon skills, not to advanced skills for that weapon.

- fixed for 0.2.10d: the AI could reapply Immobilized status to characters subject to a Hold multiple times when calculating moves.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 16, 2023, 11:35:16 PM
For version 0.2.11:

- began writing a new random event where you can help out an elderly shadowling lady.

- the game now checks ahead for the correct number of parameters when running IfStat-type actions.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 18, 2023, 09:41:27 PM
- new script action: RestartBattle. Forces the current battle to restart, even if the player is playing on roguelike mode.

- new AI handicap level: 11. The AI will actively avoid using lethal attacks, preferring attacks that don't finish off enemies.

- Relaxed difficulty now sets the AI handicap to 11. Added an option to get an AI handicap of 11 in custom difficulty under the moniker "Lobotomized."

- fixed: the AI was reversing the value of healing moves used on enemies without first checking to make sure that the move already assessed as having a positive value. Under some circumstances, this could cause the AI to heal the player's characters.

- fixed: a couple of AI routines were set to be excluded at the wrong AI Handicap level.

- fixed: changes to the level-up screen code were causing the game to throw a couple of null errors when characters promoted via a Book of Power.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 19, 2023, 11:32:25 AM
- wrote new plot event dialogue.

- new optional parameter for the SetStringByString script action: Strip Capitalization. By default, this parameter is false; if set to true, the resulting string will be in all lowercase letters for easier parsing (e.g. for checking passwords and player-created names and such).

- fixed: in some cut scenes, it was possible to click the background in the split second between the report screen vanishing and the dialogue menu reappearing and thereby inappropriately advance the scene.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 20, 2023, 09:32:13 AM
- added items to the chest in the Strikebreaking map.

- fixed: pushing an enemy with reflexes into a spiked object would cause the enemy to turn and face the object. (Even worse: if the enemy had counterattacks left, they would counterattack while their back remained turned to the attacker!)

- fixed: the game was double-counting status effects that impact accuracy when displaying the accuracy of skills in tooltips.

- fixed: the game could display accuracies below 100% for mental attacks and shield skills in tooltips.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 25, 2023, 10:27:59 PM
- new random event added to the game: Card Swindler.

- the game now supports group projects (i.e. projects that aren't tied to just one character) and camp activities tied to progress on those group projects.

- it now takes two or more consecutive nights of no cleaning for morale to start dropping from having a messy camp.

- fixed a typo in one of the introvert "like" dialogue variants.

- fixed:  the AI was double-counting the back cover bonus for non-Shield skills, leading to it greatly over-preferring moves that put characters' backs up against things (especially the edge of the battlefield).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on July 26, 2023, 09:39:14 AM
- commissioned and received two new cut scene backgrounds, added them to the game.

- integrated the new backgrounds into the relevant cut scene.

- energy regen visuals no longer appear for units under fog of war.

- particle effects no longer appear when units are destroyed under fog of war.

- particle effects no longer accompany units newly spawned under fog of war.

- fixed: item sacks dropping on a space covered by fog of war were visible to the player.

- fixed: attack animations for characters under fog of war would sometimes play upon the character's tile being revealed.

- fixed: the fruit tree in the thief attack battle contained no fruit.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 05, 2023, 11:34:01 AM
I had a lot less time to work this month than expected due to the day job being unexpectedly busy, putting my home on the market (also unexpectedly), and then falling ill this past week (also also unexpectedly). Still, I put aside time today to get things done!

- I took a crack at painting new human nose types, 12, 13, and 14.

- added new data for the new noses to human portraits; human characters can now be generated with these nose types.

- refactored a bit of the proc gen character portrait generation code to make it easier to add in new facial feature variants over time.

- commissioned and received one new cut scene background, the Palace_Dese_Mentarium. Added it to the game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 06, 2023, 10:10:48 PM
- wrote the Parent Visit random event.

- proc gen character nicknames for their parents now subtly differ depending on the kind of relationship they have: "Mom" or "Dad" if they have a positive relationship, "Mother" or "Father" if they do not.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 07, 2023, 09:55:09 AM
- fixed: minimum recruitment is no longer displayed in the recruitment scene when the player already has a roster larger than the minimum recruitment number.

- fixed inconsistent grammatical phrasing for dialogue where characters talk about liking cookies.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 08, 2023, 05:12:24 PM
- painted noses 15, 16, and 17, added data for them, made it so they can be chosen for human portraits.

- painted chin hair 9, added data for it, made it so it can be chosen for male human portraits.

- painted bird wing hair clip, added data for it, made it so it can be chosen for female human portraits.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 10, 2023, 08:44:56 AM
- there is now a deck viewer screen you can use to see the composition of your Psy Clash deck.

- new unique battle condition added to Snow Leopard and Tiger leagues wherein a surprising combatant shows up on the field...

- new mood supported: WorriedAbout. Allows a character to feel worried about a specific other character.

- the OnTalk dialogue trigger is now more robust! The game now allows custom variables in the trigger parameters, permitting the use of specific named characters based on prior events.

- when changing a character's army in battle, or when altering their salary or appetite, if the info bar is open, it now auto-updates salary and food consumption figures to reflect the changes.

- fixed: when calling the script action UnitsToList in battle during deployment, the game would not check undeployed characters in the roster for the specified army.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 11, 2023, 12:34:21 PM
- fixed: proc gen characters forced into a promoted class because they were generated at or above level 20 were not having their displayed level reduced appropriately.

- fixed: the Talkable status effect could "run out" after 9,999 turns and had a displayed duration within character screens.

- fixed: the game would say "Talkable wore off" when removing the Talkable icon from characters.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 17, 2023, 03:45:59 PM
For version 0.3.0:

- began creating the championship arena fight.

- when characters hit promotion level via the LevelUp and LevelUpArmy script actions, the game will now quietly auto-promote them to an advanced class consistent with their base class (if one exists).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 18, 2023, 05:18:57 PM
- did some more balancing on the championship arena fight.

- scripted in-battle dialogue for the championship fight.

- AI improvement: the game no longer values the Move Bonus status effect positively for characters who are Immobilized or tagged as Immobile.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 21, 2023, 12:46:25 PM
- created a background panel for the buttons at the top of the screen in the recruitment interface so it's easier to see them all. Added the new background to the recruitment interface, repositioned the buttons so the background wouldn't conflict with the character selection frames, and altered the recruitment tutorial to reflect the new positioning of everything.

- the game's handling of AddCondition/Global Lighting during battle is now much better; it now transitions to the new global lighting over a few seconds instead of immediately applying the new lighting setup.

- fixed a typo in a victory bark variant for characters with the "disciplined" personality trait.

- fixed: when multiple dialogue trees were queued up at once, the game was not triggering them in succession due to a mistake in the dialogue formatting process assigning all dialogue the same convID.

- fixed: a file with crucial scripts for in-game traps and space-swapping skills had accidentally been overwritten, causing the above-mentioned skills to no longer work correctly.

- fixed: auto-promotion via LevelUp was causing *every* character to auto-promote if within a campaign whose Classes.xml file didn't use the reqLvl attribute (e.g. Telepath Tactics Liberated).

- fixed: if a character's Speed was chosen to increase upon level-up it would increase by 5, not 1.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 22, 2023, 04:10:12 PM
- created a short cut scene intro to the arena championship battle hyping it up some more.

- fixed some scripting in dialogue with Ishita Svaamee.

- added some new branches to pre-championship dialogue with her.

- if it doesn't find a loadID match first, the SpawnUnit script action now checks characters from prior scenes by name.

- fixed: the cut scene editor would remember the last cut scene you loaded and load its data when creating a new cut scene, resulting in the previous cut scene's narration, background, and other data showing up by default.

- fixed: the game would sometimes trigger traps for AI units where it calculated a move onto the trap as the best move even as it refused to actually move the character, resulting in the unit mysteriously suffering the trap's effects even as it stood totally still.

- fixed: with particularly long character movement ending in a trap, the AI could outpace itself and queue up an attack before the game was ready to launch it.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 27, 2023, 09:39:18 PM
Created an updated free demo of the game!

Did some marketing work prepping for Steam Strategy Fest next week.

Emailed with Ryan Richko about a unique battle track for the arena championship.

Did a bit of biz dev stuff seeking out funding and marketing support.

Received rough drafts on some new character portraits; generated portrait data for them, tested them, provided feedback.

- fixed: species-based sprite overrides didn't work for classes with only a single species-based sprite override.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 28, 2023, 12:03:16 PM
- received new character portraits, integrated them into the game: Sita, Dusht, Malatose.

- added new dialogue options to the Dusht random event.

- increased minimum impact damage in combat from 5 to 6.

- buffed a few Psy Clash cards: Smuggler (now has 1 power instead of 0), Iron Jaw Trap (now costs 0 energy instead of 1), and Focus (now gives +1 card draw in addition to +1 energy).

- Psy Clash AI improvement: when choosing a minion to target with cards or direct damage from bowmen or crossbowmen, the AI will now assess the target minions available and choose based on its assessment of who would be best to target instead of just choosing a target randomly.

- Psy Clash AI improvement: opponents will no longer play Fury on minions who cannot attack.

- fixed: in Psy Clash, the game could sometimes choose an empty lane that a minion had moved from when attempting to update that minion's changed health or power.

- new sound effect: Card Shuffle. Now plays during Psy Clash when a player's deck is shuffled.

- the game now keeps track of how many seconds it's been running across all play sessions.

- fixed: the game would not allow characters to push or pull item sacks off of other destructible objects due to item sacks always being treated as last for attack priority on a space. When an item sack is on top of another object that is not pushable or pullable, knockback now affects the position of the item sack instead of the object it's resting on.

- fixed: the DamageUnitAt script action had slightly different damage ordering priority rules than a regular attack.

- fixed: Crush Res. was not being applied to mitigate impact damage from units being smashed into each other (or objects, or the edges of the map).

- fixed: Falling Res. was not being applied to mitigate Falling damage, which resulted in item sacks inappropriately taking damage when falling from heights.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 29, 2023, 05:05:44 PM
- reduced per-battle winnings for league arena fights (especially the later leagues) to help keep resource management a meaningful concern.

- painted flower-petal particles.

- began working on the cut scene following the championship battle.

- new 2D particle effects supported: FlowerBurstRed and FlowerBurstGold.

- new weather types supported: PetalsRed and PetalsGold. These shower the scene in flower petals (red or yellowish orange).

- fixed: league 4 battles were all being generated with snow-based names.

- fixed as hotfix 0.2.11d: when auto-promoting generic proc gen units, the game could throw a null error trying to update their non-existent character dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 30, 2023, 06:10:47 PM
- toned down the level scaling for team leaders within arena leagues so you aren't regularly facing promoted enemies in the earlier leagues.

- created 3D meshes for the flower petals, made the particles in battle actual 3D objects.

- fixed: weather effects were not displaying with the same density in the map editor as in battle due to different emitter shape settings.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on August 31, 2023, 11:30:20 AM
- new weather types supported: LeavesGreen and LeavesBrown. Causes 3D leaves (green or brown) to gradually flutter down from the top of the screen. Battle-only for now.

- added falling leaves to the Treasure Thicket map.

- the Fireflies weather type is now finally supported in battle! Causes fireflies to appear, flit about the battlefield seemingly at random, and disappear a few seconds later.

- added falling leaves to the Treasure Thicket map.

- added fireflies to the Thief Attack map.

- when changing between weather types using the same particle (e.g. Rain to Heavy Rain or Snow to Blizzard) there is no longer a delay before the change takes effect.

- fixed visual issue with snow and ash particles being stretched horizontally.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 01, 2023, 04:13:13 PM
- added to Ishita Svaamee's pre-championship dialogue.

- improved the AI's ability to intelligently target skills with buffs and debuffs to Strength and Psy.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 03, 2023, 09:20:41 AM
- added a fallback for those rare occasions where the actions bar fails to reappear after a round of combat: clicking to select a character who can still move or act now forces the actions bar to show back up.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 08, 2023, 06:13:25 PM
- laid some groundwork for future, non-Steam versions of the game.

- finished the post-championship cut scene for if the player is victorious.

- fixed: upon going to the campaign editor and then returning to the title screen without the title music changing, the music would abruptly stop.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 09, 2023, 10:54:29 AM
- adapted the Pierce visual effect to create a dedicated visual effect for spike traps.

Spike Trap.gif

- added the SpikeTrap visual effect to the game, tied to the triggering of spike traps.

- created a unique rapier, Jvalaa, for the sword dancer on the champion team.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 11, 2023, 02:47:21 PM
Spent a good bit of time this weekend giving feedback to composer Ryan Richko and getting the new boss battle track Contest of Blood ready for the next update!

- finished the post-championship cut scene for if the player lost the championship fight.

- added a system for queuing up a specific evening event in camp based upon events in battle earlier in the day.

- fixed an inconsistency with the way that IfValGoTo and IfValRun treated custom integer values that had not yet been set. Both now treat custom values that have not been set as equal to 0. (Previously, only IfValRun did this).

- fixed: forgot to revert a change made for testing which was causing characters to say heal barks 100% of the time instead of 25% of the time.

- fixed: forgot to revert a change made for testing which was causing the game to throw null errors upon right-clicking destructible objects.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 12, 2023, 06:08:44 PM
Pushed version 0.3.0!

For version 0.3.01:

- fixed: when fully zoomed out in the Thief Attack map, the edges of the background became visible.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 14, 2023, 05:20:54 PM
- incorporated a new music track into the game: Incredible Danger.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 15, 2023, 03:45:09 PM
- fixed: one-shot sound effects (most notably the battle victory fanfare) were abruptly cutting off upon transitioning to a new scene. The game now gracefully fades them out instead.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 17, 2023, 06:44:05 PM
- began laying the groundwork for game localization, creating an XML listing all UI elements containing English text on the title screen.

- began listing all UI elements containing English text in battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 18, 2023, 11:26:48 PM
- the game now auto-detects the user's installed system language (or, if they connect to Steam, their chosen Steam language) for localization purposes.

- the player's language is now saved along with all other game settings.

- reduced the number of personality traits characters are generated with from 2 to 1 to avoid tonal dissonance in character lines and reduce overlapping traits on larger teams. (Plus, having 2 personality traits per character wasn't increasing depth of characterization as much as I'd hoped.)

- worked on the localization file some more; added in pronouns, direct addresses for family members, and the bits and pieces used to assemble proc gen map names.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 19, 2023, 08:31:46 PM
- got the localization system up and running, importing the localization XML file and auto-populating menu text based on entries in the XML matching the user's current language.

- got all of the title screen UI working with localization: the main menu, the two new game menus, the load game menu, the settings menu, and the download campaigns menu with search options submenu.

- fixed: user scores for downloadable campaigns were incorrectly scaled, leading to them appearing at 1/5th the value they should have.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 22, 2023, 09:35:47 AM
- set up a bunch of UI in battle for localization: main menu, deployment menu, unit tooltips, the actions bar, new turn box, save game menu, all of the pop-up warnings, victory/defeat screen, and console.

- new random event: Golem Attack.

- refactored the code the game uses to pick activity partners during free rein in camp; characters are now more likely to select existing friends or lovers as activity partners. (Before, they had an equal likelihood of selecting any other character regardless of relationship.)

- wrote new dialogue variants for character reactions to winning the championship based upon personality.

- fixed: the report screen was not hiding the dialogue menu as intended when the ShowReport script action was used in battle.

- fixed: clicking units in the deployment menu was not making a sound.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 23, 2023, 07:57:28 PM
- set up premade (i.e. not proc gen) items for localization.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 24, 2023, 08:37:56 AM
- set up morale level descriptions for localization.

- set up skills for localization.

- set up about two dozen types on in-battle pop-up messages for localization.

- set up counterattacks for localization.

- set up the character screen, level-up screen, dialogue menu, cut scene main menu, and cut scene narration box for localization.

- fixed the level-up description for a skill gaining a new status effect.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 25, 2023, 01:58:29 PM
- set up status effects for localization.

- set up procedurally generated battle names for localization.

- fixed: Immobilized characters were able to use Move skills (like Leap or Swim).

- fixed: a range error could occur when the game selected no special condition for an arena map.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 26, 2023, 11:57:15 PM
- set up the in-game calendar, info bar, and promotion screen for localization.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 27, 2023, 03:55:50 PM
- created a tutorial pop-up a week before the first payday which assesses the player's financial position and offers guidance based on how far off from making payroll they are. (Players with payroll costs greater than 3000 aura will be warned that their team is expensive for this point in the game, and will be notified that they might want to dismiss a character to stabilize their finances.)

- added "click to continue" text to the camp activity narration interface.

- fixed: frame alignment on the Sword animation for Swordmasters and Blade Dancers was erratic.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 28, 2023, 07:03:03 PM
- began work on proc gen item localization. Proc gen item materials (e.g. leather, bronze, iron) now support localization.

- set up item tooltip text for localization.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 29, 2023, 09:01:28 PM
- proc gen item attributes are now moddable!

- proc gen item attributes now support localization.

- reduced the base levels of enemies in the arena leagues a bit.

- reduced base character salaries in Challenging and Brutal difficulties.

- the league qualifier matches now give more money.

- gatherings now increase group morale by 3, a 50% bump in efficacy.

- failure to clean camp on a night when it's clean no longer guarantees that the camp will become dirty--there is now a 1-in-2 chance that everyone will have simply picked up after themselves, leaving the camp clean regardless.

- fixed: self-focus skills (such as Soul Suck and Transfer) were inappropriately affecting maximum energy, not just current energy. This was caused by changes in the code allowing for rollover damage from sending a character into negative energy.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on September 30, 2023, 12:58:26 PM
- new daytime option in Kalkerapur: Infirmary! This lets you spend a time unit (and some money) to drop characters off at the infirmary, where they will receive treatment for their wounds. This will accelerate recovery times and--if playing on Challenging difficulty--guarantee a successful recovery for characters who are at risk of dying.

- the arena championship match now gives much more money.

- it is now cheaper to train a character's Health and Energy.

- wrote a few new Heal combat bark variations.

- added a few new attributes for proc gen equipment.

- fixed: the player's team name was not appearing in the new turn box for the Treasure Thicket battle.

- fixed: the Idol's health was not scaled appropriately for Defend the Idol maps in Snow Leopard League or Tiger League.

- fixed: the spirit's portrait could disappear after naming in the Apparition 2 event.

- fixed a range error occurring when triggering dialogue in the Battle with Bandits 1 event.

- fixed: auto-looting was not turned on for either of the bandit battle events.

- fixed: healers would sometimes say their heal bark even when only healing themselves.

- fixed: when right-clicking a space with both an object and an item sack, the game would show the object's character screen rather than the item sack's.

- fixed: gamepad "click to continue" text would show up in the dialogue window when in the shop even if no gamepad was connected.

- fixed: in rare circumstances, the actions queue could remain uncleared when changing scenes, leading to the game refusing to process actions in the next scene under the belief that it was already in the middle of processing script actions.

- improved documentation for the generate inventory parameter for the GenerateUnit, GenerateUnique, and GenerateUniqueFromNPC script actions.

- fixed: the Regenerating sprite was missing from the campaign creator's TextSprite documentation.

- custom menus now support hidden buttons: buttons that are defined but not shown to the player unless unhidden via a script action.

- the "hidden" property of custom menu buttons may now be edited within the cut scene editor.

- the cut scene editor now supports an unlimited number of gray-outs and warnings for each custom menu button (with each delimited by |s).

- new script action: ShowMenuButton. Shows a hidden button within a custom menu. One parameter: button name.

- new script action: HideMenuButton. Hides a visible button within a custom menu. One parameter: button name.

- new stats supported by Stat script actions: Health % Left and Energy % Left. These return a number between 0 and 100 reflecting the percentage of a character's health or energy that remains.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 01, 2023, 03:00:47 AM
- created a new random event: Recruitment Duel.

- cleaned up some of the more awkward "like" dialogue; excluded the one generic line from being selected if personality-specific variants were available.

- replaced the "Labor" daytime option with a Jobs Board. Every day, a selection of different ways to make extra money will present itself...

- new job type available: working as caravan guards. You pick two characters to accompany a caravan and help green units fend off a bandit attack.

- increased the maximum range on Grapple Pull to 3.

- proc gen battles can now account for a third, allied army when determining unit positioning (a necessity for making proc gen three-army battles that aren't just free-for-alls viable).

- fixed: one of the "like" dialogue lines for imaginative characters inappropriately referenced hobbies instead of material things.

- fixed: in some circumstances, non-golem, non-spirit proc gen characters could be spawned with a salary of zero (e.g. from the GenerateUnique script action).

- fixed: the randomly chosen socioeconomic class of proc gen characters could override the inventory quality parameter in the GenerateUnique script action.

- fixed: the graphic for steel mail was missing.

- fixed: choosing to proceed with a custom menu button selection in the face of a pop-up warning would not close the pop-up menu if proceeding meant staying within a custom menu.

- custom strings can now be used as the loadID for unit spawns in battle.

- new optional parameter for GenerateUnique and GenerateUniqueFromNPC script actions: Force Personality. This forces the character to be generated with one particular personality type that you specify.

- proc gen battles now accept premade character types, not just proc gen characters. (Just use a loadID in place of the character class, with a : in place of the /.)

- proc gen battles now accept destructible object assignments to particular armies.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 02, 2023, 07:22:22 PM
- the game now supports designated "spawn regions" for deployment spaces, groups of characters, and groups of objects within proc gen maps, forcing each to spawn within certain defined areas of the map. (Spawn regions are defined the same way as custom areas are.) This makes proc gen defend maps much more doable.

- added in a check so that any given non-labor job can't be performed more than one day in a row.

- custom integer values can now be used in place of victory aura, victory morale, and defeat morale effects for battles.

- fixed: it was possible for spirits to be generated with personality-based camp activities (e.g. volunteering, praying, worrying, nursing grudges...)

- AI fix: the "move again" modifier was being applied to Bow and Lance attacks against allied characters, which in some circumstances could result in the AI viewing these as good moves.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 03, 2023, 05:46:50 PM
- the daytime town menu now reveals an option to investigate the conspiracy once you've accepted Manbir Raksha's request.

- began writing the scene where the player interrogates Malatose.

- fixed: religious characters unable to find a temple in the evening were gaining 1 morale instead of losing 1 morale.

- fixed: the side quest to restore steel items to the shop was not triggering due to a missing variable in the game's introductory scene.

- fixed: players were not receiving the "Tutored" achievement upon completing all in-game combat tutorials unless playing with a gamepad.

- fixed: due to a typo, players were not receiving the "Get decked" achievement upon acquiring a deck of Psy Clash cards.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 04, 2023, 07:42:15 AM
- fixed: promoted characters could retrain to the base version of their current class at the trainer.

- new special character supported in dialogue: -BASECLASS-. Like -CLASS-, but it gets swapped to the base version of the character's current class instead.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 06, 2023, 10:45:55 AM
- spriggats now retain their sprites when reclassing.

- new secret achievement added.

- Disciplined characters no longer lose morale when ordered to participate in group practice; instead, they gain morale.

- close friends and lovers now have a stronger negative reaction when characters they like are dismissed from the team.

- somehow, the game's persistent dialogue file completely lost the third and recurring fourth chital events at some point following the release of version 0.2.10 in July. I recreated them to the best of my memory.

- fixed: promoted characters who reclassed to a new base class would learn a slew of the new class's skills upon leveling up once, as if their true level had been spent in that class. The game now tracks the character's level at the moment of their last promotion, resets it to zero upon changing to a new class, and uses this level for skill progression purposes.

- fixed: Sita's current portrait data was not in-game for some reason, leading to her eye placement looking messed up.

- fixed: ignoring the summons from Manbir the day after the festival and then undertaking a 1-time-unit activity would result in the messenger approaching the player a second time upon returning to town for their second activity.

- fixed: the current page of custom menus was not resetting upon switching between custom menus.

- fixed a localization typo.

- fixed: status effect descriptions were not showing up from localization files.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 07, 2023, 11:11:54 AM
- right-clicking on objects now mirrors the behavior of bridges: if there are move tiles or attack tiles present onscreen, right-clicking them is now treated as a "cancel move or attack" command rather than a command to call up the object's character screen.

- new achievement added for becoming champions of the arena.

- added parameter count checks and error logging to a bunch more script actions.

- fixed: the game would throw a range error if a zero-length string was passed as the parameter for the SetNextScene or NewScene script actions.

- fixed: calling the SetValByEvent script action without its optional fourth parameter would produce a range error.

- fixed: recruitment broke when asked to generate pre-promotes due to a faulty detection mechanism for level ranges versus open-ended minimum levels in class data.

- fixed a typo in Snow Leopard League arena dialogue prior to the Tiger League Qualifier.

- fixed: you could keep throwing the switch in the Tiger League Qualifier to keep spawning explosive charges.

- fixed: reclassed characters could still sometimes end up learning duplicates of known skills.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 08, 2023, 03:06:05 PM
- the XML saving class in the campaign editor now gives specific feedback on the error when an xml file fails to save.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 09, 2023, 12:49:24 PM
- fixed: in the recruitment interface, the tooltip for equipment masteries could show up behind the skill buttons if a character came with enough skills.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 10, 2023, 07:48:39 PM
- wrote more personality-specific variants on the Rest camp activity narration.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 11, 2023, 06:27:12 PM
- finished the interrogation of Malatose scene.

- began the interrogation of Prince Ajit scene.

- reduced the Psy damage multiplier on each of the big four elemental AOE attacks by 20% for balance reasons.

- further increased the likelihood of friends and lovers choosing each other as partners for activities.

- increased the chance of a narrated Talk event instead of particularized dialogue from 25% to 40%.

- wrote some new generic Talk camp narrations.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 12, 2023, 10:47:32 AM
- wrote a further 13 personality-specific variants on the Rest camp activity narration.

- added a new Sensitive talk narration with two variants.

- added localization support for the terrain inspector in battle.

- added localization support for the reserve supplies screen.

- added localization support for character class names.

- began adding localization support for the recruitment interface.

- new special characters: -CLASSID- and -CLASSID2-. These refer to class loadIDs, whereas the old -CLASS- and -CLASS2- special characters now refer to localized class names.

- added -CLASS2- documentation to the campaign editor's in-game reference.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 14, 2023, 01:51:07 PM
- worked on Prince Ajit's interrogation dialogue.

- shadowlings and golems are now recruitable upon reaching Monkey League regardless of which events you've had.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 15, 2023, 08:20:50 PM
- fixed: surrendering in (or simply losing) qualifier matches after reaching Monkey League would result in the game failing to reset to the correct battle, resulting in the arena no longer letting the player progress.

- fixed: the game was not resetting the "total battles won" variable when advancing to Snow Leopard or Tiger leagues, resulting in enemies being overleveled.

- fixed: in the event the game's custom integer value for the days passed ever got out of sync with the actual days passed in game, it could lead to the game failing to recognize victories in league matches as proper league match victories for purposes of advancing the player through the league.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 16, 2023, 05:55:40 PM
- created a new side quest event and battle: Save the Travelers.

- fixed: when there is no good move other than staying still and using an item, the game would simply skip the character's turn instead of marking down a move where they used the item.

- when a premade unit has a class name not corresponding to any class in Classes.xml (such as "Villager"), the game now provides them with an empty class that has the provided name.

- fixed: in rare circumstances, an attack sequence could end with a pending counterattack left unexecuted. The game now performs a separate check for any such attacks before ending a sequence of attacks and counterattacks.

- fixed: the names of game's villager sprite sets were misformatted.

- fixed: predictive text results for the music input field in the map editor had gotten misaligned at some point.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 17, 2023, 10:28:07 PM
- finished Prince Ajit's interrogation dialogue.

- fixed: Prince Ajit's portrait data was using an outdated name.

- added voice set data to the villager NPCs.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 18, 2023, 10:31:30 AM
Pushed the version 0.4.0 update!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 21, 2023, 11:55:57 AM
Time for working on the game is limited at the moment as I have to prepare to move to a new apartment. However, I'm making improvements here and there as I can. Today's:

- fixed in version 0.4.0b: the game was not accounting for skills like Sprint and Engine Boost when calculating where enemies could reach for purposes of determining unit placement in proc gen maps.

- fixed in version 0.4.0b: the game was hitting a range error due to a scripting mistake in the Strikebreaker event.

- fixed in version 0.4.0b: characters who were reclassed to a base class post-promotion would promote again upon gaining a level in their new base class.

- fixed in version 0.4.0b: the game could silently reject available promotion options without logging a reason.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 22, 2023, 02:39:58 PM
- the AI now values the Enthralled status effect differently depending on the total level of the target, with higher-level targets deemed more valuable than lower-level targets.

- the AI now values Slowed status less. (Previously, it scored it identically to Immobilized.)

- refactored a bit of hacky AI code tracking whether the current AI-controlled unit had taken certain actions yet this turn and replaced it with a list that tracks this data for every character tied to their IDs.

- fixed: if an AI-controlled character used a consumable item, thereby destroying it, and then tried to move into a trap, if the game prevented the move from completing, it would queue up another move that could involve using the now-depleted item a second time, thereby producing a null error.

- fixed: the chests in the arena championship battle were empty.

- fixed a couple of typos: one in the level-up screen, and one in the arena pre-fighter area when at three wins in Tiger League.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on October 30, 2023, 05:38:02 PM
As predicted, moving and setting up the new home have been eating up a lot of time I'd otherwise be spending on development, but things are finally starting to calm down a wee bit, so I was able to crank out some improvements today:

- when using repair kits (or any other consumable whose only function is to alter properties of equipment), the game now checks to confirm that a valid item is actually equipped before letting you use the item.

- when using repair kits, the game now checks to confirm that the equipped weapon is actually missing uses before letting you use the kit.

- jobs other than laboring no longer appear as options in the jobs board until the player has beaten at least two arena battles.

- fixed: the game was using an incorrectly formatted parameter to reset the days passed in memory when starting a new campaign.

- fixed: the AI mode tracker logic was causing infinite loops when a character used a non-turn-ending skill and then queued up another move with a different skill.

- fixed: due to an error in logic when deserializing character rosters, the game would inappropriately reinsert the first-recruited character into the default team roster when the entire team had been sent away on a guard mission. This, in turn, allowed the player to undertake inappropriate daytime actions (such as visiting the arena when no one remained to field).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 01, 2023, 05:01:07 PM
- fixed: the unit spawning algorithm for caravan defense battles was inappropriately counting caravan guard groups toward the group number for enemy groups, resulting in enemies consistently clustering near the edges of the map.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 03, 2023, 10:53:16 AM
- the food buttons in the shop now display the amounts of food each represents.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 05, 2023, 02:21:59 PM
- fixed: the Edit Branch window in the dialogue editor was effectively maxing out at 6 actions due to failure to offer the player an option to turn to page 2 upon hitting that number of actions.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 12, 2023, 04:30:26 PM
- fixed: when placing multiple characters onto the same space in the map editor, the Undo function would sometimes remove the wrong character from that space.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 13, 2023, 01:34:24 PM
- gave the player more breathing room after completing a league qualifier; the first league match in the new league is now scheduled for 5-7 days out (instead of 2-4 days out).

- winning a league qualifier now boosts team morale by 3 instead of 2.

- made paying bonuses to characters more cost-effective in terms of morale gain relative to money spent.

- increased pay from league battles.

- when hiring out team members as guards, pay now scales with how many in-game days have passed.

- team leaders in arena fights now have a single, randomly chosen line of dialogue when they first attack the player.

- greatly increased the generosity of Ishita Svaamee's buy-out offers to make the choice harder.

- added localization to the scene transition screen ("Saving game").

- fixed localization setup for bonus proficiency text upon level-up.

- fixed a typo in equipment masteries introduced by adding localization support to the recruitment screen.

- fixed: the "Blocked!" pop-up from blocking an attack with Defensive Stance was missing localization support.

- fixed: a typo in the class data for kineticists was causing them to generate with wildly off-kilter stat growths.

- fixed: using one's last time point for the day in Training would kick the player back to Kalkerapur with full time points.

- fixed: characters sent to recover at the infirmary were sometimes returning to camp one day earlier than intended.

- fixed: sending a character to recover at the infirmary was not removing them from the list of characters you could leave at the infirmary during that visit, making it possible to pay to leave the same character multiple times.

- fixed: the introductory voice-over narration would start to play twice at the beginning of the Introduction scene, making it sound like it had aggressive reverb for the first few words.

- fixed: pure knockback attacks like Kinetic Gust and Shove were not triggering OnCharAttacked dialogue when used against enemies.

- fixed: characters would not counterattack after blocking an incoming attack with Defensive Stance.

- fixed: the AI was valuing any kind of straight stat buff as though it were healing, leading to characters using skills like Douse on injured allies in lieu of better moves.

- fixed: siblings and cousins of characters with region-specific names could have names not belonging to that same region.

- fixed: summoning the console when in the middle of dialogue would not feed the console the dialogue context, potentially causing it to throw an error when using dialogue navigation actions like GoTo.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 14, 2023, 04:29:52 PM
- the game now always produces at least one healer during the initial recruitment for a run.

- once the player is scheduled for the Monkey League Qualifier, the game now grants access to the team overview and calendar buttons in the arena entrance area.

- reduced the commonality of practice weapons and rusty swords as drops in the arena.

- increased the rate of enemy level scaling in caravan guard battles somewhat, as well as overall enemy aggressiveness.

- increased the rate of enemy level scaling in the merchant-related bandit battles.

- increased the rate of enemy level scaling in the Save Grandpa fight, but also scaled up grandpa's health over time.

- increased the commonality of events where a character asks for a raise.

- moved the first possible day for the golem attack event back by six days.

- added a couple of greeting response lines for religious characters.

- fixed: the game displaying only half the actual pay from caravan guard battles.

- fixed: using Mind Control on an enemy could produce a null error.

- fixed: returning to camp after an evening event battle could trigger a second event.

- fixed: skipping the event-selection process upon returning to camp after a scene-changing evening event would cause the game not to show the army overview, calendar, or card deck buttons.

- fixed: upon returning to camp after a scene-changing evening event, the game would count down the days until training, working, and infirmary-bound units returned for a second time, resulting in those units returning one day earlier than scheduled.

- fixed: completing either of the merchant-related bandit battles would send the player to the calendar screen instead of returning them to camp.

- fixed: declining the recruitment duel would leave the player without enough time to throw a gathering.

- fixed: the AI was incorrectly predicting the knockback destination for pull skills, leading it to sometimes use skills like Pull under circumstances where doing so made little sense.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 15, 2023, 08:33:48 PM
- the likelihood of receiving the letter in Nihal's bandit quest now increases with every passing day.

- improved the scripting in the battle in Nihal's bandit quest and wrote some new mid-battle dialogue.

- created a new skill button graphic for Twirl distinct from the skill button graphic for Trade.

- fixed: if the framerate dipped at the start of knockback or swap skills, the character(s) could appear to teleport onto their target squares.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 16, 2023, 10:41:37 AM
- added a little glinting animation to the "next set of options" buttons in dialogue and the town menu to make them harder to miss.

- increased the base chance for Stunned to take effect via Mind Shock to 75%, making mentalists more reliable at lower levels (and making the Thoughteater promotion option more appealing).

- buffed Disarm: the skill now costs 2 energy instead of 4 and allows the user to move after using.

- characters can now continue moving after using Twirl.

- boosted the strength of experience scaling when attacking a lower-level opponent by 5% per level of difference to help keep characters within the correct level range.

- fixed: it was possible for the game to schedule a league match on the same day as the Manbir's Letter event, preventing that event from ever occurring.

- fixed: the "Leave" option on branch 0 at the Caravaneer's Guild simply reset the dialogue to branch 0 instead of returning the player to the middle of town.

- fixed: town menu "next set of options" buttons were using an outdated arrow graphic.

- fixed: the "coins" sound effect did not play when paying money in certain random events.

- fixed a typo in one of the narration variations for when no one cleans camp but no mess is left behind.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 17, 2023, 04:31:54 PM
- interrogating Prince Ajit now schedules an event where the player receives a letter with a lead.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 21, 2023, 03:37:00 PM
- began creating the first investigation mission.

- new unit tag supported: Inactive. Causes the AI to skip the unit's turn each round while the tag remains. (The only action a character tagged Inactive will take is to swim back to land if in water or lava.)

- fixed: shopkeeper portrait wasn't showing up when reacting to the restoration of steel weapons and armor to the shop.


More campaign editor changes:

- when auditioning music tracks within the map or cut scene editors, if music volume is set to 0, the game will now override this setting so you can hear the music in this one context.

- changing the operation for a bridge's Elev tag now updates its elevation in real-time in the editor.

- improved Guide documentation for the -NPC:Attribute Type|X- special character.

- fixed incomplete Guide documentation for the AggroGroup script action.

- fixed: particularly long topics in the Guide could overflow their text fields.

- fixed: when editing a branch in the dialogue editor, swapping action positions on the second page of actions was not functioning properly.

- fixed: in the dialogue editor, a range error could occur when changing the trigger for dialogue and then making further changes.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 22, 2023, 02:31:38 PM
- finished the core part of battle portion of the first investigation mission.

- new script action: EndUnitTurn. Lets you forcibly end the named character's turn.

- fixed: Passive units could move to different locations as part of purely self-buffing moves.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 24, 2023, 06:47:49 AM
- finished polishing up the Dissident's Den battle.

- created the interrogation scene following the Dissident's Den battle.

- fixed: the AreaPreference tag could cause AI-controlled units to inappropriately value moves where they move into the preferred area and then attack allies. The AI now detects when that is going to happen and discards the attack portion of such moves.

- fixed: if a character had multiple counterattack types to respond to an attack, they would queue up a counterattack with each of them instead of just one.

- fixed: the game was not taking weapon dependencies into account when determining viable skills to use for counterattacks (e.g. a character with a Bayonet counterattack would be able to use it even if not equipped with a crossbow).

- fixed: character names in camp interaction narrations would sometimes use the other character's nickname for that character instead of spelling out the character's full name.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 25, 2023, 08:40:43 AM
- further increased character tendency to interact with existing friends and romantic partners.

- you can now always look ahead to the next month when in the calendar screen.

- new skill added: Unlock Door. Range 1; unlocks a locked door.

- Lockpicks now grant Unlock Door in addition to Pilfer.

- fixed a typo in the Skill Question evening event that would fail to exclude characters from the event who had only one skill remaining in their progression.

- fixed: if a map's music was changed mid-fight and a character promoted, the game would cross-fade back to the level's original music, not the track it was previously changed to.

- fixed: pushing enemies into lit campfires did not burn them unless it was specifically scripted for that map.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 28, 2023, 02:03:32 PM
Changes for version 0.4.02:

- reduced the levels of several enemies in the Monkey League Qualifier (particularly the stone golem and axefighter) to make the fight less of a difficulty spike.

- items can now alter a character's base stats, allowing for permanent changes.

- new item: Salubrious Draught. One use; permanently increases the user's maximum health by 3.

- added an explanation for how to alter base stats to the Guide's Stats page.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 29, 2023, 07:31:37 PM
- the initial qualifier bout is now skippable directly from the arena entryway if you've played through the tutorial fights (or skipped them) in a prior run, in which case the game will turn tutorials off and throw you right into the first fight (against the team with engineers).

- reduced the familiarity requirements for certain dialogue variations, making more varied character dialogue available earlier on.

- reduced the friendship threshold for characters with certain personality traits to give other characters nicknames, share secrets, and teach skills.

- added a new negative Talk interaction for characters who have a bad relationship.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on November 30, 2023, 05:38:06 PM
Spent today's dev time improving the store page for Together in Battle, recutting the early access trailer to less than half its original length, reworking the small capsule to improve visibility in Steam's various lists, and uploading new screenshots. Annoying, but necessary.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 01, 2023, 02:53:12 PM
- if you ignore Manbir Raksha's message, it is now possible to visit the palace at a later time to initiate the palace intrigue plot line. (Getting kicked out of the palace will still close it off forever, however.)

- improved awkward phrasing in some life skill-related dialogue variants.

- in camp, the game now warns you if camp is messy.

- removed a substantially duplicative reply option from the cut scene with the maharaja.

- new optional parameter for ClearPortraits; add any number of portrait reference names as parameters to have the game exempt them from being cleared.

- new special character supported: -PROJ:X-. In place of the 'X', type the name of an existing group project. Gets replaced with the numerical progress level of that group project (or zero, if no such project has been initiated).

- fixed an irritating visual glitch where a character's portrait would vanish for just a moment in between a camp narration and subsequent dialogue (e.g. when a character comes up to the player to ask if they'd like to give them money to gamble with).

- fixed: the Investigate button would not appear, grayed out, in the town menu during days with a league match scheduled.

- fixed: much of Gurdeep and the maharaja's dialogue during the Festival of the Ascendant Lights was missing babble sounds.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 04, 2023, 12:05:44 PM
- improved Shadowling Grandpa's scaling to help keep up with enemy level scaling in the "save grandpa" random event.

- increased Grape Shot energy cost from 7 to 9 and decreased its damage scaling from 120% to 100% of strength.

- replaced the Thoughteater's flat +6 damage for Mind Shock with a 125% damage bonus, causing it to scale with Psy growth at the same rate as Mind Blast.

- replaced the Thoughteater's -1 energy cost reduction for Mind Shock with a +50 accuracy bonus, giving the skill's Stunned status a base 100% chance of taking effect.

- refactored some of the old portrait code to make it easier to modify the elements portraits are created from.

- fixed: one of the snow-sand transition tiles was missing.

- fixed: the ModSkillPower and ModSkillAccuracy tags were affecting skills unrelated to those tagged.

- fixed: the ModSkillRange tag could increase the range of skills with a max range of 0 (such as Whirlwind), leading to strange outcomes (such as potentially hitting oneself with Whirlwind).

- fixed: certain Duoterre weapons still required "brittle" masteries that appeared in Telepath Tactics Liberated, but which are not used in Together in Battle.

- fixed: the player's chosen death rules were being ignored by the golem attack random event.

- fixed: it was possible to get the event with Sita and the card game more than once.

- fixed: it was possible (albeit unlikely) for golems and spirits to have a morale-based reaction to teammate deaths.

- fixed: Stone Golems were not using the correct animation for Hurl.

- fixed: if a character's sibling appeared in an arena fight and they were killed without being recruited, the game would not save their data, leading to the character feeling depressed about "-MOODCHAR-" in subsequent scenes.

- fixed: wounded characters could still use items in their character screens.

- fixed: unequipping certain weapons (or having them forcibly unequipped via Disarmed status) could sometimes cause a dictionary error and freeze the game.

- updated documentation with explanation for how to make a ModSkill tag affect all skills.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 05, 2023, 05:24:31 PM
- adjusted the positioning of the spike trap holes so they no longer hang over the edge on transition tiles.

- non-scar, non-facial-hair accessories in character portraits now support a "glow" value independent of the rest of the portrait.

- fixed: hair accessories in character portraits were being tinted with lightness values intended for character hair itself, resulting in accessories in light-colored hair appearing much too bright.

- fixed: save slots for playthroughs on custom difficulty did not display the player's team name in the top-right.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 07, 2023, 03:13:08 PM
- cut scene backgrounds now support HDR colors, allowing for parts of it to appear to properly glow.

- it is now possible to get random events at the start of the day, not just in the arena or in the evening.

- new event: Heat Wave. Drains most of remaining unit energy and risks making units sick if they are assigned physically demanding tasks during the day.

- new skill: Kinetic Surge. 3 knockback, hits 3 spaces in a row.

- buffed the kineticist promoted classes: (1) The Kinetokurios no longer gets an energy cost reduction on Kinetic Constriction, but now gets +5 damage on Kinetic Constriction and can impart Weakened status with it; (2) the Puppetmaster no longer gets an energy cost reduction on Kinetic Gust and Kinetic Pull, but now gets guaranteed access to Kinetic Wave and learns Kinetic Surge as well.

- new mathematical operation supported for the SetVal script action: mod. This runs a modulo operation, dividing the current value by the operand and returning the remainder. (For instance: if a custom value is currently set to 7 and you use mod:4, the result will be 3 since that is the whole number remainder from dividing 7 by 4.)

- when used in battle, UnitsToList now adds generic characters by their unique ID instead of by name, allowing it to pinpoint specific instances of generic units sharing the same name.

- fixed: the game ceased giving payday reminders after the first in-game month.

- fixed: AI-controlled units moving a single space out of fog of war would not become visible.

- fixed a typo in one of the Suave heal barks.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 09, 2023, 11:25:50 AM
- after the first two in-game months, the game now automatically adds negative events to the "random event hopper" every week in perpetuity, keeping random events from ever running out and putting pressure on the player to wrap up the playthrough.

- a character's background dialogue (where a character came from, what their family was like, etc.) now cannot repeat even if the listener hasn't heard it before.

- characters now progress from sharing background and "like" dialogue to nicknaming each other, sharing secrets, and teaching each other skills faster.

- boosted the likelihood of characters to interact with existing friends a bit more still.

- new rare item: Protein Pellets. Permanently increases a character's Strength by 1.

- fixed: status effect icon tooltips weren't being layered correctly.

- fixed: the "remove" button for armies within the map editor's army sub-editor inappropriately appeared above the tooltip explaining different AI profiles.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 10, 2023, 03:38:38 PM
- new event: Dance Lessons! You can pay to send two characters off for dance lessons, improving their relationship and teaching them each Twirl.

- the game now previews where collisions are going to occur due to knockback skills and predicts the damage that targeted units are going to take from those collisions.

- there is now a 1% chance of either a Salubrious Draught or Protein Pellets showing up in the shop during any given visit.

- there is now a 100% chance of either a Salubrious Draught or Protein Pellets showing up in the wandering merchant's shop after saving him from the bandits.

- added portrait movement to the start of the Item Sale event.

- new special character supported: -DATE-. Spells out the current date with the day of the month, the month name, and the current year.

- commas no longer break the text within letters and other documents displayed via the ShowReport script action.

- fixed: the refactored activity-partner selection algorithm had broken instances where random events forced certain camp activity partners.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 11, 2023, 02:15:06 PM
- the game now previews non-collision knockback paths as well.

- Blinded characters can now only see 1 space through fog of war regardless of their Perception stat.

- fixed: fog of war would not auto-update after equipping (or unequipping) a torch in battle.

- fixed: fog of war would not auto-update after using SetStat to change a character's Perception or Coords in battle.

- new script action: AddBark. Dynamically adds a new combat bark to a character's stable of barks.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 12, 2023, 04:52:01 PM
- new job type added to the jobs board: Card Tourney. Pay an entry fee to participate in a Psy Clash tournament against a series of proc gen opponents; win the tournament and take home a cash prize!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 13, 2023, 01:31:44 PM
- new rare item: Mycelium Drops. Permanently increases a character's Psy by 1. Added them to the shops under the same circumstances as Salubrious Draughts and Protein Pellets.

- finished polishing up the Card Tourney job type.

- buffed the Shadowling card for Psy Clash; it how has health 3 when first played.

- cards in Psy Clash can now affect a minion's stats with more than one operation.

- fixed: the Cryokineticist minion in Psy Clash could send enemy power into the negatives, causing their attacks to heal him.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 14, 2023, 12:44:28 PM
- Psy Clash cards can now drop as loot during battles!

- the runScripts attribute for items can now contain custom script parameters! Just like with the Run script action, add a comma, a parameter name, a second comma, and then a parameter value to pass a parameter to the script that gets run.

- increased the spawn rate of special weapons like rapiers in the shop.

- gave Lunge a range of 2 and a move-to-target behavior; increased Lunge's damage output from 1.5x strength to 1.75x strength.

- fixed: the dialogue input screen would accept a reply containing no text.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 15, 2023, 03:31:01 PM
- began laying groundwork for a new item usability type: Gift.

- fixed: the deployment screen would show the option to switch to a second (empty) page of characters if the player's roster was exactly 18 units in size.

- fixed: the reserve supplies screen would show the option to switch to a second (empty) page of characters if the player's roster was exactly 18 units in size.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 17, 2023, 04:07:51 PM
- created the cut scene prelude to the next investigation mission.

- started creating the actual battle.

- new destructible objects: Jug and Planter. Jug comes in two variants (empty and full of water), while Planter comes in four varieties (full of just dirt, or planted with arum lilies, ferns, or a palm tree).

- fixed: the map editor was inappropriately replacing special characters within army values when loading a saved battle map, causing custom strings and the like to be wiped.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 18, 2023, 05:11:50 PM
- reduced the maximum health of thinner cave walls to 99 to make brute-force solutions to the optional objective in the Dissident's Den battle more feasible.

- made the dissident interrogation a little more flexible in how you can navigate the dialogue.

- new skill exclusive to the royal guard: Shield Bash. Low crushing damage with knockback 1 and a chance of stunning.

- new destructible objects: modular Rugs! Variants of the Rug object that seamlessly connect together to create rugs of arbitrary size and shape.

- new sound effect: Ceramic Breaking. Plays when destroying jugs and ceramic planters.

- buffed most of the highest-cost Psy Clash cards.

- got attack animations for Prince Ajit's battle sprite in-game.

- fixed: it was possible for the game to trigger the top AI move twice if scripted character movement occurred at the start of the enemy turn.

- fixed: one of the replies during the Prince Ajit interrogation linked to the wrong dialogue branch.

- fixed: the loadID for Grapple Pull contained a typo.

- right-clicking a destructible object present on the battlefield in the map editor now works like right-clicking open terrain, initiating a camera drag-pan.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 19, 2023, 07:48:09 PM
- spent a lot of time balancing and polishing up the new intrigue mission.

- the level-up screen now has an animation for when characters learn new counterattacks.

- new tag supported: ForceGender. One parameter: gender. Forces the tagged instance of a premade generic unit with an 'Either' gender attribute to spawn with the gender specified.

- fixed: under circumstances where the AI was controlling more than 8 characters in the same army, if an AI-controlled character in that army died on its own turn (typically from an enemy counterattack), the AI would inappropriately skip the turn of the next character in order.

- fixed: units afflicted with the Frozen status effect could nonetheless regain energy on their turns.

- fixed: prior fixes had once again broken the game's ability to pick out the correct unit for displaying the talk symbol and producing unit babble in battle when multiple units shared its name (even when using a script ID in place of a name).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 26, 2023, 04:18:20 PM
After a nice little holiday vacation (which my girlfriend insisted I not do any game dev work during 😅), I'm back!

I gave artist feedback on some new backgrounds. In addition:

- received, incorporated new cut scene background for card tournaments.

- did some final polishing and balancing of the new intrigue mission, wrote the end-of-battle dialogue (with variants depending on your success with in-battle objectives).

- fixed: Binoculars had stopped working due to a bug fix from a prior update.

- fixed: when cloning a unit in the campaign editor, the editor would add an attribute called "nodeCategory" to the cloned unit, thereby causing the engine to not be able to parse the XML file containing all of the custom campaign units and seeming to wipe out the units list.

- fixed: the area preference tag wasn't being applied to long-term moves that caused the character to stop within the named area on their way to a destination outside the area.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 28, 2023, 03:47:54 PM
More artist feedback!

Changes for version 0.4.50:

- you can now rename characters! Hold a one-on-one with the character you want to rename and choose "We need to change your name" to have that conversation with them.

- massively decreased the amount of time the game spends reprocessing character dialogue upon renaming a unit.

- updated the fruit tree sprite so that it has a different silhouette from the regular tree, making it easier to spot (especially for colorblind players).

- created an alternate fruit tree sprite with orange-yellow fruits, made it the sprite for mango trees.

- new, small jug variant made.

- fixed: the game was not updating data for the trigger character or the secondary character in dialogue after updating their stats via a SetStat action.

- AI fix: the game would consider 0-move destinations for Swim, which could potentially lock the game into an endless loop of an AI unit using Swim and not actually moving anywhere with it.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 29, 2023, 05:24:33 PM
- the Psy Clash deck viewer now lets you deactivate cards you don't want to use in your deck (and/or reactivate cards you previously deactivated).

- received, incorporated new desert and forest battle backgrounds.

- added a bunch of newer sound and image assets to the AssetNames.xml file for use in the campaign creator.

- fixed: the investigation progress tracker wasn't being set upon completing the witness protection battle, letting the player go back to the palace and replay it ad infinitum.

- fixed: the army overview button was missing from the Card Tourney scene.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on December 31, 2023, 12:03:35 PM
- new script action supported: NextFrame. Automatically ends any dialogue that may be open and advances to the next frame of the current cut scene.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 01, 2024, 03:38:25 PM
- added gamepad support to the deck viewer screen.

- added multiple-operations support to the SetStat script action. (For instance, you can now call SetStat/Alan Basilleaf,Health,+:10,*:2,c:50 all in one go.)

- fixed: characters were still returning from the Infirmary one day early because I "fixed" it last time via adding a second mathematical operation to SetStat when it did not yet support running multiple mathematical operations at once.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 03, 2024, 12:06:32 PM
- received a new "dark alley" background, integrated it into the game.

- added several of the newer background assets to the AssetNames.xml file for use in the campaign creator.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 07, 2024, 03:03:43 PM
- added a new difficulty setting between Challenging and Brutal: Challenging+. It's identical to Challenging, but cranks the enemy AI up to maximum difficulty.

- added gamepad support for the View Deck button and Deck Viewer screen.

- if Heavy status wears off while a flying character is dunked in water or lava, they no longer immediately return to flying movement--they must now swim to shore first.

- fixed: the team leader in the Monkey league Qualifier could start moving too early due to the AI detecting an item hidden in one of the bushes.

- fixed: in some circumstances, the animation for dropping a flyer into water or lava could play much too slowly.

- fixed: in some circumstances where a unit took a long time making a move on the battlefield destined to be interrupted by a trap, the game would start calculating the next move for that unit before the move was finished, without taking the trap's effects into account.

- fixed: missing-space typo due to localization implementation in the reserve supplies screen when asking the player if they want a character to automatically equip multiple new equippable items.

- fixed: the gamepad cursor logic could get confused when playing Psy Clash using the gamepad, resulting in the wrong card being deemed selected and leading to range errors.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 08, 2024, 05:58:59 PM
- fixed: the game could freeze if character movement mid-combat sequence (e.g. with a skill like Charge) brought a character into an area of the map that triggers OnReachingArea dialogue.

- fixed some awkward word combinations that could come up in evening dialogue discussing hobbies and objects that characters like.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 09, 2024, 08:08:07 PM
- new after-attack type supported: "Can Attack." The character can continue using other skills, but can no longer move.

- gave a buff to the Swordmaster and Marauder prestige classes: Marauders can now follow up Grappler Stance with other skills, and Swordmasters can now do the same with Preemptive Stance and Defensive Stance.

- drafted a new, two-part event: "Lost Kitten."

- new camp activity: "Play with Kitten."

- camp activities can now play sound effects!

- added a hammering sound effect to the "repair equipment" camp activity.

- new sound effects added to the game: Meow and MeowKitten.

- new sound loop added to the game: Purring.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 10, 2024, 05:18:53 PM
- finished the Lost Kitten events.

- the game now tracks which advanced classes you promote characters to.

- new achievement: Jack of all trades. Awarded for promoting characters to every advanced class in the game.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 12, 2024, 04:05:39 PM
- wrote two of three possible conversations for the next investigation scene.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 15, 2024, 06:27:21 PM
- finished drafting the next investigation scene; branching, with about another 70 branches of dialogue.

- new sound effect added to the game: Door Knock.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 16, 2024, 12:55:40 PM
- added more options to the new investigation cut scene, bringing the dialogue tree up to 83 branches in length.

- wrote two new cut scenes playing out the consequences of making the wrong choices in the new investigation cut scene.

- revised the text of the dissident's den letter so that it makes more sense in context.

- fixed: the game was leaving the "talking" symbol visible on the last speaker portrait when transitioning to a new dialogue branch with no speaker.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 17, 2024, 04:02:45 PM
- created the first of the game's endings!

- new achievement for getting the ending. (This brings the game to 75 achievements!)

- created the game's end credits scene.

- improved cut scene scrolling behavior. Instead of automatically skipping to the entire next scene, clicking now increases the scroll speed by nearly 10x while the button is held down, and advances to the next scene only when scrolling is completed.

- holding down the Escape button during a scrolling cut scene mirrors the new behavior of left-clicking now.

- added new backgrounds for certain camp activities.

- fixed: the wording of one variant of Pessimistic character practice narration could clash with character mood narration.

- fixed: the formula used to detect how many days away from payday the player is contained errors, leading to payday warnings appearing in town on inappropriate days.

- fixed: loading a dialogue tree containing a NewScene action in branch 0 within a frame of the cut scene editor would cause the game to actually load the new scene within the editor.

- fixed: the title screen news ticker would not reappear after returning to the title screen from playing the game.

- fixed an over-long delay between news items in the title screen news ticker.

- new operation type supported: abs. Sets the custom value equal to the absolute value of the operand.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 21, 2024, 06:50:03 PM
- the game can now queue up multiple "off on a job scenes" in a row to transition to between the moment of running out of time points and going to camp.

- created a new job type: Explorers! Send 4-5 characters away for 3 days to explore dangerous caverns in search of treasure.

- new destructible objects: trapped chests! These come in two varieties: chests trapped with poison needles and chests trapped with explosives.

- multiple new enemy types that appear when exploring caverns.

- added a bit more gradation in how enemy decks improve over the course of a Psy Clash tourney. (The first deck will always be more basic, while the next two decks will now be a bit stronger.)

- rebalanced the game's salary calculations: for characters above level 1, stat increases beyond base now only factor in at 33% the strength of base stats when calculating salary, making higher-level characters much more competitive with level 1 recruits in terms of value.

- the "asking for a raise" event now checks multiple other characters if the one selected isn't due for a raise, making it much less likely to get skipped.

- giving a character only half their requested raise in the "asking for a raise" event now produces a -2 morale hit.

- fixed: the game was not calculating the difference between a character's current and calculated salary correctly in the "asking for a raise" event.

- fixed: the info bar was not visible during the "asking for a raise" event.

- fixed: players could hire out characters as caravan guards more than once per day.

- fixed: the game would not kick the player out if they went to hire out caravan guards without the minimum number of characters, potentially getting the player stuck in the scene until they clicked on the one character available.

- fixed: it was possible to get card tournaments multiple days in a row on the jobs board.

- fixed a typo in the scene for hiring out characters as caravan guards.

- fixed: the SetStat action was not working correctly when targeting the Salary or Appetite stats.

- fixed a bug that was causing hair accessories in character portraits to display with incorrect scale and position.

- fixed: Battle with the Steel Bandits was still lacking a battle background.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 22, 2024, 12:14:51 PM
- AI improvement: enemies can now path their way through closed doors, opening the doors as they move!

- AI improvement: CPU-controlled characters will no longer wander into campfires.

- fixed: the game could lock up if the engineer from Battle in the Dissident's Den had his path from Hari to the table blocked.

- fixed: in some cases, the game running and then closing dialogue with an OnReachingArea trigger in the middle of an AI turn could cause the game to tell the AI that none of its characters had moved or acted yet, resulting in them taking multiple turns.

- fixed: during the battle in the dissident's den, if the engineer was tipped off due to the player wandering too close and the enemy getting the first attack, he would make his scripted moves during the player's turn instead of his own.

- fixed: during OnCharAttacked dialogue where the speaker's name was set via the -ATTACKER- special character, the game was leaving the resulting unique ID in place in lieu of the attacker's name.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 23, 2024, 06:10:40 PM
- proc gen maps now support setting a specific distance range from the player's army for other army groups to spawn. (This can not only apply to enemies, but to allied armies as well!)

- used this new feature to force allies to spawn close to the player during Cavern Exploration.

- fixed: in rare circumstances, the game could produce a range error trying to place an enemy with exceptionally long range on a proc gen battle map without enough space to get them outside of enemy range.

- fixed: when finishing deployment in a map with both a Fog of War condition and a Go First condition for any army other than the player, the game would reconfigure fog of war to reflect the perspective of whichever army went during the first turn, thereby inappropriately revealing hidden areas of the map to the player.

- fixed: the "force visual effect direction" parameter of skills was not being read by the game, ensuring that directional skill effects could never be locked in a given direction (or used at all by destructible objects).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 24, 2024, 05:42:20 PM
Pushed the update, gave artist feedback!

Changes for version 0.5.00:

- proc gen characters are now created with some natural variability in their portrait size--some larger and some smaller--with human women on average a bit smaller than human men.

- received new "no clothing" portrait art from Georgi Minkov; created masks for them, added them to the game.

- new script action: ChangeClothing. This works like ChangeExpression, but instead of changing facial expression, it changes the body graphic being used in an existing character portrait. Supports all base classes usable by characters of that species--plus, for humans, None.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 25, 2024, 04:27:46 PM
- the map editor successfully loads and saves the "forced spawn distance from the player" attribute of army groups in proc gen maps.

- reorganized the army group fields in the Generate Map window of the map editor, added fields for specifying forced spawn distance from the player.

- created a 5th set of object fields in the Generate Map window of the map editor.

- the map editor will now let you select more than just 2 terrain tilesets and more than just 1 hazard tileset.

- improved the game's detection of premade unit load IDs (as opposed to actual class names) for army group units in proc gen maps.

- fixed: upon loading proc gen maps, the map editor would strip out colons from any premade unit load IDs within army groups.

- fixed: the map editor was not setting terrain check boxes correctly within the Generate Map window of the map editor to match the sets used by existing proc gen maps upon loading them.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 26, 2024, 04:13:10 PM
More artist feedback. Also:

- status effect immunity messages now only pop up if the target is a character. (The player doesn't really need to hear about how boulders and trees are immune to, say, Blinded or Enthralled status.)

- within the Generate Map window of the map editor, shifted the player deployment options over to the leftmost column to make better use of space.

- increased the per-character pay for Cave Exploration by 20 aura.

- added "force spawn distance from player" support to destructible objects in proc gen maps.

- the map editor successfully loads and saves the "forced spawn distance from the player" attribute of objects in proc gen maps.

- added "force spawn distance from player" fields for destructible objects to the Generate Map window of the map editor.

- the game now properly supports stairs which appear to lead down below the map; there is a now a "StairsDown" variant of all existing stairs objects.

- fixed: characters returning from cavern exploration would inappropriately remain on the cavern exploration roster going forward, allowing them to participate in cavern exploration while also remaining available for everything else.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 28, 2024, 05:32:54 PM
- added an optional third parameter to ChangeClothing that, if set to true, causes it to permanently change the body used in the named character's portrait wherever it appears throughout the game.

- removed the "you have already done this today" warning from the Jobs Board button in Kalkerapur, as it is now commonplace to get multiple job opportunities in a given day.

- fixed: in the deck viewer, you could accidentally click on cards by clicking in the empty area below them.

- fixed: one of the "talk" camp activity variants for hot-tempered characters was not setting character facial expressions appropriately.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 29, 2024, 05:45:28 PM
- did a bit of code optimization for when the game checks for whether spaces are solid land.

- improved proc gen map logic for placing stairs (they can now only be placed at elevation 1, and not adjacent to environmental hazards).

- caverns now have a second floor with free exploration that can be accessed by finding the stairs down!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 30, 2024, 04:32:27 PM
- the game's procedural map generator can now generate bridges across large stretches of hazard tiles, not just one-tile gaps.

- created the first two types of proc gen puzzle encounters for the exploration area of the cavern.

- new portrait added to the game: Generic/Specter.

- fixed: clicking on a bridge or on stairs while moving in exploration mode would cause the selected character to move adjacent to (rather than onto) the clicked object.

- fixed: when ending dialogue in exploration mode, the game would select the next character in the army rather than re-selecting the last selected character.

- fixed: the land movement sprite had become misconfigured in movement tiles during Exploration Mode.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on January 31, 2024, 01:30:43 PM
- created the third type of proc gen puzzle encounter for the exploration area of the cavern.

- added a new sound effect to the game: Button Click.

- floor buttons now play Button Click when stepped upon rather than the more aggressive Stone Block Move sound effect.

- you can now talk to Explorers while on a Cavern Exploration job.

- you can now talk to Caravan Guards while on a Caravan Guarding job.

- increased the difficulty of caravan guard battles slightly.

- added a couple of kitten name variants.

- when calling LoadConv, the new conversation keeps the existing trigger character and secondary character of the prior dialogue or script by default.

- new tag used to affect randomized battlefield placement: AvoidOwnArmy. This causes the game to weight placement of the tagged unit so that members of the unit's own army are treated as enemies, enforcing minimum distance rules.

- new tag used to affect randomized battlefield placement: AvoidArmyObjects. This causes the game to weight placement of the tagged unit so that destructible objects belonging to various armies are treated as characters, including them when calculating minimum distances.

- fixed alignment on the floor button destructible object.

- fixed: shoving an object while in exploration mode could result in the game displaying that object as the current selected unit in the actions bar.

- fixed a null error that could occur when clicking to Use a triggerable object when in exploration mode.

- fixed a range error that could occur when generating spawn positions for destructible objects in proc gen maps.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 01, 2024, 02:52:49 PM
Gave more artist feedback.

- the game's procedural map generator can now generate bridges across gaps between cliffs.

- switched the game's internal operate() function over from if-else statements to a switch statement for increased performance.

- added animations to the portraits of characters reacting to the player's choices during the Beggar event.

- fixed a few awkwardly worded dialogue variants where characters talk about their life backgrounds.

- fixed: when shown in battle, the info bar was layering on top of UI elements that should have taken priority over it.

- fixed: when shown in battle, particle effect velocity for the info bar was not scaled properly.

- fixed: due to a typo, the game was unable to grab the item template for Fur-Lined Cloaks.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 02, 2024, 01:07:36 PM
- wrote a new random event: Birthday Fan.

- received new cut scene background, integrated it into the game: Tavern_Dingy.

- updated the backgrounds for the Dusht random event and the gambling camp activity.

- updated AssetNames.xml with the Tavern_Dingy background and Button Click sound effect.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 04, 2024, 12:23:45 PM
- finished up the Birthday Fan event, added it to the hopper of events the player can get.

- updated the Mustebeast Tent event so you can now pick a bunkmate from among everyone else in the roster, not just a selection of 4 random characters.

- corrected an error in the description for Medicated Bandages.

- cleaned up the "Grab" sound effect a bit.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 05, 2024, 06:02:13 PM
- began working on a new, multi-part arena event.

- you can now leave the name parameter blank in the AddNPC script action, and so long as the NPC being added is a relative of some kind, the game will generate a name for them (as well as procedurally filling in all the other parameters you left blank).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 06, 2024, 06:08:55 PM
Updated the Together in Battle store page a bit, downplaying the proc gen aspects of the game (which don't seem to be exciting players as much as I'd thought they might).

- worked on the new event; finished the narrative portion, created a rough draft of an associated battle.

- new tileset added to the game: Castle Sandstone! It's the same as the Castle tileset, but sandstone-colored.

- new sound effect loop added to the game: Running Water.

- the game now supports Species as an alternative to Race among string stats.

- fixed: using RemoveTag to strip a unit of its scriptID would remove the tag, but not the associated scriptID marker used to find it by the game.

- fixed: one variant of one of the hot-tempered victory barks was ungrammatical.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 07, 2024, 06:56:35 PM
- scripted the new event battle.

- wrote a different background dialogue for pickpockets, burglars, and bounty hunters. (Previously, they shared the same background dialogue as gamblers, which could produce odd results.)

- for moves smashing an enemy up against the edge of the map, the collision damage preview now displays the collision just off the edge of the map instead of layering it under the ordinary damage reticle.

- new script action: KnockbackUnit. Pushes the unit in a specified direction for a specified number of spaces, as if they'd been shoved or subjected to a kinetic gust. Three parameters: unit name, direction, and number of spaces.

- fixed in the new long-bridge generation algorithm: on rare occasions, the game could produce bridges with an internal elevation of 99, rendering them impassable to non-flyers.

- fixed: on rare occasions, the proc gen map algorithm could generate more than one bridge tile on the same space.

- fixed: using the StopMusic script action and then resuming the track that was playing prior to StopMusic with PlayMusic would not work, as the game would think that track was already playing.

- fixed: character dialogue would animate, with accompanying babble sounds, even as a report covered the dialogue menu onscreen. In a branch with a ShowReport action, the game now initiates dialogue animation and babble sounds only after the report is closed.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 08, 2024, 12:48:52 PM
- finished scripting Battle in the Northern Stepwell.

- new script action: ReactToDeath. Causes all characters in the specified roster(s) to behave as though the named character died while in their roster. They will suffer a morale penalty based on the strength of their Friendship and Romance with the named unit, will gain a memory of the event, and may become depressed or go into mourning for a period of time. Two parameters: character name, roster number(s).

- new script action: SetStringByClosestCharacter. Sets a string variable equal to the name of the character in the specified army (if used in battle) or roster (if used in a cut scene) who scores as closest with the named character: 1 pt per Familiarity level, 15 pts per Friendship level, 20 pts per Romance level. Parameters: Variable Name, Army or Roster Number, Character Name, Exclude Characters In List (optional).

- fixed: the AI could have characters inflicted with Immobilized status use Swim when in water or lava.

- fixed: localization-related changes to the code over the past few months caused the game to stop displaying the name of the status effect in "[Status effect] wore off" pop-up messages.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 09, 2024, 11:30:38 AM
Gave artist feedback.

- new skill: Quick Twirl. Behaves just like Twirl, but the character can both move and use other skills afterward. Costs 2 energy.

- characters generated with the dancer background will now be set to learn Quick Twirl when they reach high levels.

- added Black as a battle background for dark spaces (like caverns and such).

- increased the consistency of physical trait effects on character stat growths.

- increased the maximum number of life skills and personality traits the game will track over the course of a playthrough to avoid duplicates from 12 to 18.

- when tracking life skills with alternate names (e.g. author/novelist, farmer/gardener, lawyer/judge, etc.), the game now accounts for all variants, not just the variant chosen, thus foreclosing the other variant from being chosen by another character.

- added a commonality attribute to various life skills so that ones with duplicative effects (like historians, professors, lawyers, and judges) are now collectively no more likely to be chosen than any other.

- fixed: flyers who were dunked into water or lava by virtue of being Heavy would, upon swimming to an adjacent tile of liquid terrain after Heavy status wore off, immediately resume flying. Such units must now swim back to land (or a bridge tile) to recover Flying movement.

- fixed: it was possible (albeit mathematically unlikely) for a character's NPCs to be generated sharing that character's same first name.

- added parameter count error-checking to a bunch more script actions.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 11, 2024, 11:20:36 AM
- new skill: Create Fire. Creates Fire on an open space within 2 tiles of the character. Costs 8 energy.

- new skill: Create Ice. Creates Ice Spikes on an open space within 2 tiles of the character. Costs 6 energy.

- Pyrokineticists now learn Create Fire later on in their skill progression.

- Cryokineticists now learn Create Ice earlier on in their skill progression.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 12, 2024, 05:30:21 PM
- adapted pixel art visual effects from Pyro Blast and Cryo Blast to serve Create Fire and Create Ice.

- made Ice Spikes a bit more durable and dangerous and made Fire a bit easier to extinguish.

- it is now possible for a character activity to involve a second character without that character showing up or having their own activity used up.

- characters who have a crush on someone now gain a potential camp activity where they spend the evening fantasizing about their crush.

- reduced the daily chance of a character with -10 morale resigning from 35% to 25%.

- fixed: characters undergoing the second Lost Kitten event were not gaining the new Play with Kitten camp activity as intended due to a scripting error.

- improved in-game documentation of AddCampActivity and LearnCampActivity to better distinguish them.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 13, 2024, 01:32:04 PM
Gave more artist feedback. Also:

- new item: Flower Garland. Worn on the neck; boosts morale by 1.

- if you choose to people watch during the Festival of the Ascendant Lights, you will now have an opportunity to buy a Flower Garland for 5 aura.

- you can now ask Rohit for a more in-depth explanation of the Psy Clash rules during the Festival of the Ascendant Lights if you opt to play games.

Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 14, 2024, 02:44:30 PM
- began work on a virtual keyboard to allow text input when playing with a gamepad.

- created several new UI sprites for the virtual keyboard, including new text sprite symbols: Backspace, Confirm, and Arrow White L.

- added some animated portraits to the narration before meeting Gurdeep in the Festival of the Ascendant Lights.

- received new cut scenes backgrounds: Funeral, Funeral_Alt, and Temple Exterior. Integrated these into the game.

- the Temple Exterior background is now used when camp activities involve a character discovering or going to a temple.

- the Funeral background now appears when the funeral event occurs.

- fixed: the Crickets and CricketsAlt loops were not looping cleanly.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 15, 2024, 07:36:23 PM
Gave artist feedback; began drafting the update post for next week's patch.

- fixed a formatting issue in the keyboard layout, adjusted text field formatting.

- added the number of the current save slot to generated log files.

- fixed: the game was sometimes overwriting proc gen equipment materials values for Together in Battle with old placeholder values, resulting the game not loading material names correctly and therefore failing to generate the correct names for weapon and armor images.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 16, 2024, 03:10:50 PM
- finished implementing the virtual keyboard! The game now fully supports gamepad. :)

- you can now edit the properties of different materials used in procedurally generating weapons and armor in a custom campaign! When creating a new custom campaign, the game now saves a copy of Materials.xml, which you can manually edit to alter the effect of different equipment being made of Steel instead of Bronze, Boiled Leather instead of Leather, etc.

- fixed: the gamepad navigator code could sometimes fail to enable navigation to some of the reply buttons in dialogue branches with multiple responses once the reply options finished fading in.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 18, 2024, 11:17:57 AM
- in the shop, when mousing over equipment, the game now clues you in to the reasons why each character who wants that piece of equipment wants it.

- removed the log and one of the bushes from Battle at the Overgrown Garden to make movement around the map a bit less restrictive.

- fixed: the Poltergeist promotion for the Spirit effectively nerfed Juxtapose by changing it from an after-attack behavior of Use Once to Can Move.

- fixed: narrowing down a tag by its parameters for RemoveTag was only working in cut scenes, not battles.

- fixed: when talking to Caravan Guards in a caravan battle, the game referred to them as Explorers.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 19, 2024, 03:07:08 PM
Gave artist feedback.

- received new portrait clothing usable with the ChangeClothing script action, integrated it into the game: VillagerDese and RoyalGuard.

- received now town crier portrait, integrated it into the corresponding cut scene.

- supplemented the visual effect for Create Ice.

- created new button graphic: Accessories.

- began working on a new feature to customize clothing visible in a unit's portrait in the character creator.

- fixed: choosing a particular set of particle effects did nothing for Create skills.

- fixed: month switching in the calendar had become broken during a past update.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 20, 2024, 12:30:34 PM
- wrote another variant for narration during rainstorms.

- improved auto-move-and-attack behavior: the game now heavily favors skills that do not require the character to move further to use. If the target is already in a skill's range when this function is used, the character should generally stay in place.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 21, 2024, 10:19:03 AM
- received, integrated new portrait clothing for human characters: Villager, VillagerDese2, Merchant, MerchantDese, and Slave.

- fixed: triggering an on-death attack for a destructible object (such as Explode) would not grant experience to the character who destroyed the object and triggered the attack.

- fixed: stairs were having their elevation commands applied twice in battle and exploration scenes, causing them to float above the ground in some cases.

- fixed: AI-controlled characters would not open a closed door during their move onto the door's space if that space happened to be the last space in their move.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 22, 2024, 11:10:03 AM
- finished writing the funeral cut scene.

- artistic characters with a crush on another character can now sketch drawings of their crush at night.

- received new sprites of Dese civilians, used them to replace the placeholder sprites used in Save the Travelers.

- added some visual feedback to key presses in the virtual keyboard (the pressed key now darkens for a tenth of a second when pressed).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 23, 2024, 02:13:04 PM
Worked on the update post, recorded gifs of Create Fire and Create Ice.

- added a tutorial for free exploration sections to the free-roaming portion of the Cavern Exploration job.

- added support for tracking whether the player has completed the exploration tutorial.

- added documentation for script actions used to check whether players have completed certain in-game tutorials.

- fixed palette swapping for the new portrait clothing assets.

- polished up the funeral cut scene scripting and dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 26, 2024, 03:26:21 PM
Changes for version 0.6.01:

- further improved the shop explanation for why characters want equipment: when the reason a character wants something is stat-related, the game now lists as many as 3 stats it'll improve (not just 1), making it possible to compare benefits from upgraded armor at a glance.

- received sunset and nighttime variants of the new Riverbank cutscene background; added them into the game.

- updated AssetNames.xml to make the most recent batch of cutscene backgrounds selectable in the cut scene editor.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 27, 2024, 05:01:04 PM
- created ability, casting, hurt, and shove animations for Praetor Nero.

- created ability, axe, hurt, shield bash, and shove animations for Manbir Raksha.

- when a character first gets a crush on another character, their activity that evening will now always be to fantasize.

- wrote a new event: A Nice Bath.

- new mood type: Embarrassed. Narrates that a character feels embarrassed.

- new mood type: EmbarrassedAbout. Narrates that a character feels embarrassed about their interaction with a specified second character.

- fixed: height was set incorrectly for the promoted shadowling cast animation.

- fixed: camp activities like Fantasize were still plucking the characters being thought about out of the activity order for free rein.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 28, 2024, 04:28:52 PM
- refactored the code for determining nighttime character activities to avoid unwanted behaviors when multiple characters have activities that reference (but do not include) a second character.

- created new item graphic: Book White.

- new item: Anatomical Treatise. Permanently boosts the user's Accuracy stat by 5.

- created new item graphic: Spring Shoes.

- new item: Spring Shoes. Grants Jump. Limited to 3 uses.

- new skill: Jump. Same as Leap, but has an after-attack behavior of Can Move instead of being unlimited.

- new sound effect: Boing.

- camp activities can now affect the health of everyone present in camp.

- revised the doctor's Treat Wounds activity so that it serves a purpose when not playing on Challenging or Challenging+ difficulty. In addition to its existing effect of curing 1 wound level for wounded characters, it now also restores 15% of missing health for all non-wounded characters in camp.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on February 29, 2024, 02:41:45 PM
- wrote a new event: Clown For A Day.

- created new item graphic: Pouch.

- created new skill button graphic: Pocket Sand.

- created new sound effect: PoofCloud.

- new item: Pocket Sand. Grants Pocket Sand. Limited to 1 use.

- new skill: Pocket Sand. Has a 75% chance to cause Blinded for 2 rounds.

- fixed: there were a few lines of code I had been using for testing that turned almost every character Sensitive...lines which I forgot to turn off afterwards.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 01, 2024, 01:20:25 PM
Last night, I ended up pushing the next update early due to the Sensitive personality trait bug. Today, I spruced up the Together in Battle Steam store page, adapting in-game UI graphics to create nicer section headers.

Changes for version 0.6.01a:

- fixed: it was possible for characters chosen for the events A Crush or A Nice Bath to become romantically interested in characters they were already had a crush on (or were romantically involved with).

- fixed: the in-game documentation for SocialUnitsToList was missing the last parameter (amount).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 02, 2024, 02:31:34 PM
- fixed: some of the scripting for Battle in the Dissident's Den was not working as intended.

- IfGoneGoTo and IfGoneRun can now find objects by their load ID.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 04, 2024, 06:47:56 PM
Changes for version 0.6.10:

- new battlefield object: Puddle. Drops dodge and cold resistance while slightly raising heat resistance.

- added a chance of Pocket Sand appearing for sale in the shop.

- added a chance of Anatomical Treatise appearing for sale in the wandering merchant's shop after completing his quests.

- increased the effect of Anatomical Treatise from +5 accuracy to +10 accuracy.

- refactored some of the game's movement code to make it a bit less painful to change.

- fixed: the game made the "weapon breaking" noise when non-weapon equipment (such as Pocket Sand, Snare Kit or a Satchel Charge) went to zero uses.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 05, 2024, 12:22:34 PM
- further refactored aspects of the game's movement code to make adding to (and changing things in) character movement easier.

- new trigger type added to the game: Move Over! These behave like Pressure triggers, except that they don't interrupt unit movement or clear the undo stack upon triggering. As such, they are intended purely for small, non-mechanics-related effects (particle effects, audio cues, etc.) when walking over certain spaces.

- new 3D particle effect supported: WaterSmall. A small splash for moving through shallow water (as opposed to the preexisting big splash used when falling into deep water).

- new sound effect added to the game: Water Splash Light. A much lighter splash sound than the existing Water Splash.

- puddles now visibly and audibly splash when characters walk through them.

- new optional parameter added to the PlaySound script action: pitch range. Accepts a range of positive decimal values, where 1.0 is the sound's normal pitch, values below 1.0 deepen the pitch, and values above 1.0 raise the pitch. If the parameter is used, the game will randomly choose a pitch value from within the supplied range when playing the sound effect.

- in battles with a rain weather effect, the game will now progressively spawn puddles randomly around the battlefield. The harder it rains, the more frequently puddles will appear.

- wrote a little tutorial blurb about rain and puddles in Battle at the Dry Mounds.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 06, 2024, 12:34:10 PM
- new cutscene background added to the game: Blacksmith.

- updated Make Weapon camp activity narrations to make use of the Blacksmith background.

- added icons to the main daytime menu options in Kalkerapur.

- added icons to the main evening menu options in Camp, and to the main dialogue options during a one-on-one.

- reworked Engine Boost: it is now usable only once per turn, increasing maximum movement by 67% (i.e. by 2 for most golems) at the cost of 5 energy.

- puddles now spawn with water particles instead of smoke.

- reworded the bit in the introductory scene where the game asks if you want to enable manual saving so that people who think "roguelite" means "a game where you get a choice of 3 upgrades sometimes and also there's vertical progression" don't get confused.

- fixed: one of the character responses to being renamed slightly exceeded the available space for text.

- fixed: placing traps, bridges, and barricades had begun spawning spark particles after the last update.

- new special character added to the game: -ATKMOVETYPE-. Lets you check whether the current skill's move type is Normal, Parabolic, Teleport, ToTarget, WithTarget, or Special.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 07, 2024, 09:46:17 AM
More artist feedback.

- began writing and scripting a blacksmith scene!

- extended the game's shop interface to support browsing and repairing weapons that have uses missing.

- new script action: ShowBlacksmith. This calls up the shop interface in "blacksmith mode", displaying weapons possessed by the group which are below their maximum uses left. Clicking a weapon in this mode causes it to be repaired in exchange for the repair cost (equal to the proportion of max uses to be repaired times the weapon's original sale price).

- new sound effect: Hammering.

- wrote a second "you have no characters" camp narration variant.

- changed the way Whetstones work: instead of providing +1 Strength for the rest of the battle, they permanently add +1 Strength to the user's current equipped weapon. They can now only be used once.

- whetstones are now rarer and more expensive.

- toned down the power scaling on Self-Repair: it now restores health equal to 1.5x Strength instead of 2.5x Strength.

- fixed: certain text sprites (such as Regenerating, Strength, or Talkable) had faint lines appear near the edges of the image due to trilinear filtering bleed from adjacent icons in the spritesheet.

- fixed: certain messages in the shop interface were missing localization support.

- fixed: the "no one is in camp" narration text was missing localization support.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 08, 2024, 01:06:05 PM
Spent a ton of time trying to get an automatic online bug reporting feature working, but after about 6 hours of struggling with the decidedly unhelpful error reporting capabilities of PHP and MySQL, I am admitting defeat (at least for now) and implementing the following:

- the main menu now has a Report an Issue button; pressing it saves a log file and opens the Together in Battle "Bug Reports" forum on Steam.

- it is now possible for equipment-modifying items to add one or more tags to equipment.

- new weapon-modifying item: Counterweight. Permanently adds +5 accuracy to the user's current equipped weapon.

- new weapon-modifying item: Poison Sheath. Permanently adds tags to the user's current equipped weapon causing its skills to deal 1 bonus Poison damage and to have a chance of imparting Poisoned status.

- new weapon-modifying item: Reinforcing Spine. Permanently adds +5 maximum uses to the user's current equipped weapon.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 11, 2024, 10:15:08 AM
- got in-game bug reporting up and working! Special thanks to Ross Przybylski for the PHP and SQL tips.

- added gamepad (and virtual keyboard) support to the Report an Issue screen.

- when using the virtual keyboard, the game now displays a flashing caret in the associated input text box as if the box were actually selected.

- fixed: gamepad focus on the virtual keyboard would get overriden by the underlying dialogue tree when input text was enabled in the very first branch of dialogue.

- fixed: the dialogue interface's virtual keyboard gamepad navigation was not working as intended when used in battles.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 12, 2024, 10:07:00 AM
Together in Battle is now SteamDeck verified!

- new weapon-modifying item: Oil-Filled Sheath. Permanently adds tags to the user's current equipped weapon causing its skills to deal 1 bonus Heat damage and have a chance of imparting Burning status.

- new destructible object set added to the game: Sandstone castle walls.

- renamed the StairsLimestone destructible object set to StairsSandstone for the sake of consistency.

- cleaned up the shop interface a bit: the text that notes when you've bought or sold something can no longer overlap with the page-swapping buttons, and is now far less likely to end up truncated.

- fixed a few bugs that were preventing tag-granting item modifiers from working as intended.

- fixed: the map editor was spawning Blank game objects whenever new units were placed on the map.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 13, 2024, 03:01:30 PM
- new skill button graphic: Clothing.

- the character creator now allows you to manually set the clothing used by character portraits.

- the character creator now allows you to manually set the scale for character portraits when they appear in dialogue (from 50% up to 125% of normal size).

- improved click detection for portrait accessory and clothing buttons in their respective character creator submenus.

- added support for Max Uses and Tag as Attributes to Alter in the item editor within the campaign creation suite.

- updated the item editor's built-in guides to include Max Uses and Tag (with added explanation on how to use the latter).

- fixed: with the introduction of differing portrait scales for proc gen characters, the character creator could start to progressively shrink the preview portrait when cycling through different features.

- fixed: deprecated palette code could sometimes cause null errors to pop up when adding certain accessories to portraits for certain characters in the character creator.

- fixed: the Jwalaa item graphic was misnamed in AssetNames, and was therefore not showing up in the item graphics browser.

- fixed: loading a saved game mid-scene, stairs could end up counting themselves for purposes of determining base elevation, thereby raising themselves up higher than the terrain calls for (and potentially making themselves untraversable).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 14, 2024, 09:56:32 AM
- new sound effect added: Plant Rustle.

- tall grasses now make rustling noises when characters walk onto or through them.

- fixed: the character creator could list duplicates in the class selection window.

- fixed: height was set incorrectly for the promoted cavalier lance and charge animations.

- fixed a typo in the default CharAttributes file that would cause the character creator to throw a range error when trying to randomly generate character dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 15, 2024, 10:00:27 AM
- improved the weather visual effects for rain.

- fixed: the Blizzard weather effect was no longer displaying properly.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 18, 2024, 12:20:37 PM
- wrote new investigation scene: interrogation of the palace armorer.

- the combat camera now pans over to the attack even if combat zoom is turned off, reducing graphical issues resulting from visual effect layering.

- you can now check your calendar and army overview during league match and qualifier scheduling scenes.

- added portrait animations to the Shadowling Grandpa event.

- added auto-looting to the Save Grandpa battle.

- personality-specific rest narrations are now much more likely to be chosen when a character chooses to rest in the evening.

- fixed: the "force name" feature for characters in proc gen map army groups was not being applied to units drawn from PremadeUnits.xml, only to units procedurally generated from scratch, resulting in the Dacoit Leader not being named as such in Caravan Defense maps.

- fixed: camp music was not returning to normal after receiving Prince Ajit's letter.

- fixed wording on a few personality-specific rest narrations.

- fixed the wording on a bit of Prince Ajit's interrogation dialogue.

- fixed: the order of the Combat Zoom setting options was switched in the localization file, causing 'Attacks Only' to be interpreted as 'Off' and vice versa.

- fixed: you could click an enemy to show their moveable spaces under fog of war.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 19, 2024, 04:57:17 PM
Gave artist feedback on some new portraits.

- the blacksmith now supports renaming weapons!

- it is now possible to alter a piece of equipment's name via an equipment-altering consumable using Name as the attribute to alter.

- added support for Name as an Attribute to Alter in the item editor within the campaign creation suite.

- updated the item editor's built-in guides to include Name.

- fixed: a character portrait added to the left edge of the screen and that same portrait walking to the left edge of the screen would end up in positions about 5 pixels off from each other, occasionally leading to awkward transitions in camp.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 20, 2024, 03:27:53 PM
More artist feedback.

- dialogue branches now support an attribute called "show single replies." This forces the game to show a reply button on this dialogue branch even if only a single reply remains--useful for moments when the player says or does a particular thing.

- refined and improved the armorer interrogation scene.

- received finished portraits for the blacksmith and a second character whose identity I am not going to reveal here. :)

- received new clothing for female human portraits: RoyalDese.

- received new clothing for male human portraits: Blacksmith.

- integrated the new portraits into the game and created positioning data for them.

- the jobs board now supports cooldown periods of more than just than 1 day before taken jobs have a chance of appearing again. There is now a 2-day cooldown on the Caravan Guard job and a 5-day cooldown on Cavern Exploration.

- fixed: the logic to prevent the same job (other than laboring) from showing up multiple days in a row on the jobs board was faulty.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 21, 2024, 10:49:39 AM
- added support for enabling "show single replies" in dialogue branches within the game's dialogue editor. The map and cut scene editors now load and save these attributes correctly.

- new tag type supported: Patrol. This works like AreaPreference, but acts upon a looping sequence of areas for the character to prefer. Once the character reaches the first area in the sequence, their preference shifts to the next one, and so on.

- added a new skin tone that can be used for character portraits: Ruddy Brown.

- added three new eye colors that can be used for character portraits: Aqua, Red, and Violet.

- the blacksmith will now comment on your choice if you name a weapon after a particularly famous one (especially if it appeared in a Fire Emblem game), or if the name contains something dirty.

- fixed: the AI could disregard a valid move onto an AreaPreference space if no valid skill targets existed within range of the destination.

- fixed a null error in the cut scene and map editors caused by the game expecting the online bug reporting component to be present.

- fixed: in some circumstances, adding a row to a map could produce a null error.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 22, 2024, 11:15:18 AM
- you can now Find Blacksmith in the main menu for Kalkerapur after interrogating the armorer.

- wrote the introductory cutscene for the blacksmith rescue quest.

- buffed the Sentinel class: they now gain a 75% chance to block with Defensive Stance instead of the normal 50% chance.

- the Defending status effect can now stack in its power and is hard-coded to disappear when a unit gains a new turn or becomes Enthralled.

- characters can now gossip about other teams in the arena when they talk in the evening.

- reduced the likelihood that characters will talk about the weather when they talk at camp.

- fixed: sometimes, the tooltip for an item's Give button wouldn't show up upon mousing over it.

- fixed: the in-battle pop up text showing experience gain from using a battle primer would scale the displayed experience against the resulting level rather than the level at the time of use, frequently resulting in it announcing less experience than was actually gained.

- fixed: in some circumstances, displaying dialogue in the cut scene editor could cause a null error due to the game attempting to call the gamepad menu navigator component.

- fixed: the tag granting the Kinetokurios the ability to inflict Weakened status via Kinetic Constriction was misformatted.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 24, 2024, 01:11:57 PM
- buffed the Specter promoted class a bit: they now get +5 power to Drain in addition to the range and cost improvements.

- added a variant mood called "Heat Sick" with its own distinct narration to make it clear when a character is feeling sick due to working during a heat wave.

- the game no longer counts it as friendly fire if a character attacks an ally while Enthralled.

- fixed: due to a scripting oversight, hiring out a character as a laborer during a heat wave could throw a range error and cause the game to lock up.

- fixed: if a character was moved via a Teleport-type skill (such as Shadowport or Juxtapose), the game would not check to see if it should drop them into water, lava, or a chasm upon reaching their new position.

- fixed: you could undo after using a Move skill that also moves a second character (like Trade or Juxtapose).

- fixed: if you beat Battle in the Northern Stepwell without ever having someone speak to the kidnapped character, they would never return to your roster.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 25, 2024, 11:44:34 AM
- finished creating a rough draft of the Blacksmith Rescue battle.

- adjusted Battle in the Northern Stepwell so the rescuee's remaining health is never enough to survive more than 5 rounds of drowning.

- status effect tooltips now dynamically display the actual power of the status effect conferred for those occasions where a status effect power differs from its ordinary default value.

- repositioned status effect tooltips within the character screen so the mouse cursor doesn't obscure any of the text.

- fixed mouseover zones for status effect icons in the character screen.

- fixed: you could trigger the Team Leader's Brother arena event more than once per playthrough.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 26, 2024, 08:30:41 AM
- received, incorporated a brand-new visual effect for Overheat!

- created a new sound effect for Overheat.

- increased the power scaling on Drain from 1.5 to 1.75.

- increased the power scaling on Overheat from 1.25 to 1.5 and gave it +50 default accuracy.

- new optional parameter in the Deployment battle condition: maximum characters. This allows additional deployment spots to be placed on the battlefield without increasing the maximum number of deployable characters for the battle.

- fixed: the deployment window's starting text was being overwritten by default localization values.

- fixed: if a character had a camp activity and the character right after them in order fantasized about them, the first character's portrait would stick around inappropriately.

- fixed: a null error could occur in camp under very specific circumstances.

- fixed: due to an oversight when implementing the new move-tracking code, the computer could fail to clear its internal list of viable moves when an enemy's attack slew a character and triggered a death monologue, which in rare cases could result in the AI proceeding with the second-ranked move without recalculating based on the updated state of the battlefield.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on March 27, 2024, 12:16:16 PM
- finished the blacksmith rescue mission!

- reduced the height on the pop-up text animation to aid readability.

- new dialogue trigger supported: OnUnitAttacked. This works just like OnCharAttacked, except that the unit attacked does not have to be a character to trigger the dialogue. (Someone attacking a specified object, for instance, can trigger the dialogue with OnUnitAttacked.)

- new script action: AddTagToGroup. This works just like AddTagToArmy, but instead of specifying an army number, you specify an AggroGroup number. Every unit in the specified AggroGroup will receive the new tag you provide.

- new script action: RemoveTagFromGroup. This works just like RemoveTagFromArmy, but instead of specifying an army number, you specify an AggroGroup number. Every unit in the specified AggroGroup will lose whatever tag you provide.

- right-clicking rugs and other objects set to be treated as floor no longer opens the character screen.

- fixed: Create skills would not function on spaces containing rugs or other objects with a true "treatAsFloor" attribute.

- fixed: smashing an enemy up against the edge of the map could only ever deal a single tile's worth of collision damage even if using a skill with multiple tiles worth of extra knockback.

- fixed: the AI was not set to recalculate moves upon removing Inactive tags from a CPU-controlled units mid-turn.

- fixed: under certain circumstances, dummy attack tiles shown upon mousing over an attack button could inappropriately vanish (or fail to appear at all).

- fixed: if a new turn belongs to an army with no units remaining, the game would skip to the next turn without triggering any OnTurn or BeforeTurn dialogue set to trigger on that turn.

- fixed: selecting Investigate when no more investigation scenes exist would kick the player straight to camp instead of returning them to the main menu in Kalkerapur.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 03, 2024, 09:29:41 AM
I've been sick for the past week, so unfortunately I haven't made any progress on the game. However, I made a couple of small changes for a version 0.6.10a hotfix:

- fixed: losing the Blacksmith Rescue mission while playing on roguelike mode would be treated like an ironman mode loss and delete the save file.

- characters will no longer be generated with creepy red eyes in recruitment; that option is now exclusive to the character creator in the campaign editor.

- swapped the eye palette numbers for violet and red eyes.

- new custom menu gray-out/warning type: avgLvl. Calculates the average level of the characters in the current roster and grays out the button or pops up a warning if their average level falls outside the specified range.

- the game now warns you if you're about to embark on the Find the Blacksmith quest with a roster of less than 8 characters, or a roster with an average level below 17.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 05, 2024, 03:47:33 PM
Changes for version 0.6.11:

- balance change: reduced the number of green allied caravan guards that spawn during caravan defense missions from 4 to 3.

- balance change: reduced the chance of a Whetstone appearing in the shop during a given visit from 33% to 10%.

- rewrote the way that the game times combat sequences to end after zooming out the combat camera so as to avoid issues arising from the slowdown in Unity animations on lower-end machines.

- fixed: the counterattacks icon did not display correctly when providing in-shop explanations for why characters wanted Vengeful weapons.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 06, 2024, 01:03:47 PM
- completely overhauled the way the game deals with parabolic movement to improve performance on slower systems (and to thereby avoid weird issues with assassin Leap arcs visibly lagging behind everything else).

- cleaned up the timing on character "hop" animations when changing elevation.

- fixed: a range error occurred when a stone golem threw a flying character.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 07, 2024, 10:01:26 AM
- received a revised smile for the blacksmith portrait. (The original was just too awkward to use.)

- fixed: the AI would get locked into an infinite loop when swimming with proc gen units generated with the Swimmer trait.

- fixed for 0.6.11a: due to recent changes in the AI code, the game would throw a null error if an enemy drowned to death at the start of the AI's turn.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 08, 2024, 11:29:42 AM
- rewrote the game's dodge animations so that they, like the new parabola animations, are driven purely by code and math. With this, the movement of units on the battlefield is now completely untethered from Unity's Animator component.

- fixed for 0.6.11b: it was possible for an AI-controlled character with a preferred area tag and no viable moves to remain on the "calculate a move" list forever despite having no viable moves, thereby preventing the computer from ever ending its turn.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 09, 2024, 09:22:50 AM
Changes for version 0.6.20:

- began working on a new random event battle.

- further boosted the likelihood of characters who are already friends or romantically interested in one another choosing to interact with each other over other characters.

- added portrait animations to the "ignore" options for the Ishita Svaamee events.

- added a portrait animation to the first traveling merchant event.

- new option for the IfInArea script actions: you can now use an army in the Character Name parameter (e.g. "Army 0", Army 1", and so on) and the game will check for any character belonging to that specific army.

- fixed: bridges below the level of the terrain could cause the game to use the bridge's elevation instead of the ground's for purposes of calculating movement and elevation bonuses.


- fixed: bridges below the level of the terrain would cause the map editor to set the cursor elevation (and the elevation of further objects placed on the space) to the bridge's elevation instead of the ground's.

- fixed: if any of an AI-controlled unit's skills could affect a target worth affecting, all of that unit's skills would be marked as worth using as part of short-range moves toward a preferred area, leading to the unit potentially inappropriately attacking scenery.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 11, 2024, 03:16:20 PM
- wrote two new "life background" dialogue variants.

- character dialogue can now be made available (or excluded) for a character based on their family's socioeconomic class.

- particular proc gen character lines can now be assigned greater likelihood of selection.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 14, 2024, 12:02:02 PM
- wrote new tutorial text about fruit trees, explaining why AI-controlled enemies sometimes attack them.

- you can now have the recruiter auto-generate a starting team for you on Day 0.

- fixed: the "force species" attribute could be used to create proc gen characters of a species not compatible with the chosen class, resulting in issues like missing portraits and sprites.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 15, 2024, 12:43:19 PM
Updated the Together in Battle Steam demo (last updated in August 2023 😅).

- improved recruitment UI behavior when mousing over other recruits with a different recruit selected: you can mouse over other recruits normally, but the selected recruit will pop back up upon mousing off of them for ease of comparison.

-fixed: door-affecting script actions such as Lock could trigger OnDoor dialogue when used in OnLoaded dialogue.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 16, 2024, 03:38:34 PM
- created a new thief attack late event.

- reduced the odds of a late event occurring on any given night.

- AI improvement: the AI now does a much better job of appropriately balancing the value of reaching a preferred area versus the value of moving toward a character it would like to attack (but cannot yet reach).

- AI improvement: the AI now imposes a scoring penalty for any move that would take a character who is already inside their preferred area outside of that area.

- the LevelUpArmy script action now works in cut scenes.

- new condition: Drop Items On Death. Lets you set a particular army to not drop items when a character in that army dies. Parameters: army number, drops items (boolean value--true by default).

- fixed: a misformatted script action parameter in the event where a character asks the player for money to gamble with resulted in the event proceeding even if the player lacked the minimum amount of money to gamble with.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 17, 2024, 10:15:42 AM
- added the missing army palettes from the original Telepath Tactics (Orange and Pink) into the engine.

- the game now accounts for characters temporarily off working, training, in the infirmary, or on vacation when spawning the number of tents in the thief attack battles.

- updated the "tent looted" conversation in the thief attack battles so the game shows you the info bar with the money being lost.

- updated the Strikebreaking event so the game shows you the info bar with the money being added if you complete the job.

- completing Jiti Sone's job now has a downside: spriggats will refuse to appear in recruitment, and any spriggats actively on the team when the job is done will suffer a huge morale hit.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 18, 2024, 07:37:30 PM
- wrote a new event: Revenge Quest 1.

- wrote a new event: Revenge Quest 2.

- wrote a new event: Revenge Quest 3.

- wrote a new event: Revenge Quest Results.

- new mood added to the game: Determined.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 19, 2024, 01:32:50 PM
- created a new battle for the revenge quest event sequence.

- the revenge quest sequence can now begin at any time after advancing to Gharial League.

- fixed: if an army in a battle was completely neutral by way of being allied to every other army, the game would treat them as having vanquished all enemies and immediately end the battle with them as the victor.

- AI fix: the retreat AI algorithm was not accounting for area preference or patrol tags, causing characters with no usable skills to retreat without regard for the areas they were supposed to be moving towards.

- the game can now process custom strings used as part of a scene's display name.

- new script action: AddNickname. Gives a character a new nickname to be used by a second character in dialogue. (To make it a nickname everyone uses, leave the Second Character Name parameter blank.) Parameters: Character Name, New Nickname, Second Character Name.

- new script action: HideDialogueBox. Allows you to manually hide the dialogue box during dialogue.

- new script action: ShowDialogueBox. Causes a hidden dialogue box to reappear.

- three new special string stats are supported for SetStringByStat: First Name, Last Name, and Nickname. (These are read-only, so don't try using them as a parameter with SetStat.)

- added last name as a supported attribute value for the SetStringByNPC script action.

- changed the runScript attribute in CampActivities.xml to runScripts to make it consistent with the rest of the game.

- updated in-game documentation for the IfBioDetail-type script actions and the -BIO:X- special character with the default bio detail types.

- fixed: in-game documentation for the AddNPC script action was missing the tenth parameter, Blood Relative.

- fixed: in-game documentation for the SetStringByNPC script action was missing blood relative among the supported attribute values listed.

- fixed: getting a unit's load ID via the SetStringByStat script action would return an empty string for proc gen characters. (It now returns the unit's name, which can stand in for its load ID in virtually every use case.)
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 20, 2024, 09:27:25 AM
- TargetPreference tags now support the use of custom string variables for their target name parameter.

- AI improvement: reduced the minimum calculated value of usage before enemies will use items, avoiding situations where enemies won't use bandages even though it's optimal to do so.

- AI improvement: AI-controlled units now value Defending status proportionally more as they become more injured, and more based on their ability to counterattack.

- new script action: AddTriggerCharPortrait. Adds the portrait of whatever character triggered the dialogue, without regard to whether their name is used as speaker for the current branch. Has the same parameters as AddSpeakerPortrait.

- fixed: mousing over a unit and then immediately mousing over the deployment window thereafter without ever mousing off the unit could cause the unit's mouseover tooltip to become "stuck" onscreen for a time.

- fixed: it was possible for cavaliers to charge across a path with an elevation difference of 2 or greater, just so long as they effectively charged off of the cliff rather than up it.

- fixed: in some circumstances, the game could save (and reload) past instances of generic templated units in a way that would reintroduce tags placed onto those unit types in past battles.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 21, 2024, 10:54:09 AM
- new script action: StripItemsFromUnit. Removes all items from the named character's inventory and places them in a roster's reserve supplies.

- fixed: changes to the code made it so generalized character death barks could again get queued in addition to specific OnCharDeath dialogue for the same character upon falling in battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 22, 2024, 10:29:21 AM
- created a second team sparring event.

- new script action: HideActionsMenu. Allows you to manually hide the actions bar during battle.

- new script action: ShowActionsMenu. Causes a hidden actions bar to reappear.

- fixed: the Delete Row and Delete Column algorithms in the Map Editor were faulty, with their use potentially causing the game to lose track of where units should be until the map was reloaded.

- fixed: in the Map Editor, adding a new column to the very rightmost edge of a map would secretly cause the game to add a second column, invisibly offsetting mouseover coordinates and making the selector appear in the wrong spot when mousing over units.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 23, 2024, 11:16:26 AM
- you can now create a mid-battle save on the first turn of a fight, right after deployment!

- created a second team sparring battle.

- created a new special arena fight condition: Skill Request. A fan requests that the player use a specific skill during the battle; if the player uses that skill a specified number of times and goes on to win the fight, they'll gain an extra reward!

- created a new special arena fight condition: Skill Avoid Request. A fan requests that the player avoid using a specific skill during the battle; if the player does not use that skill at all and still goes on to win the fight, they'll gain an extra reward!

- shifted the timing of the Brother Leader Revenge event chain; it can now no longer occur until Gharial League at the earliest.

- fixed: bridges below the level of the terrain could cause the game to use the bridge's elevation instead of the ground's for purposes of calculating which spaces are moveable for a non-flying unit.

- fixed: under some circumstances where the AI had a character move and use a non-turn-ending skill, the AI could queue up further actions for the character where they moved and used a skill, but then fail to execute the "actually moving" part, resulting in the character attacking outside their normal range.

- fixed: proc gen battle map names were not being saved in the "battle start" save files used when restarting a battle, resulting in the map's internal file name displaying instead.

- laid the groundwork for the engine to support looking at specific aspects of the skills that characters are using as parameters for dialogue triggers.

- new dialogue trigger type: OnSkillUsed. Triggers dialogue when a given skill is used. To satisfy the trigger, the skill usage must be effective in some way (i.e. not just attacking an ally or healing an enemy). Parameters: skill name, user army, and user name.

- new tag: RemoveAll. This tells the game to remove all existing tags from the unit.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 25, 2024, 10:26:55 AM
Today is the one-year anniversary of Together in Battle being out in early access! To celebrate, I made a post (https://store.steampowered.com/news/app/1267210/view/4187860696720506897?l=english) (and also pushed version 0.6.20).

Changes for version 0.6.20a:

- the game now displays gameplay tips on the loading screen when transitioning scenes.

- wrote 34 loading screen tips specifically for Together in Battle.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 26, 2024, 09:14:38 AM
- added default loading screen tips for campaigns other than Together in Battle.

- when playing with the gamepad, switching to the actions bar with 'X' now defaults to selecting the first available skill.

- fixed: on certain buttons, selecting them with the gamepad could double-invoke their methods, leading to errors (up to and including the game freezing).

- fixed: when playing with gamepad, at the very start of battle, the selector was spawning in the very top-left of the map instead of over someone in the player's army.

- fixed: actions bar button tooltips were displaying strangely in gamepad mode.

- fixed: the virtual cursor was not visible when choosing between yes or no in any in-battle warning pop-up windows.

Changes for version 0.6.20b:

- fixed: in some circumstances, the "avoid skill" arena battle condition would turn out blank.

- fixed: if you got the bad ending while having a character possessing the "serious" personality trait among the first 7 units of your team, the scene would get stuck in an endless loop of character reactions.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 28, 2024, 01:43:53 PM
Changes for version 0.6.20c:

- increased the number of loading screen tips to 43.

- the game now tracks the last 20 loading screen tips displayed to avoid having repeats too often.

- fixed a couple of typos in the loading screen tips.

- fixed: if you managed to kill every enemy on the blacksmith rescue map, the battle would end prematurely and not give you the blacksmith option going forward.

- fixed: when shoving a unit onto a space with an ornamental bridge tile below the terrain, the game would use the bridge for the destination elevation instead of the terrain, sometimes inappropriately causing the target to take damage and/or become stunned.

- fixed: the blacksmith would show duplicates of weapons in reserve supplies when showing potential items to rename or repair.

- fixed: during the initial meeting with Manbir Raksha, his dialogue was still incorrectly referring to the attack "last night."

- fixed a visual issue with the spot where the necks meet the ears in most of the male "NPC" portrait clothing sets.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 28, 2024, 08:38:41 PM
Changes for version 0.6.30:

- wrote new like/hobby dialogue for characters with the depressive personality trait.

- wrote new generic Talk narration.

- wrote new Talk narration for depressive and introverted characters.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 29, 2024, 10:58:42 AM
- characters who clean together now gain friendship with one another.

- increased the positive morale effect of rainstorms on the characters who like them.

- updated the description of Feedback to make its self-healing effects less ambiguous.

- if you reach a day with a scheduled league match and you have no one left in your roster to fight, the game now detects it and queues up a scene where the arena manager chews you out.

- new sound effect: Crowd Booing Muffled.

- new ending added: banned from the tournament.

- new achievement: Kicked out.

- fixed: the Challenger and Brutalist achievements would only trigger if starting a playthrough on roguelike mode.

- fixed: with equipment that would replace a filled slot, the shop interface was still only showing a comparison of one stat maximum (rather than the intended 1-3), and could display a stat penalty as a reason for wanting the equipment.

- fixed: the Sick status effect had started making skills cost 2,000% their normal energy cost instead of 200%.

- AI fix: due to a quirk in how C# handles integer division, the AI was not applying a penalty to attacks against targets with non-lethal on-death attacks (such as explosive charges).

- fixed: you could visit the trainer with 0 characters in your roster.

- fixed: the game would throw an error if the player reached the Festival of the Ascendant Lights with no characters in their roster.

- fixed: the game would get caught in a loop if the player received Manbir Raksha's summons after the festival with no characters in their roster.

- fixed: the game was skipping over the "alone in camp" narration on evenings where no one remained in the roster.

- fixed: the game could still display buttons in custom menus twice if they were preceded by hidden buttons.

- fixed: the game wasn't counting the Festival of the Ascendant Lights toward the days that characters were out training, working, vacationing, or in the infirmary, resulting in them all returning a day late.

- fixed: it was sometimes possible for characters involved in a Talk activity to have their own, independent activity later in the same evening.

- fixed: the camp activity generator's infinite loop break code was incrementing the iteration number in the wrong scope, and so was not working correctly.

- added minimum parameter checks to about a half-dozen portrait-related script actions that were missing them.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on April 30, 2024, 09:18:01 AM
- wrote a new info response line for religious characters.

- darkened the background strip behind camp activity narrations to make the text easier to read against lighter backgrounds.

- if the avenger remains after the conclusion of the revenge quest event chain, their background and secret dialogue will now change to acknowledge what happened.

- whenever you register for a Psy Clash tournament, you now receive two random, complimentary Psy Clash cards before the tournament starts. You can use these in the tournament, and will keep them regardless of whether you win the tournament.

- unit tooltips can now display a different fourth stat besides counterattacks for their appearance in menus.

- unit tooltips will now display morale instead of counterattacks during selection for a one-on-one in camp.

- unit tooltips will now display strength instead of counterattacks during selection for laboring at the docks.

- fixed: the text sprite for Drowning Res. was missing (most noticeable in shop interface explanations for why certain characters want aquatic armor).

- fixed: with Vindictive and Vengeful equipment that would replace a filled slot, the shop interface was still failing to display the sprite for additional counterattacks granted by the equipment.

- fixed: Religious characters' greeting responses were inappropriately referencing the god of their dialogue partner rather than themselves.

- new script action: AddCharDialogue. Adds a line of non-combat dialogue (i.e. one used during camp activities) to the character's repertoire. Parameters: Character Name,Dialogue Type,Dialogue String,Facial Expression (optional),Response Type (optional). Supports an arbitrary number of miscellaneous properties after Response Type as well--anything used in CharAttributes.xml will work (in the format mor1=1, hp2=-10, etc.)

- new script action: RemoveCharDialogue. Behaves much like AddBark, but is intended to remove non-combat lines of dialogue (i.e. those which are used during camp activities) instead of combat barks, and the "All" parameter will only affect those camp lines. Has one additional, optional parameter which, if set to true, will make the character "forget" having spoken dialogue of this sort before in camp.

- new special character supported: -GOD2-. Gets changed to the name of the deity worshipped by the secondary character in the conversation (if any), or to "no one" if they are atheist.

- new special character supported: -BIO2:X-. Gets changed to the appropriate bio detail the secondary character in the conversation (if any), with 'X' being the bio detail type (region, hometown, hometownSize, raised by, siblings, worships, and religion).

- added missing documentation for the pitch range parameter in the PlaySound script action.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 01, 2024, 12:33:56 PM
- item sacks now visually drop into place when fans throw items onto the battlefield in the arena.

- proc gen spriggats now have +3 base health across the board.

- proc gen cavaliers now either gain a lance counterattack or heavy armor mastery, not both. (They are guaranteed to learn heavy armor mastery if they promote to a Mantis Knight, however.)

- proc gen cavaliers now start with 20% lower base Energy.

- proc gen cavalier base salaries are now higher.

- training energy for cavaliers now costs 8 times as much as it does for every other class.

- fixed: after introduction of the new, more efficient parabolic arc code, objects chucked with skills like Toss and Throw were no longer getting parabolic arcs.

- AI fix: due to a quirk in how C# handles integer division, the AI was not applying any penalty to attacks against targets with non-lethal counterattacks.

- fixed: it was possible for inorganic destructible objects to get the Poisoned status despite having 100% Poison resistance, just so long as the skill conferring the status was not of the Poison element.

- fixed: golems and spirits could acquire moods of types that made no sense for them (e.g. Starving or Sick).

- fixed: if movement speed was set to instant, doors that AI-controlled characters moved through would not be opened and scripts triggered mid-move via the MoveOver trigger would not be triggered.

- added missing in-game documentation for the Move Over unit trigger.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 02, 2024, 08:10:22 AM
- updated scripting in Battle in the Dissident's Den to activate Hari and his group if the player strays too close to the west door in his office.

- updated scripting in Battle at the Northern Stepwell in case the kidnappee is a golem or spirit and, simultaneously, a golem or spirit is the one to reach them.

- changed the Pocket Sand skill's element from Poison to Light so that it can affect golems.

- shuffled around the timing of certain random events.

- increased the rate of enemy level scaling in the Save Grandpa event battle slightly.

- added some safeguards to ensure that a fall into a chasm will always be an insta-K.O. (even if falling 10 levels of elevation might not otherwise cause enough damage).

- increased the energy cost of Place Charges and Place Timed Charges to 8 and 10, respectively.

- camp activity narrations can now be tagged with a reqsRomanticCompat attribute.

- characters no longer deliver flirty dialogue lines to characters with whom they are not fundamentally romantically compatible (i.e. correct gender and species, to who they are not related).

- fixed: the description for Place Timed Charges contained the wrong after-attack behavior.

- fixed: the game was freezing whenever a player-controlled (non-AI) character used Defensive Stance.

- fixed: attempting to use an item in a character screen during deployment at the start of battle would fail without providing a pop-up message.

- fixed: the rear horn in a spriggat's portrait would appear incorrectly scaled, positioned, and colored if a prior character portrait contained a hair accessory.

- fixed: the romantic compatibility check function hadn't been updated since the game gained the ability to generate NPCs as full characters (meaning that blood relatives were not being automatically excluded from romantic compatibility).
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 03, 2024, 08:59:38 AM
- wrote the second interrogation of Malatose.

- added dialogue options to the initial meeting with Manbir Raksha where you can ask him for advice on how to conduct the interrogations.

- shields are now generated with higher base health bonuses.

- when grabbing an item sack with equipment in it in battle, if the grabber can use the equipment and they have nothing equipped in that slot, the game will now prompt the player if they want to auto-equip the thing they grabbed.

- fixed: equipment-modifying items (such as repair kits and whetstones) were not usable in camp.

- fixed: on certain occasions, item sacks on top of bridge tiles became non-interactable.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 05, 2024, 05:14:03 PM
- wrote a new two-person sparring narration for Suave characters.

- changed out the 1-in-3 chance of spriggats learning Mind Blast as their miscellaneous psy skill for a 1-in-3 chance of learning Kinetic Gust.

- fixed a typo in one of the rest narrations for flirtatious characters.

- character tooltips in training now display each character's base strength, psy, and accuracy in lieu of counterattacks.

- when loading up a save file from the demo campaign in the full game, the game will now automatically convert it into a main campaign save file!
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 07, 2024, 12:57:35 PM
- wrote the cutscene portion of a new random event battle.

- when selecting characters for random events, their tooltips now show morale in lieu of counterattacks.

- lit battlefield objects (such as braziers, candelabras, campfires, and lamps) now create visible areas within fog of war maps.

- fixed: the "Black" cutscene background was not usable.

- fixed: the CastleSandstone tileset's transitions between other tilesets were not working.

- fixed: fog of war tiles would not update when unequipping a torch or other Perception-affecting item.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 08, 2024, 12:55:29 PM
- finished the new random event battle!

- new, optional third parameter for the OnTalk dialogue trigger: Enforce Positions. If set to true, this specifically requires the triggering character to be as described in the first trigger parameter (rather than letting the second talk partner take on the role of triggerer).

- fixed: the "Neutralized" status effect was missing from the localization file and causing the game to throw a null error when applied.

- fixed: the AddStatus script action was no longer announcing the applied status effect.

- fixed: the game's unit-spawning, unit-generating, door manipulation, change dialogue character, and roster manipulation script actions were still missing minimum parameter checks.

- fixed: the game would still show the dialogue menu in the very first branch of dialogue even if the branch contained a HideDialogueBox action.

- fixed:the game was still showing the actions bar and portrait for AI-controlled characters hidden in fog of war.

- fixed: the game could show incorrect actions bar information for AI-controlled characters moving after an ally hidden by fog of war.

- fixed: characters using Light attacks and Staggering weapons could attack spiked barricades and fires without taking damage.

- fixed: if an AI-controlled character blinded a player-controlled character in a fog of war map, the game would suddenly treat the AI army as if it were player-controlled for purposes of updating the fog of war, thereby revealing most of the map.

- added documentation for ShowDeckButton and HideDeckButton to the in-game reference.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 09, 2024, 08:04:21 AM
- new Engineer skill added to the game: Place Brazier. Creates a lit brazier on the battlefield that reveals fog of war in a 2-tile radius around it (and burns enemies who attack it in melee).

- boosted the effect of strength and psy on the maximum health of created objects: they now receive added max health equal to 133% of the creator's combined strength and psy. (Previously, it was 100%.)

- new optional parameter added to SpawnUnit and the Generate-Unit-type script actions: Drop Unit. If set to true, causes the unit to drop onto their space from somewhere above the battlefield when they spawn, a la an item drop.

- fixed: when multiple scripts were attached to the same skill or item, the second script would have its first action run out of order.

- fixed: if OnVictory dialogue was spawned for the enemy army, using a WinBattle action or reply to change it to a player victory would not prevent the game from showing a "Defeated" pop-up regardless.

- fixed: due to a formatting error in the new, modifiable item attributes table, poisoned and blazing weapons were bugged and could freeze the game upon being equipped.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 10, 2024, 11:55:35 AM
- constrained the pop-up text animation in combat a bit more to make it easier to follow (and easier to tell which character it belongs to in the event of an AOE effect).

- wrote the event that occurs after the second Malatose interrogation, as well as new palace narration.

- wrote some alternate dialogue for the second crush event for cases where the characters are mutually romantically interested.

- wrote a new campsite talk variation for characters who have a crush on their talk partner.

- wrote a new generic campsite talk narration.

- spriggats are now guaranteed to gain Health Proficiency between levels 7 and 12.

- boosted the base level of enemy arena teams in the latter three leagues (especially for Snow Leopard and Tiger leagues).

- arena team leader enemy level scaling increased from additional 20% per match to additional 25% per match once the player reaches Monkey League.

- reduced the influence that speed has on salary levels by 40%, rendering shadowlings and assassins more cost-competitive.

- fixed: in the witness protection battle, even if the kineticist onstage was dead, he would still give his "close the fist" dialogue.

- increased health bonuses for promotions across the board, but especially in the melee combat classes. (My hope is that this will help tanky/defensive characters scale better in the late game.)

- fixed a typo in the dialogue when deciding whether to report to Prince Ajit after the witness protection battle.

- fixed: the bathing event did not queue up the chance of a follow-up event where one character asked the other on a date.

- fixed: adding support for finding characters by load ID in a past update broke the Unlock Door skill, causing the game to think the character was attempting to unlock whichever proc gen character was first recruited because they happened to have a blank load ID.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 11, 2024, 12:50:12 PM
- painted a 19th human female hairstyle.

- wrote 44th and 45th loading screen tips.

- the strength of explosive charges now scales with the strength and psy of the engineer who places them (but still deal 20 damage at base).

- further increased Ansh's health for the witness protection battle when playing on Relaxed difficulty.

- fixed: on-death attacks were being applied twice, resulting in double damage (and double application of status effects) from explosive charges.

- fixed: due to a scripting oversight, it was still possible to get the information from the documents in the dissident den raid even if they were destroyed.

- fixed: no sound was playing when minions switched lanes as part of their built-in abilities.
Title: Re: Together in Battle Dev Log
Post by: CraigStern on May 12, 2024, 12:01:22 PM
- new camp event: Catchphrase.

- characters are now generated with a response line for when they receive a nickname.

- characters' friendship now increases when they nickname each other.

- once the player gets to Snow Leopard League, the shop now has a 75% chance of having 1-2 medicated bandages in stock per visit.

- new Kineticist skill: Levitate Other. Levitate another character for one turn.

- created new sound effect that plays when a character takes environmental damage from being in lava.

- added portrait animations to all of the advice events.

- the psy clash card Leap now lets you draw another card after using it.

- the "asking for advice" events will no longer end with a character saying "never mind"--if that's about to happen, the game will now simply find a different event to run instead.

- fixed a typo in the armorer interrogation.

- fixed a typo in the extended Architect class description.

- fixed: strings typed in by the player during dialogue could end up not displaying properly (or at all) if they used commas or quotation marks.

- fixed: the game was not allowing objects to be thrown over other objects of the same category.