The Sinister Design Forums

Please login or register.

Login with username, password and session length
Advanced search  


Welcome to the new Sinister Design forums!

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - CraigStern

Pages: [1] 2 3 ... 250
??? / Re: A new engine!
« on: Today at 02:41:41 PM »
-- received new character portrait: Praetor Nero. Created his portrait data.

-- added the three cave entrance backgrounds into the game.

-- running out of food will now give all characters in camp a negative mood for 0-3 days.

-- moods can now be tied to specific character memories (meaning that the game can know why a character is in the mood it's in).

-- if a character has a sufficiently negative reaction to an ally's death, they now get a memory of that character's death as well as the mood "Mourning" for a number of days proportionate to the depth of their grief. The mood is tied to the memory.

-- if a character has a sufficiently negative reaction to an ally's dismissal, they now get a memory of that character's dismissal as well as the mood "Upset" for a number of days proportionate to the depth of their reaction. The mood is tied to the memory.

-- wrote more dismissal monologues for characters with different personality traits, as well as for golems and spirits.

-- fixed: the game wasn't increasing character movement after equipping items that boosted speed.

??? / Re: A new engine!
« on: Yesterday at 02:22:46 PM »
-- you can now dismiss units from your roster on the army overview screen. (The game will give you a confirmation pop-up to confirm so you don't dismiss characters by accident.)

-- wrote a handful of unhappy little monologues for characters to deliver when you dismiss them; they now deliver said monologues if you go through with their dismissal.

Morale around camp is affected when a character is dismissed--just like when a character dies, each other character loses 1 morale, plus 1 per point of friendship they had with the dismissed character. (If a character had negative friendship with the unit, this will cancel out morale loss for that character--or even boost their morale!) Morale effects from dismissal are doubled on sensitive characters.

-- new script action: SwitchRoster. Just like the Roster Number battle condition, this changes the current roster. One parameter: roster number.

-- new supported weapon modifier for proc gen weapons: "Shredwing." Causes the weapon to do +8 damage to spriggats.

-- increased the damage modifier on Anti-mount weapons to +8.

-- further increased the effect of positive quality modifiers on armor.

-- fixed: camp activities would use all saved characters for activities, whether they're on the current roster or not!

-- fixed: the army overview screen was not registering changes to character morale within the same cut scene.

??? / Re: A new engine!
« on: March 24, 2019, 03:22:13 PM »
-- added error sound effects for clicking Action Bar buttons while they are redded out.

-- you can now use -1 as the Y or X coordinate in the SpawnUnit and GenerateUnit script actions to make the game spawn the unit on a randomly chosen space a suitable minimum distance from all other armies.

-- created a quasi-randomized battle for the main campaign. (The map and player starting positions are designed, but the types of enemies that spawn--and where they spawn--are quasi-random, as is some of the foliage). This battle is now used for pick-up fights between when the League 1 qualifier is scheduled and when it occurs.

-- the level parameter in GenerateUnit now supports the use of a numerical range in the same manner as generated units added directly to battlefields do.

-- when using an item, the character screen now automatically closes so the player can see the relevant pop-ups.

-- when using an item, the actions bar is now updated to reflect any changes (new skills, changed ability to use existing skills due to changes in energy, etc.)

-- fixed: the Undo button would leave dummy attack tiles visible on the battlefield if pressed while also moused over a skill button.

-- fixed: the game wasn't redding out the Rotate button after a character turn automatically ended following an End Turn skill.

-- fixed: description text in tooltips for the icons in the army overview screen cut off on certain displays.

-- fixed a null error lurking in the dialogue tree editor related to sound playback.

??? / Re: A new engine!
« on: March 22, 2019, 02:25:56 PM »
Artist feedback! Also:

-- began writing out the first big plot-advancing encounter of the game.

-- fixed a few scripting issues in the new random event.

-- fixed: if a character leveled up with the battle-winning blow and the experience bar / glowy ring animations didn't complete before the level-up screen popped up, they would remain frozen onscreen below the victory box even after the level-up screen was closed.

-- fixed: saved game slots for mid-battle saves were displaying the turn number in a way that was technically correct from the standpoint of how the code works (starting from 0 and counting as of the last completed turn), but nonsensical from the perspective of the player.

-- fixed: the game was not culling melee attacks from non-flying units across elevation differences greater than 1.

-- fixed: the AI was calculating the value of using Health and Energy-restoring consumables incorrectly.

-- fixed: the AI was incorrectly adding to item score by acting as though there were a granted skill on items that grant no skills.

-- fixed: the AI algorithm for determining whether to use an item was not being applied to long-term moves.

-- fixed a null error arising out of the procedure for re-adding battlefield holds when loading up a mid-battle save.

??? / Re: A new engine!
« on: March 20, 2019, 02:01:53 PM »
-- new script action: ChangeNarration. Cut scene only; replaces the narration text for the current frame of the cut scene. Takes one parameter: the new narration text to display.

-- new script action: GoToFrame. Cut scene only; jumps to the specified frame of the cut scene. Takes one parameter: frame number.

-- new script action: DismissByName. Works just like RecruitByName, but it dismisses the character from one or more rosters instead of adding them. Two parameters: character name and roster number (optional; if not used, dismisses from all rosters).

-- scripted a new (somewhat involved!) random event that can happen in camp.

-- units now possess a boolean property internal to themselves that lets the game know if they are generic or unique. The game now uses this property to decide which characters gain experience during battle, not whether they are on a player-controlled army. (Only non-generic characters gain experience.)

-- the game now assigns generic or non-generic status to proc gen units as appropriate.

-- the character creator now starts off the character creation process by giving the player a clear choice between creating a unique character or a generic unit type, with an explanation of how they differ. (The "generic" option is no longer an ill-explained button hidden in the portrait creator.)

-- the game successfully parses the isGeneric property for pre-made units. The character creator now successfully loads and saves the isGeneric property for characters.

-- fixed: the folder and portrait data for the generic Dark Spriggat portraits were mislabeled.

-- fixed: in rare instances, it was possible to select an object by clicking on a space where a character stood on top of an object.

-- fixed: the AI was not removing dead units from its internal list of allied healers when they died.

??? / Re: A new engine!
« on: March 18, 2019, 03:21:34 PM »
-- new script action: ShowCharacterScreen. Automatically opens the character screen for a unit. Takes one parameter: the character's name. (If the named character is not found in the scene or among saved characters, the screen simply doesn't open.)

-- new script actions: ChangeTriggerCharacter and ChangeSecondaryCharacter. These let you swap out the the units whom the dialogue considers the triggering and secondary characters, thereby allowing you to use special characters with different units. Each takes one parameter: the character's name.

-- right-clicking bridge segments now only brings up their info screen only if the bridge segment clicked is above liquid or a chasm; if right-clicking a bridge that overlaps a solid terrain tile, the game treats it as a right-click on the terrain (i.e. a cancel click).

-- fixed: wasn't saving active holds on spaces for mid-battle saves.

??? / Re: A new engine!
« on: March 17, 2019, 12:54:47 PM »
-- fixed: the game wasn't saving triggers on units, causing traps to cease functioning upon reloading mid-battle saves.

-- fixed a null error involved in loading reserve supplies brought about by Friday's fix re: saving of the runsScripts property on items.

??? / Re: A new engine!
« on: March 15, 2019, 02:25:30 PM »
-- the game now counts down status effects on destructible objects (and, where appropriate, damages them) at the end of each round in battle.

-- the battlefield camera boundaries now shift dynamically to accommodate things like the deployment screen and camera zoom-in during attacks.

-- shoving a unit into a liquid tile now treats the fall height as 1 unit lower for purposes of falling damage and stunning.

-- added a new tile phase to the game: void. Like liquid phase tiles, these get positioned a half-step lower than solid tiles on the battlefield; but unlike liquid phase tiles, they don't soften the landing for units shoved into them. To the contrary, any fall into a void tile is automatically treated like a 25-height fall (meaning that it does an immediate, unavoidable 100 damage and 24 continuous turns of Stunned status!)

-- chasm tiles are now void tiles.

-- reduced the default value of the accuracy constant in the game's AI so that AI-controlled characters won't choose heavily armored targets over targets with Dodge so consistently.

-- fixed: the game would sometimes act as though the player was clicking an object instead of the character standing on top of it.

-- fixed: the game wasn't saving the runsScripts property of items contained in unit inventories.

-- fixed: the game was inappropriately detecting a mid-battle save when saving at the conclusion of a battle.

-- fixed: the game wasn't displaying the status effect indicator on status-effect-bearing units after reloading a mid-battle save.

-- fixed: the game was treating empty bridge spaces as full for purposes of building non-bridge destructible objects with Create skills.

??? / Re: A new engine!
« on: March 14, 2019, 03:10:14 PM »
-- the game now actively prevents the camera from panning more than a little bit off the edge of the level. (I finally gave up on using a fancy physics-based solution and just went with magic numbers--no sense sinking more time into a fancier solution than the game needs when there's so much else to be done!)

-- the game now actively shifts character tooltips around to keep them entirely onscreen when mousing over units near the screen's edges during battle.

-- for mid-battle saves, all of the game's save and load game screens (as well as the slot selection screen when starting a new game) now display the turn number on which the battle was saved.

-- created alternate versions of the healing tutorial in the main campaign based on the selected difficulty (and the corresponding Death Rules).

-- fixed: the game would sometimes lock up when an AI character grabbed an item sack, then immediately turned and attacked an adjacent enemy.

-- fixed: the AI would sometimes run two character's moves concurrently if an experience bar stopped animating midway through the first character's move.

-- fixed: the game would sometimes lock up when the player completed a battle.

-- fixed: the experience bar and level-up animations did not reflect the lower level-up threshold for characters possessing points of Aptitude.

??? / Re: A new engine!
« on: March 13, 2019, 03:11:00 PM »
-- the game now plays the Telepath victory fanfare when the victory box appears at the end of a successful battle.

-- the parameters for Generate: and Unique: spawns in battle now support special characters (most significantly, the PICK{}, -STR:-, -VAL:-, and LIST{} special characters).

-- tuned the game's default AI to make enemies less likely to retreat in lieu of making a sub-optimal short-term move.

-- fixed: a custom variable in the main campaign wasn't being set properly.

-- fixed: AI-controlled units that were Stunned or Frozen were being removed from the AI's internal list of its own army entirely.

-- fixed: the level-up handler class was inappropriately saving stat increases from prior character level-ups and applying them again with subsequent level-ups.

-- fixed a typo in certain camp activity narrations.

-- fixed: the recruitment interface was producing large relative level variations for recruits at low levels. It now permits a variation of 1 level per 4 base levels it generates with, but no variation for units generated at level 3 or less.

-- fixed: the game was not properly saving the Death Rules condition during mid-battle saves.

??? / Re: A new engine!
« on: March 12, 2019, 02:51:00 PM »
-- wrote dialogue for the League 1 Qualifier battle, including an optional recruitment conversation.

-- new special characters: -TIC2- and -LAUGH2-. These get replaced with the tic and laugh lines for the second character in the conversation.

-- the second parameter of SetString now supports the use of ID[] characters.

-- the "generate unit inventory" field in the map editor's generate unit window has been changed to a check box (which is decidedly easier to interact with than typing out "true" or "false" every time).

-- fixed: the game would fail to add custom tags and triggers to unique procedurally generated characters.

-- fixed: you could force the game to use an unsupported species for procedurally generated instances of the spirit, spriggat, and golem classes, which would ultimately produce a null error.

-- fixed: the dialogue menu would only successfully reference saved characters when processing text in battle (as opposed to any unit on the battlefield).

-- fixed: the game would throw a null error if you tried to use AddStatus on a character that didn't exist, or SetStat in a cut scene before any characters existed among the saved units yet.

??? / Re: A new engine!
« on: March 11, 2019, 03:05:57 PM »
-- created a new battle immediately preceding the league 1 qualifier, "Battle on Sandy Isles," introducing flying enemies and golems.

-- new script action: SetNextScene. Changes the scene's nextbattle attribute to a different scene, but does not immediately transition to that scene. One parameter: scene name.

-- created a scene in the main campaign that schedules league qualifier matches for particular days.

??? / Re: A new engine!
« on: March 09, 2019, 01:25:47 PM »
-- created new attributes for procedurally generated armor: Padded (+20 Crush Res.), (Insulated +15 Heat and Cold Res.), Lead-lined (+15 Shadow and Light Res.), Gleaming (+7 Dodge), and Gaudy (wearer is 20% more heavily weighted as a target by the AI).

-- when dealing with generic units who don't have weapons equipped, the game now checks for the corresponding weapon skill for purposes of ModPowerVsWeapon. (For instance: Bloodbeard's Bandits don't generally have axes equipped, but they do know the Axe skill naturally. This change means that ModPowerVsWeapon,,Axe,+:5 will still result in +5 damage to them.)

-- fixed: the game wasn't assigning a base class to procedurally generated characters.

-- fixed: the game was calculating distance past minimum for player-initiated ranged attacks incorrectly.

-- fixed: the game wasn't turning off the "selected" animation for characters who were simply deselected.

??? / Re: A new engine!
« on: March 08, 2019, 04:29:51 PM »
Spent some time updating the web site and preparing an ad campaign to try to sell off the remaining stock of True Messiah. With my remaining time available today:

-- implemented two new tags: BackstabFactorPlus and SidestabFactorPlus. These take two parameters (1) the name of the skill that gets this bonus, and (2) a decimal float value. The float value gets added to the backstab/sidestab multiplier attributes for attacks with the specified skill (or, if parameter 1 is left blank, for attacks with every skill).

(Procedurally generated "Gap-seeking" weapons give the character these.)

-- implemented a new tag: DmgIgnoreRes. This takes two parameters (1) the name of the skill that gets this bonus, and (2) a decimal float value. The float value gets multiplied by the target's relevant resistance--this portion of the target's resistance is ignored for attacks with the specified skill (or, if parameter 1 is left blank, for attacks with every skill).

(Procedurally generated "Armor-piercing" weapons give the character this.)

-- implemented a new tag: ModSkillPower, which replaces the old ModDmgForAttack tag. ModSkillPower affects a skill's base damage for the character with the tag. (The tag's effects are calculated after all other base damage factors, but before anything relating to the skill's target--distance, elevation, the relevant resistance, etc.) Like ModSkillCost and ModSkillRange, ModSkillPower takes the skill name and the operation to perform on its base damage (e.g. +:1) as parameters.

-- implemented new tags: ModDmgVsClass, ModDmgVsMoveType, ModDmgVsSpecies, ModDmgVsTag, and ModPowerVsWeapon. Unlike the old ModDmgFor tags that they replace, these can operate on particular skills used by the character with the tag. Parameters are: (1) skill name (leaving this blank will apply the effect on all unit skills), (2) the particular class/gender/move type/species/tag/weapon type that triggers the operation, and (3) the operation. And unlike the ModSkillPower tag type, these affect final damage, after all other factors have been accounted for (including resistances).

For instance--for whatever character has this tag, no matter what skill they use, the game doubles the damage it does to units who are equipped with a weapon with a name containing the substring "Axe":

Code: [Select]
For the character with this tag, the game adds 99 to the damage done by the skill Death Gaze to units with the tag Vulnerable to Gaze:

Code: [Select]
ModPowerVsTag,Death Gaze,Vulnerable to Gaze,+:99
And so on.

-- added two new weapon modifiers to the item generator: "Anti-mount" (deals +6 damage to cavaliers) and "Flashy" (increases AI target value by 15%).

??? / Re: A new engine!
« on: March 07, 2019, 02:59:25 PM »
-- the map editor now supports procedurally generated unique characters, not just generics.

-- the space selector has been added to the map editor, making it way easier to tell what space you're painting or mousing over.

-- began designing the first boss battle of the game.

-- the game engine now supports movement sounds for characters (something I never got around to adding in on Telepath Tactics!)

-- created several movement sounds.

-- generated characters now receive move sounds appropriate to their species and class.

-- went through all premade characters and assigned them appropriate moveSound attributes.

-- two new string stats supported: Load ID and Move Sound. (When setting a new Load ID with SetStat, use a colon in place of a forward slash.)

-- when saving a scene to a file, the game now strips all forbidden characters out of the filename and replaces them with underscores.

-- fixed: after editing the properties of an object, the map editor would always set its army to 2.

Pages: [1] 2 3 ... 250