Saturday, September 3rd. It was quite a successful week for combat, and -- believe me or not -- I am getting much closer to being satisfied enough with the engine to start working on the actual content. It's been a long journey so far, but I have learned a lot! Here are some of this week's minor changes:
- Fixed a bug that caused characters and the player to be removed from the game on death.
- The death screen will now draw properly above the transition screen.
- Fixed a bug that caused the player to take damage when shooting a bow at point-blank range.
- Split the Weapon.cs "damage" variable into two, "physical" and "projectile" damage types, and added a "BlockPercentage".
- Heavy crossbows now derive from the Crossbow class rather than a separate one.
- Made some backend changes to how spellcasting functions.
- Added "lifetime" for time-based visuals, and "isMultiple" for allowing a visual to be added multiple times (emitters).
- Blood spews out of monsters when hit by a physical attack.
- Added ConnectedParticle to available particles. This allows particles to be connected visually via lines.
While it took a majority of my week, I'm much happier with how combat works. My goal this time around was to make it with maximum freedom and flexibility in mind for those who are creating the weapons (for now, that's online me). To start, there are four categories of combat in Pilgrimage of Embers:
- Striking. Close-range weaponry. This includes swords, warhammers, spears, etc.
- Shooting. Long-range weaponry. This includes crossbows, longbows, thrown weapons (knives and potion flasks), etc.
- Casting. Catalyst weaponry. This enables the wielder to cast spells, and includes shortstaves, longstaves, books, etc.
- Blocking. Damage prevention. This is primarily shields.
Though a sword is in the striker category, that doesn't restrict it from performing actions from other categories. Swords that can cast spells are possible, as well as spiked shields that deal damage, or crossbows with a metal shield in the front for defending. The most common example will be strikers (greatswords, spears, etc.) with a blocking stance.