Welcome to the new Sinister Design forums!

Main Menu

Together in Battle Dev Log

Started by CraigStern, February 06, 2020, 05:37:30 PM

Previous topic - Next topic


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.


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.


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.


- 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.


- 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.


- 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.


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.


- 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.


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.


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).


- 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.

You cannot view this attachment. You cannot view this attachment. You cannot view this attachment. You cannot view this attachment.

- 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).


- 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.


- 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.)


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.


- 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.