It was a very productive weekend, what with graphical enhancements, bug fixes and a few new features.
Here's what went down:
Room Centric NPC's (termed Mobs, for differentiation)
Revel Immortal, has two classifications of NPCs; the first might be called 'designed' or 'global' NPCs.
The are created at the world level, given a starting address to reside at; and have persistent state keyed by their unique npc id.
The other kind of NPCs are created at the per-room level; have no id, and only a local x,y location; they do have state, but their state is backed by the RoomState; and room-states expire after having been left unvisited for five in-game days.
In this case, they are ideal for hostile NPCs, where if you leave the map and don't return after five in-game days they will respawn; where specific hostiles (bosses) with important drops, would likely be designed NPCs that stay dead in the world state.
It's been planned, ever since I added the dynamic clothing/equipment feature; to have user configurable equipment dyes.
Thankfully due to the way the system was implement, it was very easy to add this feature (it took literally about 10 minutes).
Dyes are any item which has the 'staining' flag (meant to mean 'this will stain') set to true (similar to flags such as: weildable, consumable, useable, equipable).
When placed in a dye-slot (which sit above the equipment slots); the dye item's 'equipmentColor' will override the existing equipmentColor.
So, very simple; and it means that dyes are reusable isntead of being irrevocably bound to an item once used.
There are currently plans for several dyes, aquirable in-game; a few being unusual and found as quest rewards or boss drops.
And some dyes being 'micro-transaction' purchasable only.
Dyes will be tied to the specific save-game; though I have eventual plans to allow item trading across save-states or users.
Useables & Consumables
We've had consumable items as a feature for a while, it occured to me that some items should be infinitely useable.
Now, any items with the usable flag, are infintiely useable; and if the consumable flag is set, they will eat one item per use.
Further Work on Combat
Now that there are a few quests, and plans for more in the coming months before May; I have plans to shore up some aspects of combat.
A first goal is to carve out a modest dungeon in garranshall and have a number of enemies roaming around.
Hopefully sprinkled with a related quest or two, and a boss.
Along with this weapon/spell (weildables) features need some upgrades:
At the moment weapons inflict melee or magic damage; and the fixed-function system for displaying that is pretty limited.
If a weapon deals magic damage; it will adhere to the 'magic' behavior parameters on the item; which denote things like:
- Magic projectile image
- Speed of travel
- Rotation Origin
- Rotation Rate
- Modulation Color
Far more limited is the melee damage; at the moment it does only a sword-slash type-animation.
I would like to merge and expand the magic projectile system to allow for stab/lunge weapons, ranged weapons and things like boomerangs/flais.
In addition I hope to allow for 'unarmed' and fist-type weapons;