Release 0.5.11

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

0.5.11

15/01/2014


Regretfully this release will require a wipe of the demo servers.

/etc files altered in this update:

  • advancements.json
  • behaviors.json
  • commands.json
  • dialogue.json
  • craftingDisciplines.json
  • items.json
  • manifest.json
  • mods.json
  • npcs.json
  • recipes.json
  • vendorCache.json
  • vendors.json
  • instanceTemplates/MINESHAFT/instance.json
  • instances/0/instance.json
  • instances/0/placeableItemCache.json
  • instances/0/terrain.dat
  • instanceTemplates/MANOR_BIBRACTE/instance.json
  • instanceTemplates/MANOR_BIBRACTE/npcCache.json
  • instanceTemplates/MANOR_BIBRACTE/placeableItemCache.json
  • instanceTemplates/MANOR_BIBRACTE/terrain.dat
  • instanceTemplates/MANOR_BIBRACTE/waypointCache.dat

Release Notes:

  • ICurrency.multiply() now rounds up the result when decimal values are concerned.
  • All vendor markup calculations are performed after the item's stack size is considered.
  • Added a wrench cursor definition.
  • Updated the net.lugdunon.states.tiledGame.modes.ConfigureItemMode's cursor to net.lugdunon.input.Cursor.CURSORS.WRENCH.
  • Added a new instance template: MANOR_BIBRACTE which now represents the interior of the Aeduan Manor house in Bibracte.
  • Updated overworld instance to include additional music tracks in the track rotation.
  • Increased the worth of all crafting stations.
  • Added net.lugdunon.state.World.getRandom() to the server-side API. This serves as an openly accessible java.util.Random instance, initialized with the world's seed value.
  • Added a new quest reward: net.lugdunon.state.quest.condition.completion.reward.CurrencyReward.
  • Refactored the loot table code a bit to allow for currency to be included, in addition to items, to the factoring of dropped loot.
  • The server will now error and exit gracefully upon startup if a mod fails to load.
  • Zombies now drop a small amount of currency when killed.
  • All of the farm quests, save 'Homeward Bound' now award currency when completed.
  • Added COINS sound asset.
  • COINS sound is now played whenever an alter currency command completes.
  • Fixed an issue that was causing the effect sound volume to not be applied correctly.
  • Fixed an issue with the QuestDialog that was causing the dialog to not display if only dialogue was present.
  • Fixed an issue with the QuestDialog that was causing incorrect dialogue instances to be displayed.
  • Dialogue responses can now specify a custom icon.
  • Dialogue responses are now capable of triggering actions.
  • If a dialog response has no conversationId and it is clicked, the dialog will close.
  • Added icon to net.lugdunon.state.dialogue.Response. Defaults to SPEECH_BUBBLE.
  • Added hasTrigger to net.lugdunon.state.dialogue.Response.
  • Default setting for master volume changed to 50%.
  • Default setting for ambient volume changed to 75%.
  • Default setting for music volume changed to 50%.
  • Default setting for effects volume changed to 75%.
  • Added net.lugdunon.command.core.trigger.DialogTriggeredActionCommand.
  • Added net.lugdunon.math.InvalidCoordinatesException to the server-side code base. Thrown by Location.
  • Added net.lugdunon.math.InvalidLocationException to the server-side code base. Thrown by Location.
  • Added net.lugdunon.math.Location(String locationString) to the server-side API.
  • Added net.lugdunon.math.Location(long instanceId, String waypointOrCoords) to the server-side API.
  • Added net.lugdunon.math.Location.getCoords(long instanceId, String coords) to the server-side API.
  • Added support for providing multiple speak actions from which one is chosen at random when a SpeakTriggeredAction is fired.
  • Added net.lugdunon.state.character.trigger.WarpPlayerTriggeredAction to the server-side code base.
  • Added net.lugdunon.state.dialogue.Conversation.getResponse(int i) to the server-side API.
  • Added net.lugdunon.state.dialogue.Dialogue.getConversation(String conversationId) to the server-side API.
  • If an invalid item def is supplied to a vendor slot, the server will warn and exit.
  • Added net.lugdunon.state.waypoint.WaypointCache.hasWaypoint(String waypointId) to the server-side API.
  • Added three warp icons.
  • Added a small limestone house inventory item, and recipe.
  • Added a small wooden house inventory item, and recipe.
  • Added a food vendor to the Bibracte market.
  • Added a blacksmithing vendor to the Bibracte market.
  • Added a town guard at the southern entrance to Bibracte that has some useful information for travelers.
  • Actually added content to all the in-game signs.
  • Removed all the placed jack-o-lanterns from the default world, as Samon has long passed.
  • Fixed two issues with manifest generation that were causing problems with composite classpaths on windows. Thanks Marxell for finding and reporting this!
  • Vendor icons are now defined as part of the vendor definition.
  • Added net.lugdunon.ui.inventory.slot.InventorySlotInteraction.addInventorySlotInteractionListener(listener) to the client-side API.
  • Added net.lugdunon.ui.inventory.slot.InventorySlotInteraction.removeInventorySlotInteractionListener(listener) to the client-side API.
  • Added net.lugdunon.ui.inventory.slot.InventorySlotInteraction.callInventorySlotInteractionListener(method,data) to the client-side API.
  • Inventory Slot Interaction listeners may subscribe to the following events: inventoryItemSelected, inventoryItemUnselected, and inventoryItemDropped.
  • Vendor UI now has a sell drop target that becomes visible when a player selects an inventory item. To sell, simply drop the item on the now visible target element.
  • The InventoryDialog now attempts to call the parentShown() function, when the dialog is shown, on the subpanel.
  • The InventoryDialog now attempts to call the parentHidden() function, when the dialog is hidden, on the subpanel.
  • Added showMissedOnly boolean argument to the net.lugdunon.ui.Console.prototype.log(msg,color,foreign,showMissedOnly) function. If this is set to true, the message will only show up in the live log frame, and not the console.
  • Added game.getVendorIconForNPC(npcId) to the client-side API.
  • Altered currency events will only show a client message in the live log frame, to prevent cluttering up the console.
  • The parameter filter API has been modified to make it more useful. Instead of the process and postProcess methods accepting a CommandRequest object, they now accept a Character and CommandProperties objects instead.
  • ConsoleCommand now implements IServerInvokedCommand.
  • ConsoleFiredCommand now provides a method for server triggered console commands: handle(CommandProperties props, String consoleMessage). This is useful for allowing NPCs to speak and emote.
  • EmoteConsoleCommand now callable on the server side.
  • SayConsoleCommand now callable on the server side.
  • YellConsoleCommand now callable on the server side.
  • Added PurchaseItemFromVendorCommand.
  • Added UpdateVendorSlotCommand.
  • Added support for VendorInstance objects to CommandProperties.
  • Added the NPC trigger API, providing a generic method of triggering various actions by NPCs.
  • Added PlayerProximityBehavior. This behavior fires a triggered action when a player ventures into the NPCs trigger radius.
  • Added net.lugdunon.state.character.Character.canAssignItem(Item item, int amount) to the server-side API.
  • Added net.lugdunon.state.character.Character.canAssignItem(Item item, int amount, boolean b, String object) to the server-side API.
  • Added net.lugdunon.state.currency.ICurrency.multiply(float multiplier) to the server-side API.
  • Players now inform the server of when they are viewing a vendor's wares.
  • Added net.lugdunon.state.vendor.slot.IVendorSlot.handlePurchase(PlayerCharacter pc) to the server-side API.
  • Added net.lugdunon.state.vendor.slot.IVendorSlot.setVendorInstance(VendorInstance vendorInstance) to the server-side API.
  • Added net.lugdunon.state.vendor.slot.IVendorSlot.getVendorInstance() to the server-side API.
  • Added a net.lugdunon.state.vendor.slot.RechargingVendorSlot. Slots of this type become unavailable for a certain time after a purchase.
  • Added net.lugdunon.state.State.makeObjectFromJSONDefinition(JSONObject o) to the server-side API.
  • Added a vendor for brewing supplies.
  • Added a warning if a single server timestep frame takes longer than the maximum frame length.
  • Added support to dialogs for vertical tabs.
  • Added support for labels attached to dialog tabs.
  • Items can now be sold to vendors.
  • Added game.vendorMarkup to client-side API.
  • Added data property to net.lugdunon.ui.inventory.slot.InventorySlotInteraction.enableDeleteDropTarget(el,data).
  • Added merchant and buyback tabs to the vendor inventory dialog subpanel.
  • Added net.lugdunon.state.currency.ICurrency.clone() to server-side API.
  • Added net.lugdunon.state.vendor.VendoredItem to the server-side code base.
  • Added a 'vendored item' pool for player characters. Items sold will remain in the pool until repurchased or rotated out by subsequent transactions.
  • Added vendor.markup world.cfg var. Contains the amount to markup items purchased via vendors. Defaults to 1.25 (125%).
  • Added vendor.max.buyback world.cfg var. Defines the maximum amount of vendored items that can remain in the vendored item pool. Defaults to 10.
  • Added net.lugdunon.state.character.PlayerCharacter.listVendoredItems() to the server-side API.
  • Added net.lugdunon.state.character.PlayerCharacter.vendorItem(VendoredItem vi) to the server-side API.
  • Added net.lugdunon.state.character.PlayerCharacter.buybackItem(VendoredItem vi) to the server-side API.
  • Added net.lugdunon.command.core.vendor.SellItemToVendorCommand.
  • Added net.lugdunon.command.core.vendor.UpdateVendoredItemsCommand.
  • Added 'minimap' option to the UI Settings to allow for an alternate method for showing and hiding the minimap.
  • Added support to net.lugdunon.character.NonPlayerCharacter for displaying vendor status.
  • Added net.lugdunon.character.NonPlayerCharacter.VENDOR_ICON to the client-side API.
  • Added net.lugdunon.character.NonPlayerCharacter.vendor to the client-side API.
  • Vendor instance mappings are now sent on server connect.
  • Clicking on a vendor NPC when in range will invoke the vendor UI.
  • Added net.lugdunon.ui.inventory.slot.InventorySlot.drawItem(item,context,mode) to the client-side API.
  • Added net.lugdunon.ui.inventory.slot.InventorySlot.showHighlight(itemInstance,mode) to the client-side API.
  • Added net.lugdunon.ui.inventory.slot.InventorySlot.clearHighlight() to the client-side API.
  • Added net.lugdunon.ui.inventory.sub.Vendor InventoryDialog sub panel to the client-side code base.
  • Added support for getHeaderText() in InventoryDialog sub panels, to allow the sub panel to direct the dialog header text.
  • Added game.getVendorIdForNPC(npcId) to the client-side API.
  • Added net.lugdunon.command.core.vendor.GetVendorCommand. Returns the data needed to instantiate the specified net.lugdunon.state.vendor.VendorInstance object.
  • Added Vendor support to net.lugdunon.state.mod.Mod.
  • Added net.lugdunon.state.vendor.Vendor to the server-side code base.
  • Added net.lugdunon.state.vendor.VendorCache to the server-side code base.
  • Added net.lugdunon.state.vendor.VendorDefinitions to the server-side code base.
  • Added net.lugdunon.state.vendor.VendorInstance to the server-side and client-side code bases.
  • Added net.lugdunon.state.vendor.slot.IVendorSlot to the server-side and client-side code bases.
  • Added net.lugdunon.state.vendor.slot.SimpleVendorSlot to the server-side and client-side code bases.
  • Added a farming vendor.
  • Added a trifold coin icon.
  • Mods can now contain additional recipes.
  • Currency now implemented as a subsystem and subsequently a mod has been created for the default implmentation (gsc, or gold / silver / copper).
  • Added net.lugdunon.currency.gsc.action.RedeemCoinActionHandler to client-side code base.
  • Added net.lugdunon.currency.gsc.command.RedeemCoinCommand.
  • Added coin blank, coin mold, gold, silver, and copper coin items and recipes.
  • game.currencyImplementation holds the implementing class for this server's currency. It is initialized during the ConnectToServerCommand.
  • Items can now have a 'worth'.
  • net.lugdunon.item.renderer.DefaultRenderer now shows the buy and sell values for an item of worth.
  • game states can now subscribe to currencyUpdated() events by providing a function implementation.
  • Added net.lugdunon.states.ActionBarGameState.currencyUpdated(mode,currentValue,changedAmount) to client-side API.
  • Added net.lugdunon.states.ActionBarGameState.addCurrencyUpdateListener(id,listener) to client-side API.
  • Added net.lugdunon.states.ActionBarGameState.removeCurrencyUpdateListener(id) to client-side API.
  • Added currency display to InventoryDialog.
  • InventoryDialog no subscribes to currencyUpdated() events.
  • Added very rough worth values to a large number of item. Still needs adjusting though.
  • Fixed GeoIP discovery for servers in net.lugdunon.states.list.ServerList.fetchServerGeoData(server).
  • Added net.lugdunon.state.currency.ICurrency java and js classes.
  • Added net.lugdunon.character.Character.setCurrency(currency) to client-side API.
  • Added net.lugdunon.command.core.console.gm.AlterCurrencyCommand (/currency, or /cur), which also implements IServerInvokedCommand for programmatic alteration of a character's funds.
  • Added currency support to CommandProperties.
  • Added a goldsmithing crafting discipline. Goldsmiths will be able to create ornamentation, jewelry, and mint coins from precious metals and gemstones.
  • Added the three appropriate advancements for the goldsmithing crafting discipline.
  • Added silver ore nodes, silver ore, silver bars (and crafting recipe).
  • Added an anvil item and crafting recipe.
  • Changed the blacksmith's anvil crafting recipe to require an anvil and steel hammer.
  • Crafting a blacksmith's anvil will require the use of another blacksmith's anvil at several points in the process. This being the case, blacksmiths will need access to a pre-existing blacksmith's anvil to create one of their own.
  • Added a goldsmith's crafting bench item, station, and recipe.
  • Silver and gold ore nodes will now spawn in mineshafts. Silver with a 5% probability, gold with a 2% probability, and iron now has an 18% probability.
  • Added a small foundry (blacksmith's anvil and smelting furnace) to the family farm.