Upcoming Release
From LugdunonWiki
0.6.4
Last Updated: 26/05/2014
mods altered in this update:
- net.lugdunon.world.defaults.audio
- net.lugdunon.world.defaults.compendium
- net.lugdunon.world.defaults.tui
server mods altered in this update:
- net.lugdunon.server.worldgen.defaults
/etc files altered in this update:
- instances/0/placeableItemCache.json
- instances/0/terrain.dat
- instanceTemplates/LYCEUM_SHINING_HEART/instance.json
- instanceTemplates/LYCEUM_SHINING_HEART/npcCache.json
- instanceTemplates/LYCEUM_SHINING_HEART/placeableItemCache.json
- instanceTemplates/LYCEUM_SHINING_HEART/terrain.dat
- instanceTemplates/LYCEUM_SHINING_HEART/waypointCache.json
- behaviors.json
- behaviorStates.json
- items.json
- npcs.json
Release Notes:
- Cross-origin images are now initialized properly in order to not 'taint' any canvases they drawn onto.
- Fixed an issue that was causing the standalone client settings to fail to properly initialize if the codehelper APIs are unavailable. game.client.getPublicIp() will now return "Service Unavailable" in that case.
- Fixed an issue that was causing unnecessary escapes of forward slashes in JSON strings.
- Updated all mod.json artifact URLs to not require forward slash escapes.
- Progress and wait dialogs now block all input and UI elements when active.
- Player triggers for placeables now supports npc-specific triggers in addition to player character triggers.
- Player triggers for placeables now support two modes: stop on tile, and move through tile.
- Removed need to mirror world mod jars into each world directory.
- Servers and standalone clients now maintain a single local mod cache shared for all worlds.
- Added support for subsystems that don't require an implementation class.
- Added support for subsystems that don't require any persistent storage.
- Added ICONS subsystem.
- Added TILESET subsystem.
- Added UI subsystem.
- Removed the icon.config server config property.
- Removed the tileset.config server config property.
- Removed the ui.config server config property.
- Added support for mod repository listings. Mod repositories can now enumerate their curated mods (both server and world).
- Added a UI to the standalone client for users to manage and get info about their mod repositories.
- Added a UI to the standalone client for users to install new server mods.
- Added a UI to the standalone client for users to install new world mods.
- Added /getAvailableServerConfigProps/ to the standalone client REST API.
- Added /getAvailableWorldConfigProps/ to the standalone client REST API.
- Added /getRegisteredRepositories/ to the standalone client REST API.
- Added /addRepository/ to the standalone client REST API.
- Added /deleteRepository/ to the standalone client REST API.
- Added /installMod/ to the standalone client REST API.
- Added /installServerMod/ to the standalone client REST API.
- Added /removeMod/ to the standalone client REST API.
- Added /removeServerMod/ to the standalone client REST API.
- Added /getServerMods/ to the standalone client REST API.
- Added /getWorldMods/ to the standalone client REST API.
- Added /toggleServerMod/ to the standalone client REST API.
- Added /toggleWorldMod/ to the standalone client REST API.
- Added net.lugdunon.client.runner.InstallModRunner to the standalone client-side code base.
- Added net.lugdunon.client.runner.InstallServerModRunner to the standalone client-side code base.
- Added net.lugdunon.client.runner.RegisterRepositoryRunner to the standalone client-side code base.
- Added net.lugdunon.client.runner.RegisteredRepositoryListingRunner to the standalone client-side code base.
- Added net.lugdunon.client.util.InstallMod to the standalone client-side code base.
- Added net.lugdunon.client.util.InstallServerMod to the standalone client-side code base.
- Added net.lugdunon.client.util.RegisterRepository to the standalone client-side code base.
- Added net.lugdunon.client.util.RegisteredRepositoryLister to the standalone client-side code base.
- Added net.lugdunon.client.Client.setLocalServerMods(JSONArray localServerMods) to the standalone client-side API.
- Added net.lugdunon.client.Client.setLocalMods(JSONArray localMods) to the standalone client-side API.
- Added net.lugdunon.client.Client.getEnabledServerMods() to the standalone client-side API.
- Added net.lugdunon.client.Client.getLocalServerMods() to the standalone client-side API.
- Added net.lugdunon.client.Client.getLocalMods() to the standalone client-side API.
- Added net.lugdunon.client.Client.toggleServerMod(String mod) to the standalone client-side API.
- Added net.lugdunon.client.Client.toggleWorldMod(String mod, String world) to the standalone client-side API.
- Added net.lugdunon.client.Client.getModUsageDataForWorld(final String world) to the standalone client-side API.
- Added net.lugdunon.client.Client.getModUsageData() to the standalone client-side API.
- Added net.lugdunon.task.LDRTask to the ant build code base. This task will generate a repository manifest file (repository.ldr).
- Added net.lugdunon.state.character.NonPlayerCharacter.setLocation(Point location) to the server-side API.
- Added net.lugdunon.state.character.PlayerCharacter.setLocation(Point location) to the server-side API.
- Added net.lugdunon.state.item.trigger.player.IPlayerTrigger.playerTriggeredOnStop(PlaceableItemInstance pii, PlayerCharacter pc) to the server-side API.
- Added net.lugdunon.state.item.trigger.player.IPlayerTrigger.playerTriggeredOnTileEnter(PlaceableItemInstance pii, PlayerCharacter pc) to the server-side API.
- Added net.lugdunon.state.item.trigger.player.IPlayerTrigger.npcTriggeredOnStop(PlaceableItemInstance pii, NonPlayerCharacter npc) to the server-side API.
- Added net.lugdunon.state.item.trigger.player.IPlayerTrigger.npcTriggeredOnTileEnter(PlaceableItemInstance pii, NonPlayerCharacter npc) to the server-side API.
- Removed net.lugdunon.state.item.trigger.player.IPlayerTrigger.playerTriggered(PlaceableItemInstance pii) from the server-side API.
- Added net.lugdunon.state.subsystem.Subsystems.getTileset() to the server-side API.
- Added net.lugdunon.state.subsystem.Subsystems.getIcons() to the server-side API.
- Added net.lugdunon.state.subsystem.Subsystems.getUI() to the server-side API.
- Added net.lugdunon.state.Manifest.setManifestEntry(String type, String key, String value) to the server-side API.
- Added net.lugdunon.state.State.getServerModPath() to the server-side API.
- Added net.lugdunon.state.State.getWorldModPath() to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.listLocalServerMods() to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.getURLConnection(String url) to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.fetchRepositoryManifest(String repoUrl) to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.installMod(String mod, String repoUrl) to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.installServerMod(String mod, String repoUrl) to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.removeMod(String mod) to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.removeServerMod(String mod) to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.listLocalMods() to the server-side API.
- Added net.lugdunon.util.FileUtils.fixJSONContent(String content) to the server-side API. This method strips single and multi-line comments from a string and various other transformations before parsing as json.
- Added net.lugdunon.world.instance.Instance.NULL_INSTANCE_ID to the server-side API.
- Added net.lugdunon.world.terrain.Chunk.getPlayerTriggerablePlaceableRefs() to the server-side API.
- Removed net.lugdunon.world.terrain.Chunk.addPlaceableRef(long pRef) from the server-side API.
- Added net.lugdunon.world.terrain.Chunk.addPlaceableRef(PlaceableItemInstance pii) to the server-side API.
- Made net.lugdunon.Server.enumerateRegisteredProperties() public in the server-side API.
- Added net.lugdunon.state.subsystem.tui.TUISubsystem to the server-side code base.
- net.lugdunon.ui.table.cell.content.IconActionCellRenderer now supports a renderer for labels.
- net.lugdunon.ui.table.cell.content.InlineEditorContentCellRenderer now supports an editable text field + select mode in addition to the default text field mode.
- Added support for cell-level tooltips to the table class.
- Added support for cell-level hover labels to the table class.
- Added an .ellipsis css rule to allow for easy flagging of elements that should show an ellipsis in the event of a text overflow.
- Added a .stroked css rule to allow for easy flagging of elements that should display text with a black stroke.
- game.showTooltip() now properly handles empty content.
- Added game.getGameScreenStateURL(). This returns the current image data url of the game's render state.
- Added keybinds to hook into the new screenshot APIs (defaults are F1, F2, F3 for the three flavors: undecorated, decorated, and full).
- Added net.lugdunon.input.keybind.screenshot.TakeDecoratedScreenshotKeybinding to the client-side code base.
- Added net.lugdunon.input.keybind.screenshot.TakeFullScreenshotKeybinding to the client-side code base.
- Added net.lugdunon.input.keybind.screenshot.TakeUndecoratedScreenshotKeybinding to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.StandaloneClientSetting.handleKeySelectMode(e) to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.StandaloneClientSetting.handleKeySelectPopulation(select) to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.StandaloneClientSetting.postGetServerMods(data) to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.StandaloneClientSetting.handleModToggle(row) to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.StandaloneClientSetting.renderModToggle(row) to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.StandaloneClientSetting.renderModToggleLabel(row) to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.ServerModsSetting to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.RepositoriesSetting to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.repository.RepositoryManagementDialog to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.repository.AvailableServerModsTooltipRenderer to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.repository.AvailableModsTooltipRenderer to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.repository.sections.ServerModsSection to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.repository.sections.Section to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.repository.sections.ModsSection to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.repository.sections.DetailsSection to the client-side code base.
- Added net.lugdunon.states.tiledGame.TiledGame.takeScreenshot(screenshotMode) to the client-side API.
- Added net.lugdunon.states.tiledGame.TiledGame.dumpScreenshot() to the client-side API.
- Added net.lugdunon.states.tiledGame.TiledGame.SCREENSHOT_MODE_NONE to the client-side API.
- Added net.lugdunon.states.tiledGame.TiledGame.SCREENSHOT_MODE_NO_DECORATION to the client-side API.
- Added net.lugdunon.states.tiledGame.TiledGame.SCREENSHOT_MODE_DECORATION to the client-side API.
- Added net.lugdunon.states.tiledGame.TiledGame.SCREENSHOT_MODE_ALL to the client-side API.
- Added net.lugdunon.states.worldGen.WorldGenState.renderEditModsUI() to the client-side API.
- Added net.lugdunon.states.worldGen.WorldGenState.postGetWorldMods(data) to the client-side API.
- Added net.lugdunon.ui.table.Table.addRow(row) to the client-side API.
- Added net.lugdunon.server.worldgen.defaults.DefaultWorldGen.handleKeySelectMode(e) to the client-side API.
- Added net.lugdunon.server.worldgen.defaults.DefaultWorldGen.handleKeySelectPopulation(select) to the client-side API.
- Added the ability for players to enable / disable server mods using the standalone server settings UI.
- Added the ability for players to enable / disable world mods using the world configuration UI.
- Fixed an issue with the minimap not tracking correctly when near a map boundary.
- Fixed an issue that was causing the light map to not be applied correctly on the minimap.
- Fixed an issue with the quest editor not properly resetting its modified flag when a quest is saved.
- Fixed an issue with the quest editor not properly reloading the current quest when saved.
- Fixed an issue with the quest editor not exiting the wait state when saving a new quest.
- Fixed an issue with countable base quests not properly persisting their completion state.
- Fixed an issue that was preventing the item reward completion condition UI from rendering.
- Fixed an issue that was preventing the placeable removal abandon condition UI from rendering.
- Fixed an issue that was causing a server-side error when occasionally removing metrics listeners.
- Added support for a player trigger handler attached to a placeable item. The current instance triggers have been updated to use this new feature.
- Added net.lugdunon.state.item.trigger.player.IPlayerTrigger to the server-side code base.
- Added net.lugdunon.state.item.trigger.player.InstanceTransistionPlayerTrigger to the server-side code base.
- Added net.lugdunon.state.item.trigger.player.LinkToStatePlayerTrigger to the server-side code base.
- Added net.lugdunon.state.item.Item.isPlayerTriggered() to the server-side code base.
- Added net.lugdunon.state.item.Item.getPlayerTrigger() to the server-side code base.
- Removed net.lugdunon.state.item.PlaceableItemInstance.isInstanceTrigger() from the server-side code base.
- Removed net.lugdunon.state.item.PlaceableItemInstance.getInstanceTriggerDef() from the server-side code base.
- Added net.lugdunon.state.character.behavior.BaseBehavior.reinitStates() to the server-side API.
- Added net.lugdunon.state.character.behavior.core.CycleBehavior to the server-side code base.
- Added net.lugdunon.state.character.behavior.core.FaceDirectionBehavior to the server-side code base.
- Added net.lugdunon.state.character.behavior.core.PerformActionBehavior to the server-side code base.
- Added anvil strike sound effect to the net.lugdunon.world.defaults.audio mod.
- Added stone grating sound effect to the net.lugdunon.world.defaults.audio mod.
- Added coal tending sound effect to the net.lugdunon.world.defaults.audio mod.
- Added a new NPC at the family farm named Maros, who tends the forge and may have some new quests for players.
- Added a new farm just to the north of the family farm.
- Added the Lyceum of The Shining Heart at the southern outskirts of Bibracte. Possible quests and revelations of the ancient mysteries await adventurers there.
- Added a new item type that allows GMs to create transitions between two points in the same instance. This will allow players to travel between floors in a house, or to descend deeper into a dungeon's depths.
- Fixed an issue that was allowing multiple shutdown threads to exist simultaneously. This is likely the issue that was causing the standalone client world corruption.
- Added the first pass at a particle system implementation.
- Added net.lugdunon.effects.particle.Emitter to the client-side code base.
- Added net.lugdunon.effects.particle.Particle to the client-side code base.
- Added net.lugdunon.ParticleTest to the client-side code base.
- Added net.lugdunon.effects.particle.images.sphere.png to the client-side code base.
- Added particles.html to the client-side code base.
- Implemented a process runner API for spawned-process management and interaction in the standalone client code base.
- Added standaloneServer.props file. This replaces standaloneServer.add and allow for more properties than just the current server address to be noted.
- Added net.lugdunon.client.Client.startRunner(String runnerId, Runner runner) to the standalone client API.
- Added net.lugdunon.client.Client.clearRunner(String runnerId) to the standalone client API.
- Added net.lugdunon.client.Client.getRunner(String runnerId) to the standalone client API.
- Added net.lugdunon.client.Client.getStandaloneServerProperty(String key) to the standalone client API.
- Added net.lugdunon.client.Client.setStandaloneServerProperty(String key, Object value) to the standalone client API.
- Added net.lugdunon.client.Client.saveStandaloneServerProperties() to the standalone client API.
- Added net.lugdunon.client.runner.Runner to the standalone client code base.
- Added net.lugdunon.client.runner.ClientUpdaterRunner to the standalone client code base.
- Added net.lugdunon.client.runner.ServerRunner to the standalone client code base.
- Added net.lugdunon.client.runner.WorldGeneratorRunner to the standalone client code base.
- net.lugdunon.world.defaults.compendium.consoleParameterFilters.CodexRESTHandler now contains a boolean value indicating whether or not a parameter filter has a client-side implementation.
- net.lugdunon.world.defaults.compendium.consoleParameterFilters.Codex now indicates if a parameter filter has a client-side implementation.
- Added net.lugdunon.Game.INFINITE_COMPLETE_THRESHOLD to the server-side API.
- Added net.lugdunon.Game.isShutdownInProgress() to the server-side API.
- net.lugdunon.command.core.ConnectToServerCommand now has an infinite command completion threshold, thereby indicating that it will block indefinitely until completed.
- net.lugdunon.command.core.console.gm.SaveCommand now has an infinite command completion threshold, thereby indicating that it will block indefinitely until completed.
- net.lugdunon.command.core.console.gm.ShutdownCommand now has an infinite command completion threshold, thereby indicating that it will block indefinitely until completed.
- Moved standalone client automatic shutdown when the server super user disconnects from net.lugdunon.command.core.console.QuitCommand to net.lugdunon.state.State.invalidateAccount(Account a).
- Fixed an issue with net.lugdunon.state.quest.condition.completion.reward.ItemReward that was causing issues with saving quest data.
- Fixed an issue that was causing RECIPE:CRAFTING.RECIPE.ID to appear in several quest summaries. Read that as 'I totally forgot to implement the following feature for 0.6.3'.
- Parameter filter support extended for use in text block on the client-side.
- Added game.filterText(text,actor,props) to client-side API.
- Added net.lugdunon.command.core.console.parameters.IParameterFilter to the client-side code base.
- Added net.lugdunon.command.core.console.parameters.IParameterFilter.hasClientSide() to the server-side API.
- Added net.lugdunon.command.Interpreter.listClientSideParameterFilters() to the server-side API.
- Fixed match for net.lugdunon.world.defaults.compendium.CraftingRecipeLinkParameterFilter to disregard a trailing '.'.
- Fixed match for net.lugdunon.world.defaults.compendium.InstancedPlayerItemLinkParameterFilter to disregard a trailing '.'.
- Fixed match for net.lugdunon.world.defaults.compendium.ModifierLinkParameterFilter to disregard a trailing '.'.
- Fixed match for net.lugdunon.world.defaults.compendium.SpellLinkParameterFilter to disregard a trailing '.'.
- Added net.lugdunon.world.defaults.compendium.CraftingRecipeLinkParameterFilter to the client-side code base.
- Added net.lugdunon.world.defaults.compendium.InstancedPlayerItemLinkParameterFilter to the client-side code base.
- Added net.lugdunon.world.defaults.compendium.ModifierLinkParameterFilter to the client-side code base.
- Added net.lugdunon.world.defaults.compendium.SpellLinkParameterFilter to the client-side code base.