News:

Welcome to the new Sinister Design forums!

Main Menu

Developer's Log

Started by CraigStern, February 11, 2013, 07:19:44 PM

Previous topic - Next topic

CraigStern

#300
Whenever you have a dialog branch with multiple actions in it that include MoveChar, the game now runs all of the MoveChar actions first, and then runs the other actions after all of the characters have completed moving.

The game no longer freezes if you try to move a character to an inaccessible space using MoveChar.

New script action: IfOnCoordsRun. This action has four parameters: (1) character name, (2) y coordinate, (3) x coordinate, and (4) script name. It checks to see if the named character is at the battlefield coordinates you specified--if so, then the named script is run. You can also specify "NO_ONE" for the first parameter, in which case the game checks to see if the space is entirely empty--if it is, then the named script is run.

"Why create IfOnCoordsRun when we already have pressure triggers and OnReachingSpace?" you ask. Simple! I created IfOnCoordsRun as a way of checking to see if characters are blocking scripted movement via MoveChar during a conversation, and moving them out of the way if they are. You can't use OnReachingSpace or pressure triggers in this way, since they can't check character positions in the middle of dialog. Hence, the reason for IfOnCoordsRun.

CraigStern

Fixed a bug where you could advance dialog even while the dialog menu was invisible during character movement simply by using hotkeys.

Fixed a weird bug where CPU characters would sometimes overlap each others' turns if there were counterattacks happening.

Fixed an issue where the turn wouldn't end if the last character to attack used a turn-ending attack and leveled up off of it.

CraigStern

Fixed the bug where characters with a counterattack would nonetheless fail to counterattack after dodging an enemy attack.

CraigStern

New character attribute added to CharClasses.xml and ObjClasses.xml: lighting.

The lighting attribute can be left blank--if you leave it blank, the character will accept ambient global lighting, just as normal.

If you want a certain character or object to always have its own lighting color, however, stick in three parameters delimited by commas: Red, Green and Blue values. Just as with Global Lighting parameters, these are decimal numbers that can be anywhere from 0 to 2.0, with 1.0 being 100% color value.

E.G.

<Obj charname="none" spritetype="CampfireLit"...shadowType="Small" shadowY="36" lighting="1.6,1.2,0.7"...

Here, lighting="1.6,1.2,0.7" tells the game to increase the red value by 60%, the green value by 20%, and reduce the blue by 30%, no matter what the global lighting for the level is.

Another example:

<Char charname="Shadow/Emma" spritetype="Swordsman_F"...shadowType="Small" shadowY="32" lighting="0,0,0"...

Here, lighting="0,0,0" tells the game to turn the sprite completely black. We've just created a shadow version of one of our normal sprites!

You can see examples of this new attribute in action below.

NOTE: if you are working on a campaign, then once I update the build again, you're going to need to update your CharClasses.xml and ObjClasses.xml files; just add lighting="" in between the shadowY and ctr attributes for each character and object, and you'll be set. Suggestion: use ctrl + H (find and replace all) to make this process easier. Specifically, replace ctr=" with lighting="" ctr=" and you'll be good to go!

CraigStern

There is now an objectives window supported in Telepath Tactics, so players can easily see their win and loss conditions for each battle!
Use Shift + O to toggle the objectives window on and off.

Relatedly, there is a new tag supported in battles: <Objective>!

Whatever your battle's objectives happen to be, just write each one in between an <Objective></Objective> tag in the map file, and the game will make them appear as a bulleted list in the objectives window. So this:

<Objective>Defeat all enemies</Objective>
<Objective>Emma and Sabrina must both survive</Objective>
<Objective>Eat your veggies</Objective>
<Objective>Be nice to your momma</Objective>
<Objective>Say hi to your aunt Sadie for me</Objective>


...becomes this:

CraigStern

The map editor has been updated to support battle objectives; it will now load and save objectives correctly, and will give new maps two default objectives:


  • Defeat all enemies to win.
  • At least one character in your army must survive!

CraigStern

I finally figured out and implemented a simple, elegant solution to tall objects blocking the characters behind them: whenever you left-click an object, it acts as if you clicked the space behind it for purposes of character selection. No more difficulties trying to select characters behind trees! ;)

CraigStern

Fixed a bug where attacks launched after ending an OnCharAttacking conversation didn't animate.

Fixed a bug which caused attacks to duplicate themselves after each battle.

CraigStern

Created some new item icon variants for "practice weapons."

Updated the game manual with all of the new features, attributes and script actions I've added to the game recently.

CraigStern

Got a load of new attack icons in! We're now up to 85 completed.

New portrait: Governor Schmendrick.

Fixed a slew of bugs relating to the actions menu popping up at unwanted times after closing dialog triggered by attacks and character deaths.

Fixed a bug that prevented characters that hit 100+ experience from leveling up if they reached that point by killing an enemy who gave a death monologue.

CraigStern

More stuff! First: I purchased Pyxel Edit last night, and this morning I produced my first-ever pixel animation: a "Power Up" effect for character buffs in Telepath Tactics. I've now tested it in-game, and I have to say, it actually looks pretty darn cool. So that's now being used for abilities like Sprint, Motivate and Levitate.

New character portraits!

All alternate gender attack animations are finished! :D

CraigStern

For characters without unique names and with gender set to "Either", the game now automatically appends _M or _F to the character's spriteType and portrait attributes based on the gender it selects.

What this means from a practical perspective: both men and women are now equally represented in multiplayer. :)

CraigStern

Filled the female spriggat name database with over 100 names; added the Power Up visual effect animation to Levitate, motivate, Sprint, and Defensive Stance; extended the Defensive Stance animation by 7 frames to better line up with the effect animation; made some edits to character portraits to make character colorations match their sprites.

CraigStern

New portrait: Fera!

We also have the first set of NPC sprites: villagers! (A few of which are shown below.)

CraigStern

Posted the monthly update yesterday!

Also, I replaced the ugly beige boxes the game was using for tool tips and mouseover info on characters with a really slick bitmap graphic that can dynamically resize itself to fit the text it contains. It's a big visual upgrade, lemme tell ya! ;)