- quests.json
Release Notes:
- Toggle Options Dialog / Clear Target keybinding now also closes dialogs that support onclose().
- Environment light map now is now applied via a multiply composite operation instead of an overlay.
- Began laying the groundwork for the in-game quest editor.
- net.lugdunon.state.quest.QuestDefinitions now hosts lists of progress, resolver, trigger, completion and abandon condition implementation classes in addition to the quests themselves.
- Refactored the structure of ~/etc/quests.json to contain a list of progress, resolver, trigger, completion and abandon conditions.
- Added support for quest progress, resolver, trigger, completion and abandon conditions to net.lugdunon.state.mod.Mod.
- Added an overwrite directive for quests.json to net.lugdunon.server.worldgen.defaults.DefaultWorldGen.json
- Added game.getQuesting() to the client-side API to provide access to the quest definitions object.
- Added net.lugdunon.state.quest.condition.abandon.IAbandonCondition to the client-side code base.
- Added net.lugdunon.state.quest.condition.completion.ICompletionCondition to the client-side code base.
- Added net.lugdunon.state.quest.progress.IProgress to the client-side code base.
- Added net.lugdunon.state.quest.progress.BaseProgress to the client-side code base.
- Added net.lugdunon.state.quest.progress.CraftItem to the client-side code base.
- Added net.lugdunon.state.quest.progress.ItemCollection to the client-side code base.
- Added net.lugdunon.state.quest.progress.KillNPC to the client-side code base.
- Added net.lugdunon.state.quest.progress.NPCProximity to the client-side code base.
- Added net.lugdunon.state.quest.progress.PlaceItem to the client-side code base.
- Added net.lugdunon.state.quest.resolver.IResolver to the client-side code base.
- Added net.lugdunon.state.quest.resolver.BaseResolver to the client-side code base.
- Added net.lugdunon.state.quest.resolver.NPCResolver to the client-side code base.
- Added net.lugdunon.state.quest.trigger.ITrigger to the client-side code base.
- Added net.lugdunon.state.quest.trigger.BaseTrigger to the client-side code base.
- Added net.lugdunon.state.quest.trigger.NPCTrigger to the client-side code base.
- Added net.lugdunon.state.quest.QuestDefinitions to the client-side code base.
- Moved net.lugdunon.state.quest.Quest from the client to the server.
- Moved net.lugdunon.state.quest.QuestData from the client to the server.
- Moved net.lugdunon.state.quest.QuestProgress from the client to the server.
Now that blend modes are supported by the canvas' 2d context globalCompositeOperation, I am finally able to make the light map in Lugdunon look as it was originally intended. Here are a few snapshots illustrating the difference:
Comparison between the old (overlay, on the left) and the new (multiply, on the right) light map application.
Old Light Map Application Mode (Overlay)
New Light Map Application Mode (Multiply)