Release 0.8.0

From LugdunonWiki
Revision as of 03:36, 8 November 2015 by Lugdunon (Talk | contribs)

Jump to: navigation, search
Engine Content: This information applies to the engine and therefore to all servers.

0.8.0


07/13/2015


Mods altered in this update:

  • net.lugdunon.currency.gsc
  • net.lugdunon.world.clover.tui
  • net.lugdunon.world.tupelo.tui
  • net.lugdunon.world.clover.sprite
  • net.lugdunon.world.defaults.character
  • net.lugdunon.world.defaults.compendium
  • net.lugdunon.world.defaults.environment


Server mods altered in this update:

  • net.lugdunon.server.worldgen.defaults
  • net.lugdunon.server.worldgen.procedural


/etc files altered in this update:

  • areaOfEffectDefinitions.json
  • commands.json
  • items.json
  • itemBaseCosts.json
  • nonPlayerCharacterNamesList.json
  • npcs.json
  • recipes.json


Release Notes:

  • Changed name of default campaign to 'Shadow of Moritasgus'.
  • net.lugdunon.world.clover.tui 0.0.4 -> 0.0.5
  • net.lugdunon.world.tupelo.tui 0.0.5 -> 0.0.6
  • net.lugdunon.world.clover.sprite 0.0.2 -> 0.0.3
  • net.lugdunon.world.defaults.compendium 0.0.3 -> 0.0.4
  • net.lugdunon.world.defaults.character 0.0.3 -> 0.0.4
  • net.lugdunon.world.defaults.environment 0.0.3 -> 0.0.4
  • net.lugdunon.currency.gsc 0.0.2 -> 0.0.3
  • net.lugdunon.server.worldgen.defaults 0.0.6 -> 0.0.7
  • net.lugdunon.server.worldgen.procedural 0.0.1 -> 0.0.2
  • lugdunon-server 0.7.2 -> 0.8.0
  • lugdunon-client-web 0.7.2 -> 0.8.0
  • lugdunon-client 0.2.3 -> 0.2.4
  • Rats are now capable of attack, and grant experience when slain.
  • Streetlamps are now configurable with the wrench.
  • Added a minimum planting radius property to placeable items. Defines the minimum safe distance for when an item is placed programmatically.
  • Added a tent placeable item, instance template, and recipe. This will allow players a much lower barrier of entry to creating housing.
  • Added a mistletoe item. Rarely harvested from a mature oak tree with a scythe. This item currently has no uses.
  • Added CORE.ELECTRIFRY.LEVEL.ONE area of effect for use with the new Electrifier tinkered item.
  • Flowers and trees now have layer restrictions (Dirt, Grass, and Snow).
  • Arcane Reliquaries now require less energy to harvest.
  • Fixed an issue that was causing bridges to not expire when destroyed.
  • Added stone fencing (item, and recipe).
  • Added stone gates (item, and recipe).
  • Added a Bronze Rod item and recipe.
  • Added a Bronze Sheet item and recipe.
  • Added a Bronze Horn item and recipe.
  • Added a Gold Rod item and recipe.
  • Added a Gold Sheet item and recipe.
  • Added a Rat Bite NPC attack.
  • Added a new tinkered item and recipe in 4 grades (copper, bronze, iron, and gold) called an Arc-Powered Loot Siphon. This item serves as a container and when powered, will suck up loot from NPCs that have been slain by the environment.
  • Added a new tinkered item and recipe called an Arc-Powered Electrifier. This item, when powered, will caused an AOE air-based damage pulse to all NPCs nearby.
  • Added a 'stealth' version of the Arc-Powered Electrifier. Functions exactly the same as the regular electrifrier, but is undetectable by players other than the owner.
  • Arc switches and pressure-plates are now capable of switching up to 5 inputs to their respective outputs.
  • Arc-stabilized teleporters now have a proper description.
  • Added net.lugdunon.state.item.arc.handler.matter.LootSiphonMatterArcHandler.
  • Added net.lugdunon.state.item.arc.handler.ElectrifryerArcHandler.
  • Added net.lugdunon.state.item.lootConsumer.ILootConsumer to the server-side code base.
  • Added net.lugdunon.state.item.lootConsumer.LootSiphonLootConsumer to the server-side code base.
  • Added net.lugdunon.state.item.manifestation.LootSiphonManifestationHandler.
  • Added net.lugdunon.state.item.tooltip.LootSiphonTooltipExtension to the client-side code base.
  • Added SPRITE.EFFECTS.AIR.ELECTRIFRY.BASE image asset.
  • Added SPRITE.EFFECTS.LIGHT.HOLYFIRE.BASE image asset.
  • Added EFFECTS.AIR.ELECTRIFRY sprite asset.
  • Added EFFECTS.LIGHT.HOLYFIRE sprite asset.
  • Added a dungeon item indicator icon (for items used in procedurally generated dungeons).
  • Added /ip/ REST service to the auth server for retrieving a client's externally accessible ip address.
  • Added total activated accounts to the /fullReport auth server REST service.
  • Created API to allow for currency to be easily converted to and from currency items.
  • Added net.lugdunon.state.currency.ICurrency.toItems() to the server-side API.
  • Added net.lugdunon.state.currency.ICurrency.fromItems(List<ItemInstance> value) to the server-side API.
  • Implemented new currency API changes in GSC Currency
  • Updated logging to include "craftingRecipeLearned" filter in net.lugdunon.world.defaults.compendium.craftingRecipes.command.PlayerLearnCraftingRecipeCommand.
  • Added world property "default.compendium.crafting.recipe.easy.mode.enable". When set to true, players are no longer required to 'learn' a crafting recipe before it is examinable in the Compendium Lugus.
  • Updated logging to include "experienceGained" filter in net.lugdunon.world.defaults.character.DefaultCharacterStats.
  • Updated logging to include "achievement" filter in net.lugdunon.world.defaults.character.DefaultCharacterStats.
  • Changed a recharging error console.log() statement to Namespace.warn() in net.lugdunon.world.defaults.character.DefaultCharacterStats.
  • Updated logging to include "gmNotification" filter in net.lugdunon.world.defaults.environment.command.SetDateCommand.
  • Updated logging to include "gmNotification" filter in net.lugdunon.world.defaults.environment.command.SetTimeOfDayCommand.
  • Added net.lugdunon.command.core.logging.ClientLogCommand to introduce the ability for clients to log messages to the server as part of the logging overhaul.
  • Added net.lugdunon.command.core.console.GetPropertyCommand to allow clients to query server or world property values from the server.
  • Added logging support to net.lugdunon.server.worldgen.defaults.DefaultWorldGen.
  • Fixed an issue in net.lugdunon.states.tiledGame.PointerInputEvent that was allowing quest interaction with dead NPCs.
  • Fixed an issue in net.lugdunon.ui.advancements.AdvancementsDialog that was causing advancement icons to not display in the standalone client.
  • Fixed an issue in net.lugdunon.util.Color that could result in improperly formatted color strings.
  • Fixed an issue in Namespace.instanceOf that could result in improper return values.
  • Chat filtering implemented. Players can now filter out messages that they deem unimportant, lessening the clutter in the client log.
  • Logging statements in net.lugdunon.command.core.console.HelpConsoleCommand updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.command.core.Command updated to reflect new filtering argument.
  • net.lugdunon.command.core.ConnectToServerCommand updated to initialize logging handlers, and logging level specified by the server.
  • net.lugdunon.command.core.ConnectToServerCommand updated to initialize and register all available chat filters.
  • Logging statements in net.lugdunon.command.core.ErrorCommand updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.command.Client updated to reflect new filtering argument.
  • net.lugdunon.commandCilent updated to use new remote ip sensing REST service now available on the auth server.
  • Logging statements in net.lugdunon.input.GamePad updated to reflect new filtering argument.
  • Currency instantiation in net.lugdunon.state.mail.Mail updated to use the server's specific currency implementation.
  • Logging statements in net.lugdunon.states.list.ServerList updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.states.ActionBarGameState updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.ui.achievements.AchievementsDialog updated to reflect new filtering argument.
  • Added net.lugdunon.ui.dialog.WaitWithLogDialog. This provides the template for a wait dialog that also incorporates a logging frame.
  • Logging statements in net.lugdunon.ui.icon.MailIcon updated to reflect new filtering argument.
  • Updated net.lugdunon.ui.inventory.sub.Container to support loot siphons.
  • Logging statements in net.lugdunon.ui.recipe.RecipeEditorDialog updated to reflect new filtering argument.
  • Added net.lugdunon.ui.settingsMenu.settings.ChatFilterSetting. This provides the UI for players to enable or disable the various available chat filters.
  • Logging statements in net.lugdunon.ui.ActionButton updated to reflect new filtering argument.
  • Added net.lugdunon.ui.Console.isChatFilteredOn(filterMode) to the client-side API.
  • Added filterMode argument to net.lugdunon.ui.Console.log(msg,color,filterMode,foreign,showMissedOnly) in the client-side API.
  • Client live log messages now use a more optimized method of fading out.
  • net.lugdunon.ui.Dialog now properly sets empty content.
  • Added net.lugdunon.ui.Dialog.waitWithLog(title,context,callback) to the client-side API.
  • Added closeDelegate argument to net.lugdunon.ui.Dialog.smallDialog(title,w,h,closeDelegate) in the client-side API. Close delegates need to implement an onclose(dialogueId) function.
  • Logging statements in net.lugdunon.ui.Modifiers updated to reflect new filtering argument.
  • Added net.lugdunon.util.logging.LoggingHandler to the client-side code base. Serves as the 'interface' for custom client logging handlers.
  • Added net.lugdunon.util.logging.ConsoleLoggingHandler to the client-side code base. Implements logging to the browser's debug console.
  • Logging statements in net.lugdunon.util.Color updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.util.GraphicContextExtensions updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.Game updated to reflect new filtering argument.
  • Namespace library updated to implement new logging / logging handlers implementation.
  • Added Namespace.cssRuleForClass(className,rule) to the client-side API. This function will return the value of a css rule defined for a given css class name.
  • Standalone client process now supports customer REST handlers.
  • Standalone client process /updateClientProgress/ REST call. Provides progressive status updates to web client on client update.
  • Standalone client process /createWorldProgress/ REST call. Provides progressive status updates to web client on new world creation.
  • Added net.lugdunon.client.command.rest.IClientCommandRESTHandler to the server-side code base.
  • Added net.lugdunon.client.command.Request to the server-side code base.
  • Changed net.lugdunon.client.command.CommandBridge.initRes(Request request,OutputStream response,int status) from protected to public in the server-side API.
  • Changed net.lugdunon.client.command.CommandBridge.initRes(Request request,OutputStream response,int status,String contentType) from protected to public in the server-side API.
  • Added net.lugdunon.client.runner.ClientUpdateRunner.getLogEntries() to the server-side API.
  • Added net.lugdunon.client.runner.WorldGeneratorRunner.getLogEntries() to the server-side API.
  • net.lugdunon.client.util.WebClient now supports svg files.
  • Updated logging to include "currency" filter in net.lugdunon.command.console.gm.AlterCurrencyCommand.
  • Updated logging to include "gmNotification" filter in net.lugdunon.command.console.gm.BlacklistCommand.
  • Logging statements in net.lugdunon.command.console.gm.BlacklistCommand updated to reflect new filtering argument.
  • Updated logging to include "gmNotification" filter in net.lugdunon.command.console.gm.GameModeCommand.
  • Logging statements in net.lugdunon.command.console.gm.GiveItemCommand updated to reflect new filtering argument.
  • Updated logging to include "gmNotification" filter in net.lugdunon.command.console.gm.GmCommand.
  • Updated logging to include "gmNotification" filter in net.lugdunon.command.console.gm.KickCommand.
  • Updated logging to include "gmNotification" filter in net.lugdunon.command.console.gm.SetMOTDCommand.
  • Logging statements in net.lugdunon.command.console.gm.ShutdownCommand updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.command.console.gm.WaypointCommand updated to reflect new filtering argument.
  • Updated logging to include "gmNotification" filter in net.lugdunon.command.console.gm.WhitelistCommand.
  • Logging statements in net.lugdunon.command.console.gm.WhitelistCommand updated to reflect new filtering argument.
  • net.lugdunon.command.console.ConsoleCommand now adds a new incoming request to the request queue instead of handling processing directly.
  • Logging statements in net.lugdunon.command.console.DebugCommand updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.command.console.EmoteConsoleCommand updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.command.console.FriendCommand updated to reflect new filtering argument.
  • Added net.lugdunon.command.console.GetPropertyCommand. Provides a method for the client to query server or world properties.
  • Logging statements in net.lugdunon.command.console.ListOnlineCharactersCommand updated to reflect new filtering argument.
  • Updated logging to include "ooc" filter in net.lugdunon.command.console.OOCConsoleCommand.
  • Updated logging to include "partyStatus" filter in net.lugdunon.command.console.PartyCommand.
  • Logging statements in net.lugdunon.command.console.PlayedCommand updated to reflect new filtering argument.
  • Updated logging to include "say" filter in net.lugdunon.command.console.SayCommand.
  • Logging statements in net.lugdunon.command.console.TellCommand updated to reflect new filtering argument.
  • Updated logging to include "yell" filter in net.lugdunon.command.console.YellCommand.
  • Added filterMode property to the net.lugdunon.command.console.LogConsoleCommand.
  • net.lugdunon.command.UpdateUserDefinedDataCommand now re/inits lootConsumer implementation when UDD is updated.
  • Added dungeon item support to net.lugdunon.command.AssignItemCommand.
  • Updated logging to include "inventory" filter in net.lugdunon.command.AssignItemCommand.
  • Added dungeon item support to net.lugdunon.command.CraftItemCommand.
  • Added dungeon item support to net.lugdunon.command.MoveInventoryItemCommand.
  • Added net.lugdunon.command.core.logging.ClientLogCommand. This is the core mechanism for enabling clients to log their events to the server.
  • Updated net.lugdunon.command.core.play.ExtinguishFireCommand to include support for dungeon items.
  • Updated net.lugdunon.command.core.play.FillBucketCommand to include support for dungeon items.
  • Updated net.lugdunon.command.core.play.FillMugCommand to include support for dungeon items.
  • Logging statements in net.lugdunon.command.core.play.SetHomeCommand updated to reflect new filtering argument.
  • Updated net.lugdunon.command.core.play.SplitPairedItemCommand to include support for dungeon items.
  • Updated net.lugdunon.command.core.play.UseShearsCommand to include support for dungeon items.
  • Fixed a typo in net.lugdunon.command.core.player.ApplyEffectCommand.getName().
  • Updated logging to include "advancement" filter in net.lugdunon.command.player.PlayerAdvancementCommand.
  • Updated logging to include "playerConnect" filter in net.lugdunon.command.player.PlayerConnectCommand.
  • Updated logging to include "playerDisconnect" filter in net.lugdunon.command.player.PlayerDisconnectCommand.
  • Updated logging to include "quest" filter in net.lugdunon.command.player.QuestUpdatedCommand.
  • Updated logging to include "spellAssignment" filter in net.lugdunon.command.spell.AssignSpellCommand.
  • Updated net.lugdunon.command.core.vendor.SellItemToVendorCommand to include support for dungeon items.
  • Logging statements in net.lugdunon.command.core.ClientNotificationCommand updated to reflect new filtering argument.
  • Updated net.lugdunon.command.core.ConnectToServerCommand updated to support logger handlers.
  • Logging statements in net.lugdunon.command.core.LoadCharacterCommand updated to reflect new filtering argument.
  • Removed require DisplayFlags statements from net.lugdunon.command.core.ScreenResizeCommand.
  • Logging statements in net.lugdunon.command.core.Command updated to reflect new filtering argument.
  • Added enhanced support for console fired commands in net.lugdunon.command.core.CommandRequest.
  • Added net.lugdunon.math.Point.subPoint(Point p) to the server-side API.
  • Added net.lugdunon.math.Point.add(Point p) to the server-side API.
  • Added net.lugdunon.math.Point.sub(Point p) to the server-side API.
  • Fixed an issue with net.lugdunon.server.mod.ServerMod not instantiating an empty etc structure.
  • Added net.lugdunon.server.mod.ServerMod.listClientCommmandRESTHandlers() to the server-side API.
  • Added net.lugdunon.server.mod.ServerModCache.getWorldGenConfiguration(String worldGenId) to the server-side API.
  • Added net.lugdunon.server.worldgen.IWorldGen.getWorldConfiguration() to the server-side API.
  • Added net.lugdunon.server.worldgen.IWorldGen.getInstancePath(long instanceId, String file) to the server-side API.
  • Added net.lugdunon.server.worldgen.BaseWorldGen.getWorldConfiguration() to the server-side API.
  • Added net.lugdunon.server.worldgen.BaseWorldGen.getInstancePath(long instanceId, String file) to the server-side API.
  • Updated net.lugdunon.server.worldgen.WorldGenerator to support a stateless mode that will operate with pre-provided caches and definitions.
  • Added net.lugdunon.server.worldgen.WorldGenerator.setIndependentPreset(String independentPreset) to the server-side API.
  • Added net.lugdunon.server.worldgen.WorldGenerator.setItemDefinitions(ItemDefinitions itemDefinitions) to the server-side API.
  • Added net.lugdunon.server.worldgen.WorldGenerator.setRandom(Random random) to the server-side API.
  • Added net.lugdunon.server.worldgen.WorldGenerator.setTerrain(Terrain terrain) to the server-side API.
  • Added net.lugdunon.server.worldgen.WorldGenerator.setNoState(boolean noState) to the server-side API.
  • Added net.lugdunon.server.worldgen.WorldGenerator.getLayersPreset(long instanceId) to the server-side API.
  • Added net.lugdunon.server.worldgen.WorldGenerator.getItemDefinitions() to the server-side API.
  • Added net.lugdunon.server.worldgen.WorldGenerator.getRandom() to the server-side API.
  • Added net.lugdunon.server.worldgen.WorldGenerator.getTerrain(long instanceId) to the server-side API.
  • Added net.lugdunon.server.worldgen.WorldGenerator.isNoState() to the server-side API.
  • Added net.lugdunon.server.worldgen.WorldGenerator.reset() to the server-side API.
  • Added net.lugdunon.server.worldgen.WorldGenerator.setServerModCache(ServerModCache smc) to the server-side API.
  • Added net.lugdunon.server.worldgen.WorldGenerator.getServerModCache() to the server-side API.
  • Added net.lugdunon.server.EtcConfig to the server-side code base. Used by world generators to decide content handling with respect to files in the /etc file structure.
  • Updated net.lugdunon.state.character.loot.ItemDrop to include support for dungeon items.
  • Logging statements in net.lugdunon.state.character.party.Party updated to reflect new filtering argument.
  • Updated net.lugdunon.state.character.Character to include support for dungeon items.
  • Fixed an issue with net.lugdunon.state.item.trigger.player.InstanceTransitionPlayerTrigger that could cause portal destinations to be improperly set.
  • Added net.lugdunon.state.item.ItemCache.newDungeonItem(Item itemDef,long dungeonInstanceId) to the server-side API.
  • net.lugdunon.state.item.ItemDefinitions.getItemDef(String itemId) now supports the 'itemId|count' format.
  • net.lugdunon.state.item.ItemDefinitions now supports bounded random values in the 'itemId|count' format, where 'count' takes the form of 'min-max'.
  • net.lugdunon.state.item.ItemDefinitions can now be stateless.
  • Added net.lugdunon.state.item.ItemInstance.flagAsDungeonItem(long dungeonInstanceId) to the server-side API.
  • Added net.lugdunon.state.item.ItemInstance.isDungeonItem() to the server-side API.
  • Added net.lugdunon.state.item.ItemInstance.getDungeonInstanceId() to the server-side API.
  • Logging statements in net.lugdunon.state.metric.item.ItemCraftedMetric updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.state.metric.item.ItemGatheredMetric updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.state.metric.item.ItemLootedMetric updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.state.metric.item.ItemPlacedMetric updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.state.metric.item.ItemReceivedMetric updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.state.metric.item.ItemRemovedMetric updated to reflect new filtering argument.
  • Added net.lugdunon.state.mod.Mod.getEtc() to the server-side API.
  • Added net.lugdunon.state.mod.Mod.getSubsystemImpl(String subsystemId) to the server-side API.
  • Added net.lugdunon.state.mod.Mod.listSubsystems() to the server-side API.
  • Updated logging to include "quest" filter in net.lugdunon.state.quest.QuestData.
  • Updated net.lugdunon.state.recipe.Recipe to include support for dungeon items.
  • net.lugdunon.state.waypoint.WaypointCache constructor now expects an actual Instance object instead of an instance id.
  • Logging statements in net.lugdunon.state.State updated to reflect new filtering argument.
  • Added net.lugdunon.state.State.getLibPath() to the server-side API.
  • net.lugdunon.state.World.seed is now a String value, instead of a long
  • net.lugdunon.state.World.getSeed() now returns an Object.
  • World config property accesses will now only log on the initial access.
  • Added net.lugdunon.state.World.closeInstance(long instanceId) to the server-side API.
  • Added net.lugdunon.state.World.hasActiveInstance(long instanceId) to the server-side API.
  • Added net.lugdunon.state.World.hasInstance(long instanceId) to the server-side API.
  • Removed net.lugdunon.util.logging.ClientFilter.AuditFilter from the server-side API.
  • Removed net.lugdunon.util.logging.ClientFilter.NonAuditFilter from the server-side API.
  • Added net.lugdunon.util.logging.ClientFilter to the server-side code base.
  • Added net.lugdunon.util.logging.ClientLog to the server-side code base.
  • Added net.lugdunon.util.logging.ClientLoggingHandler to the client-side code base.
  • Added net.lugdunon.util.logging.GeneralFilter to the server-side code base.
  • Resolved several issues with net.lugdunon.util.ArtifactUpdater that were producing undesired results.
  • Added net.lugdunon.util.FastMath.randomFromSeed(Object seed) to the server-side API.
  • Added net.lugdunon.util.FastMath.boundedRandomValue(int min, int max) to the server-side API.
  • Added net.lugdunon.util.FastMath.diff(double i, double j) to the server-side API.
  • Added net.lugdunon.util.FastMath.diff(int i, int j) to the server-side API.
  • Added net.lugdunon.util.FastMath.indexToChunkPoint(int i,int w) to the server-side API.
  • Added net.lugdunon.util.FastMath.indexToChunkPoint(int i,int w,Point p) to the server-side API.
  • Added net.lugdunon.util.FileUtils.fileExists(String fileName) to the server-side API.
  • Added net.lugdunon.util.FileUtils.fileExists(String fileName, boolean absolute) to the server-side API.
  • Added net.lugdunon.util.FileUtils.resourceAsStream(String resource) to the server-side API.
  • Added net.lugdunon.util.FileUtils.imageToDataURL(BufferedImage image) to the server-side API.
  • Logging statements in net.lugdunon.Game updated to reflect new filtering argument.
  • Logging statements in net.lugdunon.Server updated to reflect new filtering argument.
  • Added server.logging.level property definition. Set logging level for the server process. (ERROR,WARN,INFO,DEBUG,TRACE)
  • Added client.logging.level property definition. Set logging level for the client process. (ERROR,WARN,INFO,DEBUG,TRACE)
  • Added dungeon.timeout.interval world property definition. The interval in which an unoccupied dungeon will reset.
  • Updated logging.properties to reflect new logging implementation.
  • Server mods can now override (add/remove/modify) individual entries in etc/ files.
  • Logging statements in net.lugdunon.character.Character updated to reflect new filtering argument.
  • Updated net.lugdunon.character.Character to include support for dungeon items.
  • Fixed an issue where quest NPCs were still 'quest interactable' when dead.
  • Updated logging to include "playerDeath" filter in net.lugdunon.character.PlayerCharacter.
  • Updated logging to include "otherPlayerDeaths" filter in net.lugdunon.character.PlayerCharacter.
  • Updated net.lugdunon.item.renderer.DefaultRenderer to include support for dungeon items.
  • Updated net.lugdunon.item.ItemInstance to include support for dungeon items.
  • Fixed an issue with sprites not correctly updating hen palette is changed.
  • Added the java arg '-Dlugdunon.lib.path=./bin/' to all client and server run scripts.
  • Logging statements in net.lugdunon.command.core.console.gm.ImageToTerrainCommand updated to reflect new filtering argument.
  • Added biome support to net.lugdunon.command.core.console.gm.SpawnNPCCommand.
  • Fixed an issue with NPCs not correctly re-initializing their quest giver state when responding.
  • Logging statements in net.lugdunon.command.core.console.gm.TerrainToImageCommand updated to reflect new filtering argument.
  • Fixed an issue where the terrain to image console command could cause a crash if it was invoked with a non-existent instance id.
  • net.lugdunon.command.core.console.gm.TerrainToImageCommand now generates a biome image, in addition to the terrain and elevation images.
  • net.lugdunon.command.core.console.LocCommand now reports the elevation and biome at the player's current location.
  • NPCs that are assigned a biome at spawn can not path out of that biome.
  • Added net.lugdunon.command.CommandProperties.toString() to the server-side API.
  • Added net.lugdunon.command.CommandProperties.getBiome(String key, Biome defaultValue) to the server-side API.
  • Added net.lugdunon.command.CommandProperties.getBiome(String key) to the server-side API.
  • Added net.lugdunon.command.CommandProperties.setBiome(String key, Biome value) to the server-side API.
  • Removed net.lugdunon.state.aoe.AreaOfEffectInstance.handleCharacterEffect(Character pc) from the server-side API.
  • AoE spells can now be triggered by placeable item instances.
  • Added net.lugdunon.state.aoe.AreaOfEffectInstance.handleCharacterEffect(Character pc, Instance i) to the server-side API.
  • Added net.lugdunon.state.aoe.AreaOfEffectInstance.handleSoundEffect(Instance i, Point location, boolean onTarget) to the server-side API.
  • Added biome support to net.lugdunon.state.character.behavior.core.EvolveBehavior.
  • Added biome support to net.lugdunon.state.character.NonPlayerCharacter.
  • Added loot consumer support to net.lugdunon.state.character.NonPlayerCharacter.
  • Added net.lugdunon.state.character.NonPlayerCharacter.getAssignedBiome() to the server-side API.
  • Added net.lugdunon.state.character.NonPlayerCharacter.setAssignedBiome(byte biomeId) to the server-side API.
  • Added biome support to net.lugdunon.state.character.NPCCache.
  • Removed net.lugdunon.state.character.NpcCache(JSONObject o, long instanceId) from the server-side API.
  • Added net.lugdunon.state.character.NpcCache(JSONObject o, Instance instance) to the server-side API.
  • Added net.lugdunon.state.character.NPCCache.listNpcsInBiome(byte biomeId) to the server-side API.
  • Fixed an issue with net.lugdunon.state.item.arc.handler.matter.MatterPumpArcHandler not properly setting its powered state.
  • Added net.lugdunon.state.item.arc.handler.IArcHandler.conduitStateUpdated(int conduitType, int conduitIndex) to the server-side API.
  • Added net.lugdunon.state.item.IPlacementStrategy to the server-side code base. Provides an interface for determining the procedural placement of items in the game world.
  • Added net.lugdunon.state.item.Item.getGroundedLocation(Point location) to the server-side API.
  • Added net.lugdunon.state.item.Item.getGroundedLocationForState(String state, Point location) to the server-side API.
  • Added net.lugdunon.state.item.Item.getGroundingPoint() to the server-side API.
  • Fixed an issue with item worth determination in net.lugdunon.state.item.Item.
  • net.lugdunon.state.item.PlaceableItemCache is now capable of a stateless instantiation.
  • Removed net.lugdunon.state.item.PlaceableItemCache(JSONObject o, long instanceId) from the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemCache(JSONObject o, Instance instance) to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemCache(Terrain terrain) to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemCache.newPlaceableItemReference(Item itemDef, Point location) to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemCache.listAllItemsInRangeOf(Point location, double range) to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemCache.listItemsInBiome(String itemId, byte biomeId) to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemCache.listAllItemsInBiome(byte biomeId) to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemCache.isItemInBiome(long itemInstanceId,byte biomeId) to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemCache.isItemInBiome(PlaceableItemInstance itemInstance,byte biomeId) to the server-side API.
  • Added loot consumer support to net.lugdunon.state.item.PlaceableItemCache.
  • net.lugdunon.state.item.PlaceableItemCache now properly handles update action and loot consumer registration / unregistration in the event of a lifecycle transition.
  • net.lugdunon.state.item.PlaceableItemInstance is now capable of a stateless instantiation.
  • Added loot consumer support to net.lugdunon.state.item.PlaceableItemInstance.
  • Removed net.lugdunon.state.item.PlaceableItemInstance(JSONObject o) from the server-side API.
  • Removed net.lugdunon.state.item.PlaceableItemInstance.setItemDef(Item itemDef) from the server-side API.
  • Removed net.lugdunon.state.item.PlaceableItemInstance.setItemDef(Item itemDef, boolean placedByGM) from the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemInstance(JSONObject o, long instanceId) to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemInstance.getLootConsumer() to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemInstance.initLootConsumer() to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemInstance.setItemDef(Item itemDef, boolean initial) to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemInstance.setItemDef(Item itemDef, boolean placedByGM, boolean initial) to the server-side API.
  • Added net.lugdunon.world.biome.Biome to the server-side code base.
  • Added net.lugdunon.world.biome.dynamic.DynamicBiome to the server-side code base.
  • Added net.lugdunon.world.biome.dynamic.DynamicNPC to the server-side code base.
  • Added net.lugdunon.world.biome.dynamic.DynamicPlaceableItem to the server-side code base.
  • Added support for runtime properties to net.lugdunon.world.instance.Instance.
  • Added biome support to net.lugdunon.world.instance.Instance.
  • Added loot consumer support to net.lugdunon.world.instance.Instance.
  • Fixed an issue that was allowing multiple instances of the same updatable to be registered with an instance.
  • Added net.lugdunon.world.instance.Instance.init(String terrainFile, Tileset tileset, Object seed) to the server-side API.
  • Added net.lugdunon.world.instance.Instance.getRuntimeProperty(String key) to the server-side API.
  • Added net.lugdunon.world.instance.Instance.hasRuntimeProperty(String key) to the server-side API.
  • Added net.lugdunon.world.instance.Instance.setRuntimeProperty(String key, Object property) to the server-side API.
  • Added net.lugdunon.world.instance.Instance.registerLootConsumer(ILootConsumer lc) to the server-side API.
  • Added net.lugdunon.world.instance.Instance.unregisterLootConsumer(ILootConsumer lc) to the server-side API.
  • Added net.lugdunon.world.instance.Instance.instanceExists(long instanceId) to the server-side API.
  • Added net.lugdunon.world.instance.Instance.findCharactersInRangeOf(int range, Point location) to the server-side API.
  • Added net.lugdunon.world.instance.Instance.informLootConsumers(Object generator, Point location, ItemDefAndStackSize itemDefAndStackSize, CommandProperties addProps) to the server-side API.
  • Added net.lugdunon.world.instance.Instance.informLootConsumers(Object generator, Point location, ICurrency currency, CommandProperties addProps) to the server-side API.
  • Added et.lugdunon.world.instance.InstanceNotFoundException to the server-side code base.
  • Added net.lugdunon.world.instance.TransientInstanceCache.hasInstance(long instanceId) to the server-side API.
  • Added net.lugdunon.world.instance.TransientInstanceCache.hasActiveInstance(long instanceId) to the server-side API.
  • Fixed several issues that were causing incorrect tile indexing in chunks.
  • Added biome support to net.lugdunon.world.terrain.Terrain.
  • Added procedural generation support to net.lugdunon.world.terrain.Terrain.
  • Added versioning support to net.lugdunon.world.terrain.Terrain. Terrain files now contain a version number to identify the specific format version for correct parsing.
  • Removed net.lugdunon.world.terrain.Terrain(long instanceId, Tileset tileset) from the server-side API.
  • Removed net.lugdunon.world.terrain.Terrain(String layerPreset, BufferedImage[] images, boolean voidElevation) from the server-side API.
  • Removed net.lugdunon.world.terrain.Terrain(JSONObject tilesetConfig, BufferedImage bi, Tileset tileset, long seed) from the server-side API.
  • Removed net.lugdunon.world.terrain.Terrain(Tileset tileset, short size, long seed) from the server-side API.
  • Removed net.lugdunon.world.terrain.Terrain(long instanceId, String terrainFile, Tileset tileset, long seed) from the server-side API.
  • Removed net.lugdunon.world.terrain.Terrain(JSONObject tilesetConfig, String terrainFile, Tileset tileset, long seed) from the server-side API.
  • Removed net.lugdunon.world.terrain.Terrain.saveLayerImage(String outputFile) from the server-side API.
  • Removed net.lugdunon.world.terrain.Terrain.saveElevationImage(String outputFile) from the server-side API.
  • Added net.lugdunon.world.terrain.Terrain(long instanceId, Tileset tileset, JSONObject instanceConfig) to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain(long instanceId, short[] terrain, byte[] elevation, byte[] biome, Tileset t, JSONObject instanceConfig, Object seed) to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain(String layerPreset, JSONObject instanceConfig, BufferedImage[] images, boolean voidElevation) to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain(long instanceId, String terrainFile, Tileset tileset, JSONObject instanceConfig, Object seed) to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.initBiomes(JSONObject instanceConfig) to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.initPlacementStrategy(JSONObject instanceConfig) to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.getInstanceId() to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.getPlacementStrategy() to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.listBiomeIds() to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.getBiome(byte id) to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.getBiomeIndices() to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.getIndicesForBiome(byte biomeId) to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.getBiomeData() to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.getElevationData() to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.getTerrainData() to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.getProbabilityForTile(int x,int y) to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.getLayersPreset() to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.elevationChangeInRangeOf(Point loc, int range) to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.terrainChangeInRangeOf(Point loc, int range) to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.saveTerrainData(File f) to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.getBiomeImageData() to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.getBiomeAt(int x, int y) to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.recomputeImpassabilityFlags() to the server-side API.
  • Added biome support to net.lugdunon.world.terrain.Tileset.
  • Added net.lugdunon.world.terrain.Tileset(JSONObject tilesetDef, short chunkSize) to the server-side API.
  • Added net.lugdunon.world.terrain.Tileset.getBiomes(String preset) to the server-side API.
  • Added net.lugdunon.server.worldgen.procedural.biome.MetazeldaDungeonBiome to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.client.command.rest.PreviewImageClientCommandRestHandler to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.client.command.rest.PreviewImageProgressClientCommandRestHandler to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.client.command.rest.PWGConfigClientCommandRestHandler to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.client.runner.PreviewImageGenerator to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.client.runner.PreviewImageGeneratorRunner to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instances.0.instance.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instances.0.npcCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instances.0.placeableItemCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instances.0.terrain.dat to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instances.0.waypointCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.HIGHLAND_CAVERN.instance.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.HIGHLAND_CAVERN.npcCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.HIGHLAND_CAVERN.placeableItemCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.HIGHLAND_CAVERN.waypointCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.HIGHLAND_RUINS.instance.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.HIGHLAND_RUINS.npcCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.HIGHLAND_RUINS.placeableItemCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.HIGHLAND_RUINS.waypointCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.LOWLAND_CAVERN.instance.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.LOWLAND_CAVERN.npcCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.LOWLAND_CAVERN.placeableItemCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.LOWLAND_CAVERN.waypointCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.LOWLAND_RUINS.instance.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.LOWLAND_RUINS.npcCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.LOWLAND_RUINS.placeableItemCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.LOWLAND_RUINS.waypointCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.MIDLAND_CAVERN.instance.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.MIDLAND_CAVERN.npcCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.MIDLAND_CAVERN.placeableItemCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.MIDLAND_CAVERN.waypointCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.MIDLAND_RUINS.instance.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.MIDLAND_RUINS.npcCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.MIDLAND_RUINS.placeableItemCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.instanceTemplates.MIDLAND_RUINS.waypointCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.itemCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.items.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.npcs.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.quests.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.vendorCache.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.etc.vendors.json to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.instance.spawner.spawn.ISpawnPointGenerator to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.instance.spawner.spawn.MetazeldaDungeonSpawnPointGenerator to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.instance.spawner.spawn.RandomSpawnPointGenerator to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.instance.spawner.ProceduralInstanceSpawner to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.item.placement.metazelda.MetazeldaDungeonPlacementStrategy to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.item.placement.GriddedPlacementStrategy to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.noise.metazelda.constraints.PlanarConstraints to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.noise.metazelda.generator.room.DefaultRoomGenerator to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.noise.metazelda.generator.room.EasedCornersRoomGenerator to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.noise.metazelda.generator.room.IRoomGenerator to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.noise.metazelda.generator.BaseDungeonGeneratorWrapper to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.noise.metazelda. MetazeldaDungeon to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.noise.CaveSystem to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.noise.DiamondSquare to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.noise.DiamondSquare to the client-side code base.
  • Added net.lugdunon.server.worldgen.procedural.noise.DifferenceNoise to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.noise.INoiseGen to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.noise.INoiseGen to the client-side code base.
  • Added net.lugdunon.server.worldgen.procedural.post.ErosionPostProcessor to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.post.ErosionPostProcessor to the client-side code base.
  • Added net.lugdunon.server.worldgen.procedural.post.IPostProcessor to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.post.IPostProcessor to the client-side code base.
  • Added net.lugdunon.server.worldgen.procedural.room.BaseIntermediaryRoom to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.room.EdgeId to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.ProceduralWorldGen.html to the client-side code base.
  • Added net.lugdunon.server.worldgen.procedural.ProceduralWorldGen to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.ProceduralWorldGen to the client-side code base.
  • Added net.lugdunon.server.worldgen.procedural.ProceduralWorldGen to the server-side code base.
  • Added net.lugdunon.server.worldgen.procedural.ProceduralWorldGenExpert.html to the client-side code base.
  • Added net.lugdunon.server.worldgen.procedural.server.mod.json to the server-side code base.
  • Added standaloneExports.json to the server-side code base.
  • Removed access control block from main container sub panel. Access control on containers must now be accomplished via the standard configuration menu item.
  • Fixed an issue with the crafting grid not reporting the correct contents of its inventory slots.
  • Fixed an issue that was causing shared container inventory status updates to not be shared among clients.
  • Fixed an issue that was causing radial menu button tooltips to persist when a dialog is opened.
  • Fixed an issue that was causing ambient sounds attached to placeable items to ignore the sound volume settings.
  • Fixed the description text on bows.
  • Added a new sword icon, and inventory item. This weapon will obtainable exclusively as a dungeon drop.
  • Added a new bow icon, and inventory item. This weapon will obtainable exclusively as a dungeon drop.
  • Fixed an issue that was causing placeable item access level changes from being recognized by other clients.
  • Fixed an issue that was causing placeable item access level restrictions from being recognized by other clients.
  • Added support for removing specific entries in /etc config files when merging.
  • Removed white, blue, and black plate armor set recipes when using the procedural world gen. These armor sets will obtainable exclusively as dungeon drops.
  • Item and AreaOfEffect classes now support multiple target effects.
  • Durability on dungeon drop weapons increased greatly.
  • Damage on dungeon drop weapons decreased to be more in line with current item progression.
  • Added Midland and Highland Ruins and Caverns.
  • Added net.lugdunon.server.worldgen.procedural.noise.metazelda.generator.room.IRoomGenerator.hasGoal() to the server-side API.
  • Dungeon generation will now generate a goal room attached to the boss' room if the instance metadata specifies a goal item.
  • Procedural dungeon metadata now supports multiple boss definitions (via a | delimited format), from which one will be chosen at random on instance initialization.
  • NPC metadata now supports multiple NPC names (via a | delimited format), from which one will be chosen at random on NPC initialization.
  • Placeable item loot drops are now moddable via the loot drop strategy API. This will allow modders to develop custom loot drop rules.
  • Modified Server property 'npc.name.filter' to allow the | character.
  • Fixed an issue with character / item access checking that could result in an NPE on some occasions.
  • Items can now specify an 'overrideExpireProtection' boolean property that will allow GM-placed items to expire.
  • Fixed an issue with the expirable check on a placeable item that failed to account for expiry conditions only when specific inventory items are used to interact with the placeable in question.
  • Added support for server-side character effects.
  • Removed net.lugdunon.state.aoe.AreaOfEffect.hasTargetEffect() from the server-side API.
  • Removed net.lugdunon.state.aoe.AreaOfEffect.getTargetEffectClass() from the server-side API.
  • Removed net.lugdunon.state.aoe.AreaOfEffect.getTargetEffectInitData) from the server-side API.
  • Added net.lugdunon.state.aoe.AreaOfEffect.hasTargetEffects() to the server-side API.
  • Added net.lugdunon.state.aoe.AreaOfEffect.getTargetEffectCount() to the server-side API.
  • Added net.lugdunon.state.aoe.AreaOfEffect.getTargetEffectClass(int index) to the server-side API.
  • Added net.lugdunon.state.aoe.AreaOfEffect.getTargetEffectInitData(int index) to the server-side API.
  • Removed net.lugdunon.state.aoe.AreaOfEffectInstance.handleSoundEffect(Instance i) from the server-side API.
  • Removed net.lugdunon.state.aoe.AreaOfEffectInstance.handleSoundEffect(Instance i, Point location, boolean onTarget) from the server-side API.
  • Added net.lugdunon.state.aoe.AreaOfEffectInstance.handleSoundEffect() to the server-side API.
  • Added net.lugdunon.state.character.effect.ICharacterEffect to the server-side code base.
  • Added net.lugdunon.state.character.effect.PlaySoundCharacterEffect to the server-side code base.
  • Added net.lugdunon.state.item.loot.ILootDropStrategy to the server-side code base.
  • Added net.lugdunon.state.item.loot.DefaultLootDropStrategy to the server-side code base.
  • Added net.lugdunon.state.item.loot.PooledPercentageLootDropStrategy to the server-side code base.
  • Added net.lugdunon.state.item.loot.DroppedLoot to the server-side code base.
  • Added net.lugdunon.state.item.loot.ILootDropStrategy to the client-side code base.
  • Added net.lugdunon.state.item.loot.DefaultLootDropStrategy to the client-side code base.
  • Added net.lugdunon.state.item.loot.PooledPercentageLootDropStrategy to the client-side code base.
  • Removed net.lugdunon.state.item.Item.hasTargetEffect() from the server-side API.
  • Removed net.lugdunon.state.item.Item.getTargetEffectClass() from the server-side API.
  • Removed net.lugdunon.state.item.Item.setTargetEffectClass(String targetEffectClass) from the server-side API.
  • Removed net.lugdunon.state.item.Item.getTargetEffectInitData() from the server-side API.
  • Removed net.lugdunon.state.item.Item.setTargetEffectInitData(JSONObject targetEffectInitData) from the server-side API.
  • Added net.lugdunon.state.item.Item.hasTargetEffects() to the server-side API.
  • Added net.lugdunon.state.item.Item.getTargetEffectCount() to the server-side API.
  • Added net.lugdunon.state.item.Item.getTargetEffectClass(int index) to the server-side API.
  • Added net.lugdunon.state.item.Item.getTargetEffectInitData(int index) to the server-side API.
  • Added net.lugdunon.state.mail.Mail.attachmentLength() to the server-side API.
  • Added net.lugdunon.state.mail.Mail.hasAttachments() to the server-side API.
  • Added net.lugdunon.command.core.misc.SetLightingStateCommand
  • Added two new tile mappings to Tileset.json.
  • Changed ui layers on cave and ruins/dungeon portals from foreground to background.
  • Procedurally generated dungeons now have a 'fog of war' mechanic. Rooms will be dark until a door leading to that room is opened.
  • Tuned resource nodes in the overworld by reducing the amount of certain nodes.
  • Added shipwrecked cargo resources to the beach biome. These resources will allow players access to seeds and animals for farming. Once gathered, these items will not respawn for the acting player.
  • Added stone ore nodes to forest and steppe biomes.
  • Added cows to the piedmont biome.
  • Added penguins to the alpine biome.
  • Removed generateDoorForConnector (Instance instance, IDungeon dungeon, Room room, Rect roomDim, int wallThickness, int doorThickness, Direction orientation) from the server-side API.
  • Added generateDoorForConnector (Instance instance, IDungeon dungeon, Room room, Rect roomDim, int wallThickness, int doorThickness, Direction orientation, Edge edge) to the server-side API.
  • Doors and lights are now linked to their respective rooms (in dungeons) via properties stored in the item's user defined data.
  • Added a stub for net/lugdunon/server/worldgen/procedural/ProceduralWorldGenExpert.html.
  • Updated the ace code editor library (used in the client) to the latest version.
  • Fixed an issue with several settings panes that was causing display errors.
  • Fixed an issue with several settings panes that was slider labels to nit display.
  • Fixed an issue with the macro editor that was causing cursor drift.
  • Fixed an issue with the LargeListState that was causing line item button labels to persist in certain cases.
  • Fixed an issue that was causing characters to be placed in 'the void' if the instance transition completed before the character was done pathing.
  • Added net.lugdunon.character.Character.handlePathingComplete() to the client-side API.
  • Removed net.lugdunon.ui.settingsMenu.settings.ChatFilterSetting.html.
  • Removed net.lugdunon.ui.settingsMenu.settings.UISetting.html.
  • Added Array.concatUnique() to the client-side API.
  • Added support for programmatically toggling the lighting state of non-arc controlled lights.
  • Added metazelda.jar to the server build process.
  • net.lugdunon.server.worldgen.procedural is now included in the server.mods lists for client builds.
  • net.lugdunon.server.worldgen.procedural is now included in the server.mods lists for server builds.
  • Added lugdunon-client-web.jar to the class path for client runners.
  • Fixed an issue that was resulting in an empty repository list in the standalone client settings.
  • net.lugdunon.command.core.console.LocCommand now logs the top layer tile score for debugging purposes.
  • Loading required libs now correctly loads and caches the lib for future reference.
  • Populated world checking now looks for an etc structure instead of the world.cfg file. This will allow for easier custom configs on standalone servers.
  • Artifact updating now has more intelligent checking on version numbers. An update will now only be attempted if the repository artifact's version number is higher than the local artifact.
  • Added net.lugdunon.state.item.PlaceableItemInstance.isLightingEnabled() to the server-side API.
  • Added net.lugdunon.state.item.PlaceableItemInstance.setLightingEnabled(boolean lightingEnabled) to the server-side API.
  • Added net.lugdunon.state.World.worldExistsAndIsPopulated(String worldId) to the server-side API.
  • Added net.lugdunon.util.IFatalErrorHandler.handleFatalError(Exception e) to the server-side API.
  • Added net.lugdunon.util.VersionNumber to the server-side code base. Version numbers for artifacts must now adhere to the major.minor.revision format.
  • Removed net.lugdunon.world.terrain.rendering.terrain.IterrainRenderingStrategy.TerrainBlockReference(Point[] tileIndices, Point[] elevationIndices, boolean impassable) from the server-side API.
  • Added net.lugdunon.world.terrain.rendering.terrain.IterrainRenderingStrategy.TerrainBlockReference(Point[] tileIndices, Point[] elevationIndices, byte mappingScore, boolean impassable) to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.getMappingScoreAt(int x, int y) to the server-side API.
  • Fixed an issue with the biome image data acquisition requesting biome configuration data from the wrong metadata location.
  • Standalone client will now report any server sub-process startup error to the client (with copyable stack trace).
  • Support for ambient audio for biomes added.
  • Fixed an issue in net.lugdunon.asset.DoubleBufferedAudio.setVolume(volume) that was causing exceptions in certain cases.
  • Fixed net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar.getTimeOfDay() to return the proper value.
  • Added ambient sound to the ocean biome.
  • Added worldGen and worldId props to the getAvailableWorldConfigProps REST call in net.lugdunon.server.worldgen.procedural.ProceduralWorldGen
  • Added net.lugdunon.asset.AssetManager.getBiomeAudioChannels() to the client-side API.
  • Added net.lugdunon.asset.AssetManager.findAudioForBiome(biomeId) to the client-side API.
  • Added net.lugdunon.asset.AssetManager.updateBiomeAudio(biomeDistanceMap, instanceTransitionOccurred) to the client-side API.
  • Added net.lugdunon.states.tiledGame.chunk.ChunkManager.biomeDistanceUpdate(res) to the client-side API.
  • Added net.lugdunon.ui.dialog.CopyableLargeTextDialog.html to the client-side codebase.
  • Added net.lugdunon.ui.dialog.copyableLargeText(title,message,copyableContent,context,callback) to the client-side API.
  • Added Namespace.isNull(o) to the client-side API.
  • Added Namespace.compareObject(o,p) to the client-side API.
  • Added Namespace. to the client-side API.
  • Removed net.lugdunon.world.placeables.PlaceableItemInstance.FALLOFF_PROGRESSION_MODES from the client-side API.
  • Removed net.lugdunon.world.placeables.PlaceableItemInstance.getAudio() from the client-side API.
  • Removed net.lugdunon.world.placeables.PlaceableItemInstance.getAudioVolume() from the client-side API.
  • Removed net.lugdunon.world.placeables.PlaceableItemInstance.getAudioFalloffRadius() from the client-side API.
  • Removed net.lugdunon.world.placeables.PlaceableItemInstance.getAudioFalloffProgression() from the client-side API.
  • Added net.lugdunon.world.placeables.PlaceableItemInstance.initAudioDefinition() to the client-side API.
  • Added net.lugdunon.world.placeables.PlaceableItemInstance.getAudioDefinition() to the client-side API.
  • Added net.lugdunon.util.audio.AudioDefinition. This server and client-side class encapsulates the logic for defining and driving audio in Lugdunon's environment.
  • /getAvailableServerConfigProps/ REST call now also returns the extended properties defined by loaded server mods.
  • /getAvailableWorldConfigProps/ REST call now also returns the extended properties defined by loaded server and world mods.
  • net.lugdunon.client.runner.Runner will now only launch a sub-process in headless mode if it is required.
  • Removed net.lugdunon.client.Client.handleServerFail() from the server-side API.
  • Added net.lugdunon.client.Client.handleServerFail(String message) to the server-side API.
  • Added net.lugdunon.client.Client.getServerFailMessage() to the server-side API.
  • PlaySoundCommand now utilizes the new AudioDefinition API.
  • ActionPerformedCommand now utilizes the new AudioDefinition API.
  • DirectDamageCommand now utilizes the new AudioDefinition API.
  • net.lugdunon.state.aoe.AreaOfEffect now utilizes the new AudioDefinition API.
  • net.lugdunon.state.aoe.AreaOfEffectInstance now utilizes the new AudioDefinition API.
  • net.lugdunon.state.character.effect.PlaySoundCharacterEffect now utilizes the new AudioDefinition API.
  • net.lugdunon.state.item.Item now utilizes the new AudioDefinition API.
  • InstanceTransitionCommand now triggers a biome distance update.
  • PlayerMoveCommand now triggers a biome distance update.
  • LoadCharacterCommand now triggers a biome distance update.
  • Added net.lugdunon.command.CommandProperties.getAudioDefinition(String key, AudioDefinition defaultValue) to the server-side API.
  • Added net.lugdunon.command.CommandProperties.getAudioDefinition(String key) to the server-side API.
  • Added net.lugdunon.command.CommandProperties.setAudioDefinition(String key, AudioDefinition value) to the server-side API.
  • Fixed an issue in net.lugdunon.server.worldgen.BaseWorldGen that was causing null pointer exceptions when loading server mods.
  • Removed net.lugdunon.state.item.Item.getSoundEffect(JSONObject soundEffectDefinition) from the server-side API.
  • Added net.lugdunon.state.item.Item.setSoundEffect(AudioDefinition soundEffectDefinition) to the server-side API.
  • Removed net.lugdunon.util.IFatalErrorHandler.handleFatalError(Exception e) from the server-side API.
  • Added net.lugdunon.util.IFatalErrorHandler.handleFatalError(Throwable t) to the server-side API.
  • Added net.lugdunon.world.biome.Biome.biomeDistanceUpdate(Point location, Instance instance, EnhancedDataOutputStream out) to the server-side API.
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getTimeOfDay().
  • Added net.lugdunon.world.environment.calendar.BaseCalendar.getTimeOfDayAsPercent().
  • Added net.lugdunon.world.terrain.Terrain.biomesInRangeOf(Point loc, int range) to the server-side API.
  • Added net.lugdunon.Server.listExtendedWorldPropertiesForWorld(String worldGen, String worldId) to the server-side API.
  • Environment layer now affects character labels, targeting circles, and most other UI effects.
  • Fixed an issue that was causing harvested resources to regenerate faster than expected.
  • Removed Farm quest chain completion achievement from procedural world gen worlds.
  • Added support for random npc name generation, with support for custom name lists, in-place random selection, and multiple name parts.
  • Added etc/nonPlayerCharacterNamesList.json to the default world gen.
  • Added BOSS.DUNGEON.LOWLAND.RUINS npc to procedural world gen.
  • Added BOSS.DUNGEON.MIDLAND.RUINS npc to procedural world gen.
  • Added BOSS.DUNGEON.HIGHLAND.RUINS npc to procedural world gen.
  • Adjusted exp rewarded and health for ghostly scholars.
  • Ghostly scholars are now hostile to player characters.
  • Exit portals and npc should no longer spawn in walls.
  • Removed "npc.name.filter" server configuration property.
  • Removed "npc.name.filter.error" server configuration property.
  • Added "npc.name.provider" world configuration property.
  • Added net.lugdunon.world.terrain.Terrain.getSpawnableBiomeIndices() to the server-side API.
  • Added net.lugdunon.world.terrain.Terrain.getSpawnableIndicesForBiome(byte biomeId) to the server-side API.
  • Added net.lugdunon.state.World.getNPCNameProvider() to the server-side API.
  • Added net.lugdunon.state.character.name.INonPlayerCharacterNameProvider to the server-side code base.
  • Added net.lugdunon.state.character.name.NonPlayerCharacterListNameProvider to the server-side code base.
  • Added another new tile mapping to Tileset.json.
  • Each name group in nonPlayerCharacterNamesList.json gets a description, name, and origin.
  • Tuned placeable item spawns in the overworld. Added stone ore nodes to meadow biome and increased cavern and ruin spawns.
  • Added "returnPortalToWall" property to instance.json to instruct the RandomSpawnPointGenerator to place return portals on a northern wall.
  • The ProceduralWorldGen now ensures that separate elevation changes are now properly spaced to prevent artifacts.
  • The server list will now notify users of a server's incompatibility with the client based on version numbering (and prevent connection).
  • Moved net.lugdunon.util.audio.AudioDefinition to client project from server project.
  • Added net.lugdunon.util.VersionNumber to client-side code base.
  • Fixed an issue with shovels not working on flowers and trees.
  • Added net.lugdunon.state.character.name.list.Name to the server-side code base.
  • Added net.lugdunon.state.character.name.list.NamesList to the server-side code base.
  • Fixed candle on reliquary from shifting position on state change.
  • Tuned ruin and cavern placement percentages.
  • Fixed lighting and reliquary placement in ruins instances.
  • Fixed ruins resetting problems.
  • default.compendium.crafting.recipe.easy.mode.enable is now on by default.
  • All trees and flowers ignore ownership when replanted.
  • Default world name changed from "No World Name" to "Shadow of Moritasgus".
  • Fixed initialization error in NonPlayerCharacterManagementCommand.
  • PlaceableItemInstances now evolve properly.
  • DynamicBiome item placement made more random.