Difference between revisions of "Release 0.8.6"
From LugdunonWiki
(Created page with "{{engine}} '''''0.8.6''''' ''16/12/2017'' Mods altered in this update: Server mods altered in this update: /etc files altered in this update: Known Issues: ...") |
|||
Line 9: | Line 9: | ||
Mods altered in this update: | Mods altered in this update: | ||
− | + | *net.lugdunon.world.defaults.environment | |
+ | *net.lugdunon.world.defaults.character | ||
+ | *net.lugdunon.world.clover.tui | ||
Server mods altered in this update: | Server mods altered in this update: | ||
− | + | *net.lugdunon.server.worldgen.defaults | |
+ | *net.lugdunon.server.worldgen.procedural | ||
/etc files altered in this update: | /etc files altered in this update: | ||
− | + | *clientConnectMessage.json | |
+ | *items.json | ||
+ | *modifiers.json | ||
+ | *recipes.json | ||
Known Issues: | Known Issues: | ||
− | + | *Certain properties don't take effect until second start. (DefaultCharacterStats) | |
+ | *Kill brigand leader causes cascading stack trace when assigning honorific (AssignHonorificCommand NPC -> PC Class Cast Error) | ||
+ | *Aggro on attack ai is broken | ||
+ | *Nothing is dropping loot when slain by pc | ||
+ | *Can't place nemetonic generator | ||
+ | *Candle expiration is bugged | ||
+ | *Town warp doesn't work in instances | ||
+ | *Location translation (range checks and placeable violation) still not working | ||
+ | *Arc matter condenser tooltip needs addressing | ||
+ | *No weather holder recipe. | ||
+ | *Corn and wheat graphics are swapped. | ||
+ | *Flax seed has wrong icon. | ||
+ | *Silver chain recipe broken | ||
+ | *Nightshade not dropping pigment | ||
+ | *Planter / harvester 4 -> 5 information outputs | ||
Release Notes: | Release Notes: | ||
− | + | *Server 0.8.5 -> 0.8.6 | |
+ | *Client 0.8.5 -> 0.8.6 | ||
+ | *net.lugdunon.server.worldgen.procedural 0.0.8 -> 0.0.9 | ||
+ | *net.lugdunon.world.clover.tui 0.1.2 -> 0.1.3 | ||
+ | *net.lugdunon.world.defaults.character 0.0.7 -> 0.0.8 | ||
+ | *net.lugdunon.world.defaults.environment 0.1.1 -> 0.1.2 | ||
+ | *net.lugdunon.server.worldgen.defaults 0.0.14 -> 0.0.15 | ||
+ | *Fixed an issue with net.lugdunon.math.Rect.contains(p, wrap) when used on terrain boundaries. | ||
+ | *Fixed an issue with net.lugdunon.math.Rect.contains(Point p, int wrap) when used on terrain boundaries. | ||
+ | *Fixed an issue with net.lugdunon.world.defaults.environment.weather.RainOrSnow triggering a Snow transition even if the weather is warmer than freezing. | ||
+ | *Fixed an issue with not being able to expire non-dispellable modifiers. | ||
+ | *Fixed an issue with equipping / un-equipping items that grant effects not properly adding / removing modifiers. | ||
+ | *Fixed tile map error on oak trees. | ||
+ | *Fixed tile map error on alder trees. | ||
+ | *Fixed spelling mistake on Measure Tile Distance item's name. | ||
+ | *Fixed an issue with net.lugdunon.state.item.updateable.PlaceableItemInstanceUpdateable that attempted to notify an account that their crop had perished even if they were not connected. | ||
+ | *Fixed an issue in net.lugdunon.state.metric.currency.CurrencyEarnedMetric that prevented the statistics / achievements panel from loading if currency earned was a null value. | ||
+ | *Fixed an issue in net.lugdunon.state.metric.currency.CurrencySpentMetric that prevented the statistics / achievements panel from loading if currency spent was a null value. | ||
+ | *Fixed an issues with net.lugdunon.command.core.arc.TogglePowerCommand crashing the client if triggered before the chunkManager has been initialized. | ||
+ | *net.lugdunon.util.FastMath.drawWrappedRect(Graphics2D g, Rect r, int ws) will now work for worlds other than 1024x1024 in size. | ||
+ | *net.lugdunon.state.item.arc.handler.CraftingStationArcHandler should now work as intended. | ||
+ | *NonPlayerCharacters will no longer attempt to resign themselves to long update mode if dead. | ||
+ | *Added ACTION_CONFIG_WEATHER icon. | ||
+ | *Added ARMOR_PLATE_A_HEAD icon. | ||
+ | *Added INFORMATION_WEATHER_HOLDER icon. | ||
+ | *Added INFORMATION_LOCATION_HOLDER. | ||
+ | *Added ARC_HARVESTER icon. | ||
+ | *Moved worldgen.procedural.make.roads from server to world property. | ||
+ | *Moved worldgen.procedural.make.provincial.roads from server to world property. | ||
+ | *Added worldgen.procedural.make.detailed.roads world property to allow for less detailed and less time / resource intensive road construction. | ||
+ | *Added ITEM.INFORMATION.WEATHER.HOLDER inventory item. Will provide various information values pertaining to the current location's weather. | ||
+ | *Added INFORMATION.WEATHER.HOLDER placeable item. Will provide various information values pertaining to the current location's weather. | ||
+ | *ITEM.SUNWHEEL can now be placed. | ||
+ | *Added INFORMATION.SUNWHEEL placeable item. Provides various time / environment based values for information consumers. | ||
+ | *Added styles for inventory panels for new weather / time information holders. | ||
+ | *Added styles for the arc visualizer ui. | ||
+ | *Added net.lugdunon.world.defaults.environment.item.arc.tooltip.information.WeatherInformationProviderTooltipExtension to the code base. | ||
+ | *Added net.lugdunon.world.defaults.environment.item.arc.handler.information.WeatherInformationProviderArcHandler to the code base. | ||
+ | *Added net.lugdunon.world.defaults.environment.item.arc.handler.information.EnvironmentInformationProviderArcHandler to the code base. | ||
+ | *net.lugdunon.world.defaults.environment.command.ManageWeatherCommand should now work properly. | ||
+ | *Added etc/clientConnectMessage.json to the default world gen assets. | ||
+ | *Added recipe for ARMOR.ARC.PLATE.HEAD. | ||
+ | *Added recipe for ITEM.PLANTER.HARVESTER. | ||
+ | *Added recipe for ITEM.INFORMATION.LOCATION.HOLDER. | ||
+ | *Added ARC.HELM.VISUALIZE modifier. | ||
+ | *Empty buckets can be used in the planter / harvester. | ||
+ | *Flower seeds can be used in the planter / harvester. | ||
+ | *Potatoes can be used in the planter / harvester. | ||
+ | *Tomato seeds can be used in the planter / harvester. | ||
+ | *Wheat seeds can be used in the planter / harvester. | ||
+ | *Carrot seeds can be used in the planter / harvester. | ||
+ | *Artichoke seeds can be used in the planter / harvester. | ||
+ | *Pepper seeds can be used in the planter / harvester. | ||
+ | *Cucumber seeds can be used in the planter / harvester. | ||
+ | *Corn seeds can be used in the planter / harvester. | ||
+ | *Flax seeds can be used in the planter / harvester. | ||
+ | *Hops seeds can be used in the planter / harvester. | ||
+ | *Barley seeds can be used in the planter / harvester. | ||
+ | *Pumpkin seeds can be used in the planter / harvester. | ||
+ | *Sugarbeet seeds can be used in the planter / harvester. | ||
+ | *Mustard seeds can be used in the planter / harvester. | ||
+ | *Rosemary seeds can be used in the planter / harvester. | ||
+ | *Sage seeds can be used in the planter / harvester. | ||
+ | *Shears can be used in the planter / harvester. | ||
+ | *Pickaxes can be used in the planter / harvester. | ||
+ | *Axes can be used in the planter / harvester. | ||
+ | *Scythes can be used in the planter / harvester. | ||
+ | *Hoes can be used in the planter / harvester. | ||
+ | *Shovels can be used in the planter / harvester. | ||
+ | *Refactored code executed when NPC dies, such as loot distribution, metrics update, experience awards, etc. | ||
+ | *Added harvester.pulse.multiplier world property. The multiplier (applied to the Planter / Harvester's working area) that determines the arc pulse magnitude required to power a Planter / Harvester. | ||
+ | *Added worldgen.placeable.item.density.modifier world property. The modifier by which item placement for worlds greater than 1024 will be modified by. Must be a value greater than or equal to 0. If value is 0, this feature is disabled. | ||
+ | *Changed default value for world.gen world property from net.lugdunon.server.worldgen.defaults.DefaultWorldGen to net.lugdunon.server.worldgen.procedural.ProceduralWorldGen. | ||
+ | *Removed net.lugdunon.world.terrain.Terrain.getPath(Point origin, Point destination, Rect[] blackZones) from the server-side api. | ||
+ | *Removed net.lugdunon.world.terrain.Terrain.getPath(Point origin, Point destination, Rect[] blackZones, int searchDomain) from the server-side api. | ||
+ | *Added net.lugdunon.world.terrain.Terrain.getPath(Point origin, Point destination, Set<Point> additionalImpassableBlocks) to the server-side api. | ||
+ | *Added net.lugdunon.world.terrain.Terrain.getPath(Point origin, Point destination, Set<Point> additionalImpassableBlocks, int searchDomain) to the server-side api. | ||
+ | *Refactored road generation in net.lugdunon.world.politics.map.generator.DelaunayVoronoiGenerator to greatly increase performance. | ||
+ | *Added support for two levels of road generation in net.lugdunon.world.politics.map.generator.DelaunayVoronoiGenerator, allowing for faster, less detailed pathfinding in addition to current pathfinding algorithm. | ||
+ | *Added net.lugdunon.world.instance.Instance.npcsAt(Point actionLocation) to the server-side api. | ||
+ | *Added net.lugdunon.world.environment.calendar.BaseCalendar.toString() to the server-side api. | ||
+ | *Added net.lugdunon.world.environment.calendar.BaseCalendar.toLongString() to the server-side api. | ||
+ | *Added net.lugdunon.world.environment.calendar.BaseCalendar.toShortString() to the server-side api. | ||
+ | *Removed net.lugdunon.world.biome.dynamic.DynamicPlaceableItem.getPlaceableProbability() from the server-side api. | ||
+ | *Added net.lugdunon.world.biome.dynamic.DynamicPlaceableItem.getPlaceableProbability(short terrainSize) to the server-side api. | ||
+ | *Added net.lugdunon.world.biome.dynamic.DynamicPlaceableItem.DEFAULT_PLACEMENT_MULTIPLIER to the server-side api. | ||
+ | *net.lugdunon.world.biome.dynamic.DynamicPlaceableItem.getPlaceableProbability(short terrainSize) can now adjust rate of item placement in worlds larger than 1024x1024. | ||
+ | *Added net.lugdunon.util.palette.PaletteIndex(int pi) to the server-side api. | ||
+ | *Added net.lugdunon.util.palette.PaletteIndex.getAlphaColor() to the server-side api. | ||
+ | *Added net.lugdunon.state.World.hasClientConnectMessage() to the server-side api. | ||
+ | *Added net.lugdunon.state.World.getClientConnectMessage() to the server-side api. | ||
+ | *Added net.lugdunon.state.World.saveClientConnectMessage() to the server-side api. | ||
+ | *Added support for a client connect message that is displayed in a dialog when an account connects to a server for the first time. | ||
+ | *Added net.lugdunon.state.State.accountExists(String accountName) to the server-side api. | ||
+ | *Removed net.lugdunon.state.sprite.SpriteLayerImage.SpriteLayerImage(BufferedImage image) from the server-side api. | ||
+ | *Added net.lugdunon.state.sprite.SpriteLayerImage.SpriteLayerImage(BufferedImage image, boolean sortByHue) to the server-side api. | ||
+ | *Added net.lugdunon.state.recipe.Recipe.getCraftingArrangement() to the server-side api. | ||
+ | *net.lugdunon.state.item.PlaceableItemInstance can now update their grounded location on a state change. | ||
+ | *Added net.lugdunon.state.item.PlaceableItemInstance.getCraftingContents() to the server-side api. | ||
+ | *Added net.lugdunon.state.item.PlaceableItemInstance.applyDamage(PlaceableItemInstance actor, String dmgType, int dmgApplied) to the server-side api. | ||
+ | *Removed net.lugdunon.state.item.PlaceableItemInstance.generateAndDeliverLoot(String dmgType, Character acted, JSONArray drops) from the server-side api. | ||
+ | *Added net.lugdunon.state.item.PlaceableItemInstance.generateAndDeliverLoot(String dmgType, LootActor acted, JSONArray drops) to the server-side api. | ||
+ | *Added net.lugdunon.state.item.PlaceableItemInstance.canModify(String dmgType, Character actor) to the server-side api. | ||
+ | *Added net.lugdunon.state.item.PlaceableItemInstance.findAllSlotsWithItem(Item item) to the server-side api. | ||
+ | *Added net.lugdunon.state.item.PlaceableItemInstance.hasEnoughOfItem(Item item, int count) to the server-side api. | ||
+ | *Added net.lugdunon.state.item.PlaceableItemCache.placeableStateUpdated(PlaceableItemInstance pii, Point lastLocation, String lastState) to the server-side api. | ||
+ | *Added net.lugdunon.state.item.PlaceableItemCache.listAllItemsAt(Point location) to the server-side api. | ||
+ | *net.lugdunon.state.item.PlaceableItemCache now also keeps track of all of its placeable items by their location. | ||
+ | *Added net.lugdunon.state.item.Item.getHarvesterActionHandler() to the server-side api. | ||
+ | *net.lugdunon.state.item.Item definitions can now be enabled for use in a Planter / Harvester by providing an implementation of net.lugdunon.state.item.harvester.action.IHarvesterActionHandler in the harvesterActionHandler property | ||
+ | *Added net.lugdunon.state.item.tooltip.ITooltipExtension.tooltipDestroyed to the client-side api. | ||
+ | *Added net.lugdunon.state.item.tooltip.CraftingStationTooltipExtension.renderArcsConsumed to the client-side api. | ||
+ | *net.lugdunon.state.item.tooltip.CraftingStationTooltipExtension now reports the information input designation table. | ||
+ | *Removed net.lugdunon.state.item.placement.DefaultPlacementHandler.violatesExistingPlaceable(Item itemDef, Point location, Instance instance) from the server-side api. | ||
+ | *Added net.lugdunon.state.item.placement.DefaultPlacementHandler.violatesExistingPlaceable(Item itemDef, Point location, Instance instance, String state, boolean placedByGM) to the server-side api. | ||
+ | *Added net.lugdunon.state.item.manifestation.AnimatedContainerManifestationHandler to the codebase. | ||
+ | *Added net.lugdunon.state.item.loot.LootActor to the server-side codebase. | ||
+ | *Removed net.lugdunon.state.item.loot.ILootDropStrategy.handleLootDrop(PlaceableItemInstance pii, String dmgType, Character acted, JSONArray drops) from the server-side api. | ||
+ | *Removed net.lugdunon.state.item.loot.PooledPercentageLootDropStrategy.handleIndividualLootDrop(PlaceableItemInstance pii, String dmgType, Character acted, JSONObject drop, DroppedLoot droppedLoot) from the server-side api. | ||
+ | *Removed net.lugdunon.state.item.loot.DefaultLootDropStrategy.handleIndividualLootDrop(PlaceableItemInstance pii, String dmgType, Character acted, JSONObject drop, DroppedLoot droppedLoot) from the server-side api. | ||
+ | *Removed net.lugdunon.state.item.loot.DefaultLootDropStrategy.handleIndividualLootDrop(PlaceableItemInstance pii, String dmgType, Character acted, JSONObject drop, DroppedLoot droppedLoot)from the server-side api. | ||
+ | *Added net.lugdunon.state.item.loot.ILootDropStrategy.handleLootDrop(PlaceableItemInstance pii, String dmgType, LootActor acted, JSONArray drops) to the server-side api. | ||
+ | *Added net.lugdunon.state.item.loot.PooledPercentageLootDropStrategy.handleIndividualLootDrop(PlaceableItemInstance pii, String dmgType, LootActor acted, JSONObject drop, DroppedLoot droppedLoot) to the server-side api. | ||
+ | *Added net.lugdunon.state.item.loot.DefaultLootDropStrategy.handleIndividualLootDrop(PlaceableItemInstance pii, String dmgType, LootActor acted, JSONObject drop, DroppedLoot droppedLoot) to the server-side api. | ||
+ | *Added net.lugdunon.state.item.loot.DefaultLootDropStrategy.handleIndividualLootDrop(PlaceableItemInstance pii, String dmgType, LootActor acted, JSONObject drop, DroppedLoot droppedLoot) to the server-side api. | ||
+ | *Added net.lugdunon.state.item.harvester.action.IHarvesterActionHandler to the server-side codebase. | ||
+ | *Added net.lugdunon.state.item.harvester.action.BaseCollectionHarvesterActionHandler to the server-side codebase. | ||
+ | *Added net.lugdunon.state.item.harvester.action.BaseItemPlacementHarvesterActionHandler to the server-side codebase. | ||
+ | *Added net.lugdunon.state.item.harvester.action.BucketHarvesterActionHandler to the server-side codebase. | ||
+ | *Added net.lugdunon.state.item.harvester.action.HoeHarvesterActionHandler to the server-side codebase. | ||
+ | *Added net.lugdunon.state.item.harvester.action.ShearsHarvesterActionHandler to the server-side codebase. | ||
+ | *Added net.lugdunon.state.item.harvester.action.SowingHarvesterActionHandler to the server-side codebase. | ||
+ | *Added net.lugdunon.state.item.harvester.action.ToolHarvesterActionHandler to the server-side codebase. | ||
+ | *Added net.lugdunon.state.item.equipment.modifier.ArcHelmModifier to the codebase. | ||
+ | *Added net.lugdunon.state.item.arc.ArcVisualizer to the client-side codebase. | ||
+ | *Added net.lugdunon.state.item.arc.tooltip.HarvesterTooltipExtension to the client-side codebase. | ||
+ | *net.lugdunon.state.item.arc.tooltip.ArcMatterFilterTooltipExtension.renderIODesignation() now renders information input table. | ||
+ | *net.lugdunon.state.item.arc.tooltip.ArcMatterCondenserTooltipExtension.renderIODesignation() temporarily disabled. | ||
+ | *Arcs consumed section will now only render in a tooltip if the item is placed. | ||
+ | *net.lugdunon.state.item.arc.tooltip.ArcBatteryTooltipExtension.renderIODesignation() now renders information input table. | ||
+ | *Added net.lugdunon.state.item.arc.tooltip.ArcLogicGateTooltipExtension.tooltipDestroyed(itemDef,isPlaceableItemInstance,itemInstance) to the client-side api. | ||
+ | *Added net.lugdunon.state.item.arc.tooltip.ArcElementTooltipExtension.renderArcsConsumed(itemInstance) to the client-side api. | ||
+ | *Added net.lugdunon.state.item.arc.tooltip.information.LocationInformationProviderTooltipExtension to the client-side codebase. | ||
+ | *Added net.lugdunon.state.item.arc.handler.PowerConfiguredStateArcHandler to the codebase. | ||
+ | *Added net.lugdunon.state.item.arc.handler.HarvesterArcHandler to the codebase. | ||
+ | *Added net.lugdunon.state.item.arc.handler.information.LocationInformationProviderArcHandler to the codebase. | ||
+ | *Added net.lugdunon.state.item.arc.handler.IArcHandler.powerToggledClientUpdate(EnhancedDataOutputStream out) to the server-side api. | ||
+ | *Added net.lugdunon.state.item.arc.handler.BaseArcHandler.powerToggledClientUpdate(EnhancedDataOutputStream out) to the server-side api. | ||
+ | *Removed net.lugdunon.state.item.arc.handlerIArcHandler.powerStateChangeOccurred() from the client-side api. | ||
+ | *Removed net.lugdunon.state.item.arc.handler.SwitchedLightingArcHandler.powerStateChangeOccurred() from the client-side api. | ||
+ | *Removed net.lugdunon.state.item.arc.handler.ConsumerArcHandler.powerStateChangeOccurred() from the client-side api. | ||
+ | *Added to the client-side api.Added net.lugdunon.state.item.arc.handler.IArcHandler.arcsConsumed() to the client-side api. | ||
+ | *Added net.lugdunon.state.item.arc.handler.IArcHandler.visualizeArcState() to the client-side api. | ||
+ | *Added net.lugdunon.state.item.arc.handler.IArcHandler.powerStateChangeOccurred(res) to the client-side api. | ||
+ | *Added net.lugdunon.state.item.arc.handler.SwitchedLightingArcHandler.powerStateChangeOccurred(res) to the client-side api. | ||
+ | *Added net.lugdunon.state.item.arc.handler.ConsumerArcHandler.powerStateChangeOccurred(res) to the client-side api. | ||
+ | *Added net.lugdunon.state.item.arc.handler.information.IInformationProviderArcHandler.INFORMATION_TYPE_LOCATION to the server-side api. | ||
+ | *Added net.lugdunon.state.character.Character.MAX_CRAFTING_LEVEL to the server-side api. | ||
+ | *Added net.lugdunon.state.character.Character.InventorySlot.toString() to the server-side api. | ||
+ | *Added net.lugdunon.state.character.modifier.BaseModifier.getFlavorText() to the server-side api. | ||
+ | *Added net.lugdunon.state.character.modifier.BaseModifier.isMainPlayer() to the client-side api. | ||
+ | *Added net.lugdunon.state.character.modifier.BaseModifier.getFlavorText() to the client-side api. | ||
+ | *Modifiers now support a flavorText property to provide some descriptive text to the modifier tooltip. | ||
+ | *net.lugdunon.math.Rect.contains(p, wrap) is now inclusive (pos1 <= loc <= pos2). | ||
+ | *net.lugdunon.math.Rect.contains(Point p) is now inclusive (pos1 <= loc <= pos2). | ||
+ | *Added net.lugdunon.math.Rect() to the server-side api. | ||
+ | *Added net.lugdunon.math.Rect(Point pos, Point pos2, int max) to the server-side api. | ||
+ | *Added net.lugdunon.math.Rect.set(int x, int y, int w, int h) to the server-side api. | ||
+ | *Added net.lugdunon.math.Rect.getArea() to the server-side api. | ||
+ | *Added net.lugdunon.math.Rect.getPerimeter() to the server-side api. | ||
+ | *Added net.lugdunon.math.Rect.containsX(int x) to the server-side api. | ||
+ | *Added net.lugdunon.math.Rect.containsY(int y) to the server-side api. | ||
+ | *Added net.lugdunon.math.Rect.containsX(int x, int wrap) to the server-side api. | ||
+ | *Added net.lugdunon.math.Rect.containsY(int y, int wrap) to the server-side api. | ||
+ | *Added net.lugdunon.math.Point.hashCode() to the server-side api. | ||
+ | *Added net.lugdunon.math.Point.PointComparator to the server-side api. | ||
+ | *net.lugdunon.math.Point.set(int x, int y, short d) now returns itself. | ||
+ | *Added net.lugdunon.math.Dimension.addW(int w) to the server-side api. | ||
+ | *Added net.lugdunon.math.Dimension.addH(int h) to the server-side api. | ||
+ | *Added net.lugdunon.math.Dimension.add(int i) to the server-side api. | ||
+ | *Added net.lugdunon.math.Dimension.subW(int w) to the server-side api. | ||
+ | *Added net.lugdunon.math.Dimension.subH(int h) to the server-side api. | ||
+ | *Added net.lugdunon.math.Dimension.sub(int i) to the server-side api. | ||
+ | *Added net.lugdunon.math.Dimension.getArea() to the server-side api. | ||
+ | *Added net.lugdunon.math.Dimension.getPerimeter() to the server-side api. | ||
+ | *net.lugdunon.math.Dimension.w is now public. | ||
+ | *net.lugdunon.math.Dimension.h is now public. | ||
+ | *net.lugdunon.command.Command.canPerformAction(Character character) is now static. | ||
+ | *net.lugdunon.command.Command.canPerformActionOn(Character character) is now static. | ||
+ | *net.lugdunon.command.Command.inRange(int range, Point loc, Point playerLoc, short terrainSize) is now static. | ||
+ | *net.lugdunon.command.Command.violatesPlaceable(Point location, Instance instance) is now static. | ||
+ | *net.lugdunon.command.core.LoadCharacterCommand.commandResponse(res) sets game.loading = true for the duration of its execution. | ||
+ | *net.lugdunon.command.core.play.UseShearsCommand now implements net.lugdunon.command.core.IServerInvokedCommand. | ||
+ | *net.lugdunon.command.core.play.TillEarthCommand now implements net.lugdunon.command.core.IServerInvokedCommand. | ||
+ | *net.lugdunon.command.core.play.FillBucketCommand now implements net.lugdunon.command.core.IServerInvokedCommand. | ||
+ | *net.lugdunon.command.core.play.DamagePlaceableCommand can now be invoked at the behest of a PlaceableItemInstance. | ||
+ | *net.lugdunon.command.core.play.FillBucketCommand can now be invoked at the behest of a PlaceableItemInstance. | ||
+ | *net.lugdunon.command.core.play.TillEarthCommand can now be invoked at the behest of a PlaceableItemInstance. | ||
+ | *net.lugdunon.command.core.play.UseShearsCommand can now be invoked at the behest of a PlaceableItemInstance. | ||
+ | *net.lugdunon.command.core.inventory.ItemDurabilityUpdateCommand can now be invoked at the behest of a PlaceableItemInstance. | ||
+ | *net.lugdunon.command.core.inventory.ItemBrokenCommand can now be invoked at the behest of a PlaceableItemInstance. | ||
+ | *net.lugdunon.command.core.edit.PlaceItemCommand can now be invoked at the behest of a PlaceableItemInstance. | ||
+ | *Added net.lugdunon.command.core.edit.PlaceItemCommand.satisfiesConsumptionRules(JSONObject tool, Item item, PlaceableItemInstance container) to the server-side api. | ||
+ | *Added net.lugdunon.command.core.edit.PlaceItemCommand.satisfiesConsumptionRules(JSONObject tool, Item item, PlayerCharacter activeCharacter) to the server-side api. | ||
+ | *net.lugdunon.command.core.arc.TogglePowerCommand.handle(CommandProperties props) now triggers a powerToggledClientUpdate() call on the placeable item instance's arc handler. | ||
+ | *Removed the line "populate.world.from.archive=https://repository.lugdunon.net/world/LUGDUNON.1024.lug" from all server's server.cfg file. | ||
+ | *Removed game.hideTooltip() from the client-side API. | ||
+ | *Removed game.onHideTooltip(el) from the client-side API. | ||
+ | *Added support for a UI layer that will allow simpler implementation of custom UI elements. | ||
+ | *Added game.addUIElement(el) to the client-side codebase. | ||
+ | *Added game.removeUIElement(elId) to the client-side API. | ||
+ | *Added game.hideTooltip(renderer,renderData) to the client-side API. | ||
+ | *Added game.onHideTooltip(el,renderer,renderData) to the client-side API. | ||
+ | *Added game.loadingComplete() to the client-side API. | ||
+ | *Added game.listCurrentPlaceableItems(filterHandler,onScreenOnly) to the client-side API. | ||
+ | *Added game.invokeScreenRenderingHooks(mode) to the client-side API. | ||
+ | *Added game.addScreenRenderingHook(srh) to the client-side API. | ||
+ | *Added game.removeScreenRenderingHook(srh) to the client-side API. | ||
+ | *Added net.lugdunon.util.ScreenRenderingHook to the client-side codebase. Screen rendering hooks are called at various steps in the draw call. | ||
+ | *net.lugdunon.util.Math.wrap(i,max) will treat max as game.tileSetDef.mapSize if no max is provided. | ||
+ | *net.lugdunon.util.Math.diff(i, j, max) will treat max as game.tileSetDef.mapSize if no max is provided. | ||
+ | *Removed net.lugdunon.states.tiledGame.TiledGame.hideTooltip() from the client-side API. | ||
+ | *Added net.lugdunon.states.tiledGame.TiledGame.hideTooltip(renderer, renderData) to the client-side API. | ||
+ | *Added net.lugdunon.states.tiledGame.chunk.ChunkManager.registerChunksUpdatedListener(id,cuListener) to the client-side API. | ||
+ | *Added net.lugdunon.states.tiledGame.chunk.ChunkManager.unregisterChunksUpdatedListener(id) to the client-side API. | ||
+ | *Added net.lugdunon.item.renderer.DefaultRenderer.renderEquipModifier(modId) to the client-side API. | ||
+ | *Added net.lugdunon.item.renderer.DefaultRenderer.tooltipDestroyed(itemInstance) to the client-side API. | ||
+ | *net.lugdunon.item.renderer.DefaultRenderer.renderTooltip(itemInstance) equipmentEffect rendering code changed to use the new flavorText property. | ||
+ | *game.client.handleQueuedResponses() will now log the actual stacktrace in addition to the opcode. | ||
[[Category:Releases|Upcoming Release]] | [[Category:Releases|Upcoming Release]] |
Latest revision as of 02:32, 21 December 2017
|
0.8.6
16/12/2017
Mods altered in this update:
- net.lugdunon.world.defaults.environment
- net.lugdunon.world.defaults.character
- net.lugdunon.world.clover.tui
Server mods altered in this update:
- net.lugdunon.server.worldgen.defaults
- net.lugdunon.server.worldgen.procedural
/etc files altered in this update:
- clientConnectMessage.json
- items.json
- modifiers.json
- recipes.json
Known Issues:
- Certain properties don't take effect until second start. (DefaultCharacterStats)
- Kill brigand leader causes cascading stack trace when assigning honorific (AssignHonorificCommand NPC -> PC Class Cast Error)
- Aggro on attack ai is broken
- Nothing is dropping loot when slain by pc
- Can't place nemetonic generator
- Candle expiration is bugged
- Town warp doesn't work in instances
- Location translation (range checks and placeable violation) still not working
- Arc matter condenser tooltip needs addressing
- No weather holder recipe.
- Corn and wheat graphics are swapped.
- Flax seed has wrong icon.
- Silver chain recipe broken
- Nightshade not dropping pigment
- Planter / harvester 4 -> 5 information outputs
Release Notes:
- Server 0.8.5 -> 0.8.6
- Client 0.8.5 -> 0.8.6
- net.lugdunon.server.worldgen.procedural 0.0.8 -> 0.0.9
- net.lugdunon.world.clover.tui 0.1.2 -> 0.1.3
- net.lugdunon.world.defaults.character 0.0.7 -> 0.0.8
- net.lugdunon.world.defaults.environment 0.1.1 -> 0.1.2
- net.lugdunon.server.worldgen.defaults 0.0.14 -> 0.0.15
- Fixed an issue with net.lugdunon.math.Rect.contains(p, wrap) when used on terrain boundaries.
- Fixed an issue with net.lugdunon.math.Rect.contains(Point p, int wrap) when used on terrain boundaries.
- Fixed an issue with net.lugdunon.world.defaults.environment.weather.RainOrSnow triggering a Snow transition even if the weather is warmer than freezing.
- Fixed an issue with not being able to expire non-dispellable modifiers.
- Fixed an issue with equipping / un-equipping items that grant effects not properly adding / removing modifiers.
- Fixed tile map error on oak trees.
- Fixed tile map error on alder trees.
- Fixed spelling mistake on Measure Tile Distance item's name.
- Fixed an issue with net.lugdunon.state.item.updateable.PlaceableItemInstanceUpdateable that attempted to notify an account that their crop had perished even if they were not connected.
- Fixed an issue in net.lugdunon.state.metric.currency.CurrencyEarnedMetric that prevented the statistics / achievements panel from loading if currency earned was a null value.
- Fixed an issue in net.lugdunon.state.metric.currency.CurrencySpentMetric that prevented the statistics / achievements panel from loading if currency spent was a null value.
- Fixed an issues with net.lugdunon.command.core.arc.TogglePowerCommand crashing the client if triggered before the chunkManager has been initialized.
- net.lugdunon.util.FastMath.drawWrappedRect(Graphics2D g, Rect r, int ws) will now work for worlds other than 1024x1024 in size.
- net.lugdunon.state.item.arc.handler.CraftingStationArcHandler should now work as intended.
- NonPlayerCharacters will no longer attempt to resign themselves to long update mode if dead.
- Added ACTION_CONFIG_WEATHER icon.
- Added ARMOR_PLATE_A_HEAD icon.
- Added INFORMATION_WEATHER_HOLDER icon.
- Added INFORMATION_LOCATION_HOLDER.
- Added ARC_HARVESTER icon.
- Moved worldgen.procedural.make.roads from server to world property.
- Moved worldgen.procedural.make.provincial.roads from server to world property.
- Added worldgen.procedural.make.detailed.roads world property to allow for less detailed and less time / resource intensive road construction.
- Added ITEM.INFORMATION.WEATHER.HOLDER inventory item. Will provide various information values pertaining to the current location's weather.
- Added INFORMATION.WEATHER.HOLDER placeable item. Will provide various information values pertaining to the current location's weather.
- ITEM.SUNWHEEL can now be placed.
- Added INFORMATION.SUNWHEEL placeable item. Provides various time / environment based values for information consumers.
- Added styles for inventory panels for new weather / time information holders.
- Added styles for the arc visualizer ui.
- Added net.lugdunon.world.defaults.environment.item.arc.tooltip.information.WeatherInformationProviderTooltipExtension to the code base.
- Added net.lugdunon.world.defaults.environment.item.arc.handler.information.WeatherInformationProviderArcHandler to the code base.
- Added net.lugdunon.world.defaults.environment.item.arc.handler.information.EnvironmentInformationProviderArcHandler to the code base.
- net.lugdunon.world.defaults.environment.command.ManageWeatherCommand should now work properly.
- Added etc/clientConnectMessage.json to the default world gen assets.
- Added recipe for ARMOR.ARC.PLATE.HEAD.
- Added recipe for ITEM.PLANTER.HARVESTER.
- Added recipe for ITEM.INFORMATION.LOCATION.HOLDER.
- Added ARC.HELM.VISUALIZE modifier.
- Empty buckets can be used in the planter / harvester.
- Flower seeds can be used in the planter / harvester.
- Potatoes can be used in the planter / harvester.
- Tomato seeds can be used in the planter / harvester.
- Wheat seeds can be used in the planter / harvester.
- Carrot seeds can be used in the planter / harvester.
- Artichoke seeds can be used in the planter / harvester.
- Pepper seeds can be used in the planter / harvester.
- Cucumber seeds can be used in the planter / harvester.
- Corn seeds can be used in the planter / harvester.
- Flax seeds can be used in the planter / harvester.
- Hops seeds can be used in the planter / harvester.
- Barley seeds can be used in the planter / harvester.
- Pumpkin seeds can be used in the planter / harvester.
- Sugarbeet seeds can be used in the planter / harvester.
- Mustard seeds can be used in the planter / harvester.
- Rosemary seeds can be used in the planter / harvester.
- Sage seeds can be used in the planter / harvester.
- Shears can be used in the planter / harvester.
- Pickaxes can be used in the planter / harvester.
- Axes can be used in the planter / harvester.
- Scythes can be used in the planter / harvester.
- Hoes can be used in the planter / harvester.
- Shovels can be used in the planter / harvester.
- Refactored code executed when NPC dies, such as loot distribution, metrics update, experience awards, etc.
- Added harvester.pulse.multiplier world property. The multiplier (applied to the Planter / Harvester's working area) that determines the arc pulse magnitude required to power a Planter / Harvester.
- Added worldgen.placeable.item.density.modifier world property. The modifier by which item placement for worlds greater than 1024 will be modified by. Must be a value greater than or equal to 0. If value is 0, this feature is disabled.
- Changed default value for world.gen world property from net.lugdunon.server.worldgen.defaults.DefaultWorldGen to net.lugdunon.server.worldgen.procedural.ProceduralWorldGen.
- Removed net.lugdunon.world.terrain.Terrain.getPath(Point origin, Point destination, Rect[] blackZones) from the server-side api.
- Removed net.lugdunon.world.terrain.Terrain.getPath(Point origin, Point destination, Rect[] blackZones, int searchDomain) from the server-side api.
- Added net.lugdunon.world.terrain.Terrain.getPath(Point origin, Point destination, Set<Point> additionalImpassableBlocks) to the server-side api.
- Added net.lugdunon.world.terrain.Terrain.getPath(Point origin, Point destination, Set<Point> additionalImpassableBlocks, int searchDomain) to the server-side api.
- Refactored road generation in net.lugdunon.world.politics.map.generator.DelaunayVoronoiGenerator to greatly increase performance.
- Added support for two levels of road generation in net.lugdunon.world.politics.map.generator.DelaunayVoronoiGenerator, allowing for faster, less detailed pathfinding in addition to current pathfinding algorithm.
- Added net.lugdunon.world.instance.Instance.npcsAt(Point actionLocation) to the server-side api.
- Added net.lugdunon.world.environment.calendar.BaseCalendar.toString() to the server-side api.
- Added net.lugdunon.world.environment.calendar.BaseCalendar.toLongString() to the server-side api.
- Added net.lugdunon.world.environment.calendar.BaseCalendar.toShortString() to the server-side api.
- Removed net.lugdunon.world.biome.dynamic.DynamicPlaceableItem.getPlaceableProbability() from the server-side api.
- Added net.lugdunon.world.biome.dynamic.DynamicPlaceableItem.getPlaceableProbability(short terrainSize) to the server-side api.
- Added net.lugdunon.world.biome.dynamic.DynamicPlaceableItem.DEFAULT_PLACEMENT_MULTIPLIER to the server-side api.
- net.lugdunon.world.biome.dynamic.DynamicPlaceableItem.getPlaceableProbability(short terrainSize) can now adjust rate of item placement in worlds larger than 1024x1024.
- Added net.lugdunon.util.palette.PaletteIndex(int pi) to the server-side api.
- Added net.lugdunon.util.palette.PaletteIndex.getAlphaColor() to the server-side api.
- Added net.lugdunon.state.World.hasClientConnectMessage() to the server-side api.
- Added net.lugdunon.state.World.getClientConnectMessage() to the server-side api.
- Added net.lugdunon.state.World.saveClientConnectMessage() to the server-side api.
- Added support for a client connect message that is displayed in a dialog when an account connects to a server for the first time.
- Added net.lugdunon.state.State.accountExists(String accountName) to the server-side api.
- Removed net.lugdunon.state.sprite.SpriteLayerImage.SpriteLayerImage(BufferedImage image) from the server-side api.
- Added net.lugdunon.state.sprite.SpriteLayerImage.SpriteLayerImage(BufferedImage image, boolean sortByHue) to the server-side api.
- Added net.lugdunon.state.recipe.Recipe.getCraftingArrangement() to the server-side api.
- net.lugdunon.state.item.PlaceableItemInstance can now update their grounded location on a state change.
- Added net.lugdunon.state.item.PlaceableItemInstance.getCraftingContents() to the server-side api.
- Added net.lugdunon.state.item.PlaceableItemInstance.applyDamage(PlaceableItemInstance actor, String dmgType, int dmgApplied) to the server-side api.
- Removed net.lugdunon.state.item.PlaceableItemInstance.generateAndDeliverLoot(String dmgType, Character acted, JSONArray drops) from the server-side api.
- Added net.lugdunon.state.item.PlaceableItemInstance.generateAndDeliverLoot(String dmgType, LootActor acted, JSONArray drops) to the server-side api.
- Added net.lugdunon.state.item.PlaceableItemInstance.canModify(String dmgType, Character actor) to the server-side api.
- Added net.lugdunon.state.item.PlaceableItemInstance.findAllSlotsWithItem(Item item) to the server-side api.
- Added net.lugdunon.state.item.PlaceableItemInstance.hasEnoughOfItem(Item item, int count) to the server-side api.
- Added net.lugdunon.state.item.PlaceableItemCache.placeableStateUpdated(PlaceableItemInstance pii, Point lastLocation, String lastState) to the server-side api.
- Added net.lugdunon.state.item.PlaceableItemCache.listAllItemsAt(Point location) to the server-side api.
- net.lugdunon.state.item.PlaceableItemCache now also keeps track of all of its placeable items by their location.
- Added net.lugdunon.state.item.Item.getHarvesterActionHandler() to the server-side api.
- net.lugdunon.state.item.Item definitions can now be enabled for use in a Planter / Harvester by providing an implementation of net.lugdunon.state.item.harvester.action.IHarvesterActionHandler in the harvesterActionHandler property
- Added net.lugdunon.state.item.tooltip.ITooltipExtension.tooltipDestroyed to the client-side api.
- Added net.lugdunon.state.item.tooltip.CraftingStationTooltipExtension.renderArcsConsumed to the client-side api.
- net.lugdunon.state.item.tooltip.CraftingStationTooltipExtension now reports the information input designation table.
- Removed net.lugdunon.state.item.placement.DefaultPlacementHandler.violatesExistingPlaceable(Item itemDef, Point location, Instance instance) from the server-side api.
- Added net.lugdunon.state.item.placement.DefaultPlacementHandler.violatesExistingPlaceable(Item itemDef, Point location, Instance instance, String state, boolean placedByGM) to the server-side api.
- Added net.lugdunon.state.item.manifestation.AnimatedContainerManifestationHandler to the codebase.
- Added net.lugdunon.state.item.loot.LootActor to the server-side codebase.
- Removed net.lugdunon.state.item.loot.ILootDropStrategy.handleLootDrop(PlaceableItemInstance pii, String dmgType, Character acted, JSONArray drops) from the server-side api.
- Removed net.lugdunon.state.item.loot.PooledPercentageLootDropStrategy.handleIndividualLootDrop(PlaceableItemInstance pii, String dmgType, Character acted, JSONObject drop, DroppedLoot droppedLoot) from the server-side api.
- Removed net.lugdunon.state.item.loot.DefaultLootDropStrategy.handleIndividualLootDrop(PlaceableItemInstance pii, String dmgType, Character acted, JSONObject drop, DroppedLoot droppedLoot) from the server-side api.
- Removed net.lugdunon.state.item.loot.DefaultLootDropStrategy.handleIndividualLootDrop(PlaceableItemInstance pii, String dmgType, Character acted, JSONObject drop, DroppedLoot droppedLoot)from the server-side api.
- Added net.lugdunon.state.item.loot.ILootDropStrategy.handleLootDrop(PlaceableItemInstance pii, String dmgType, LootActor acted, JSONArray drops) to the server-side api.
- Added net.lugdunon.state.item.loot.PooledPercentageLootDropStrategy.handleIndividualLootDrop(PlaceableItemInstance pii, String dmgType, LootActor acted, JSONObject drop, DroppedLoot droppedLoot) to the server-side api.
- Added net.lugdunon.state.item.loot.DefaultLootDropStrategy.handleIndividualLootDrop(PlaceableItemInstance pii, String dmgType, LootActor acted, JSONObject drop, DroppedLoot droppedLoot) to the server-side api.
- Added net.lugdunon.state.item.loot.DefaultLootDropStrategy.handleIndividualLootDrop(PlaceableItemInstance pii, String dmgType, LootActor acted, JSONObject drop, DroppedLoot droppedLoot) to the server-side api.
- Added net.lugdunon.state.item.harvester.action.IHarvesterActionHandler to the server-side codebase.
- Added net.lugdunon.state.item.harvester.action.BaseCollectionHarvesterActionHandler to the server-side codebase.
- Added net.lugdunon.state.item.harvester.action.BaseItemPlacementHarvesterActionHandler to the server-side codebase.
- Added net.lugdunon.state.item.harvester.action.BucketHarvesterActionHandler to the server-side codebase.
- Added net.lugdunon.state.item.harvester.action.HoeHarvesterActionHandler to the server-side codebase.
- Added net.lugdunon.state.item.harvester.action.ShearsHarvesterActionHandler to the server-side codebase.
- Added net.lugdunon.state.item.harvester.action.SowingHarvesterActionHandler to the server-side codebase.
- Added net.lugdunon.state.item.harvester.action.ToolHarvesterActionHandler to the server-side codebase.
- Added net.lugdunon.state.item.equipment.modifier.ArcHelmModifier to the codebase.
- Added net.lugdunon.state.item.arc.ArcVisualizer to the client-side codebase.
- Added net.lugdunon.state.item.arc.tooltip.HarvesterTooltipExtension to the client-side codebase.
- net.lugdunon.state.item.arc.tooltip.ArcMatterFilterTooltipExtension.renderIODesignation() now renders information input table.
- net.lugdunon.state.item.arc.tooltip.ArcMatterCondenserTooltipExtension.renderIODesignation() temporarily disabled.
- Arcs consumed section will now only render in a tooltip if the item is placed.
- net.lugdunon.state.item.arc.tooltip.ArcBatteryTooltipExtension.renderIODesignation() now renders information input table.
- Added net.lugdunon.state.item.arc.tooltip.ArcLogicGateTooltipExtension.tooltipDestroyed(itemDef,isPlaceableItemInstance,itemInstance) to the client-side api.
- Added net.lugdunon.state.item.arc.tooltip.ArcElementTooltipExtension.renderArcsConsumed(itemInstance) to the client-side api.
- Added net.lugdunon.state.item.arc.tooltip.information.LocationInformationProviderTooltipExtension to the client-side codebase.
- Added net.lugdunon.state.item.arc.handler.PowerConfiguredStateArcHandler to the codebase.
- Added net.lugdunon.state.item.arc.handler.HarvesterArcHandler to the codebase.
- Added net.lugdunon.state.item.arc.handler.information.LocationInformationProviderArcHandler to the codebase.
- Added net.lugdunon.state.item.arc.handler.IArcHandler.powerToggledClientUpdate(EnhancedDataOutputStream out) to the server-side api.
- Added net.lugdunon.state.item.arc.handler.BaseArcHandler.powerToggledClientUpdate(EnhancedDataOutputStream out) to the server-side api.
- Removed net.lugdunon.state.item.arc.handlerIArcHandler.powerStateChangeOccurred() from the client-side api.
- Removed net.lugdunon.state.item.arc.handler.SwitchedLightingArcHandler.powerStateChangeOccurred() from the client-side api.
- Removed net.lugdunon.state.item.arc.handler.ConsumerArcHandler.powerStateChangeOccurred() from the client-side api.
- Added to the client-side api.Added net.lugdunon.state.item.arc.handler.IArcHandler.arcsConsumed() to the client-side api.
- Added net.lugdunon.state.item.arc.handler.IArcHandler.visualizeArcState() to the client-side api.
- Added net.lugdunon.state.item.arc.handler.IArcHandler.powerStateChangeOccurred(res) to the client-side api.
- Added net.lugdunon.state.item.arc.handler.SwitchedLightingArcHandler.powerStateChangeOccurred(res) to the client-side api.
- Added net.lugdunon.state.item.arc.handler.ConsumerArcHandler.powerStateChangeOccurred(res) to the client-side api.
- Added net.lugdunon.state.item.arc.handler.information.IInformationProviderArcHandler.INFORMATION_TYPE_LOCATION to the server-side api.
- Added net.lugdunon.state.character.Character.MAX_CRAFTING_LEVEL to the server-side api.
- Added net.lugdunon.state.character.Character.InventorySlot.toString() to the server-side api.
- Added net.lugdunon.state.character.modifier.BaseModifier.getFlavorText() to the server-side api.
- Added net.lugdunon.state.character.modifier.BaseModifier.isMainPlayer() to the client-side api.
- Added net.lugdunon.state.character.modifier.BaseModifier.getFlavorText() to the client-side api.
- Modifiers now support a flavorText property to provide some descriptive text to the modifier tooltip.
- net.lugdunon.math.Rect.contains(p, wrap) is now inclusive (pos1 <= loc <= pos2).
- net.lugdunon.math.Rect.contains(Point p) is now inclusive (pos1 <= loc <= pos2).
- Added net.lugdunon.math.Rect() to the server-side api.
- Added net.lugdunon.math.Rect(Point pos, Point pos2, int max) to the server-side api.
- Added net.lugdunon.math.Rect.set(int x, int y, int w, int h) to the server-side api.
- Added net.lugdunon.math.Rect.getArea() to the server-side api.
- Added net.lugdunon.math.Rect.getPerimeter() to the server-side api.
- Added net.lugdunon.math.Rect.containsX(int x) to the server-side api.
- Added net.lugdunon.math.Rect.containsY(int y) to the server-side api.
- Added net.lugdunon.math.Rect.containsX(int x, int wrap) to the server-side api.
- Added net.lugdunon.math.Rect.containsY(int y, int wrap) to the server-side api.
- Added net.lugdunon.math.Point.hashCode() to the server-side api.
- Added net.lugdunon.math.Point.PointComparator to the server-side api.
- net.lugdunon.math.Point.set(int x, int y, short d) now returns itself.
- Added net.lugdunon.math.Dimension.addW(int w) to the server-side api.
- Added net.lugdunon.math.Dimension.addH(int h) to the server-side api.
- Added net.lugdunon.math.Dimension.add(int i) to the server-side api.
- Added net.lugdunon.math.Dimension.subW(int w) to the server-side api.
- Added net.lugdunon.math.Dimension.subH(int h) to the server-side api.
- Added net.lugdunon.math.Dimension.sub(int i) to the server-side api.
- Added net.lugdunon.math.Dimension.getArea() to the server-side api.
- Added net.lugdunon.math.Dimension.getPerimeter() to the server-side api.
- net.lugdunon.math.Dimension.w is now public.
- net.lugdunon.math.Dimension.h is now public.
- net.lugdunon.command.Command.canPerformAction(Character character) is now static.
- net.lugdunon.command.Command.canPerformActionOn(Character character) is now static.
- net.lugdunon.command.Command.inRange(int range, Point loc, Point playerLoc, short terrainSize) is now static.
- net.lugdunon.command.Command.violatesPlaceable(Point location, Instance instance) is now static.
- net.lugdunon.command.core.LoadCharacterCommand.commandResponse(res) sets game.loading = true for the duration of its execution.
- net.lugdunon.command.core.play.UseShearsCommand now implements net.lugdunon.command.core.IServerInvokedCommand.
- net.lugdunon.command.core.play.TillEarthCommand now implements net.lugdunon.command.core.IServerInvokedCommand.
- net.lugdunon.command.core.play.FillBucketCommand now implements net.lugdunon.command.core.IServerInvokedCommand.
- net.lugdunon.command.core.play.DamagePlaceableCommand can now be invoked at the behest of a PlaceableItemInstance.
- net.lugdunon.command.core.play.FillBucketCommand can now be invoked at the behest of a PlaceableItemInstance.
- net.lugdunon.command.core.play.TillEarthCommand can now be invoked at the behest of a PlaceableItemInstance.
- net.lugdunon.command.core.play.UseShearsCommand can now be invoked at the behest of a PlaceableItemInstance.
- net.lugdunon.command.core.inventory.ItemDurabilityUpdateCommand can now be invoked at the behest of a PlaceableItemInstance.
- net.lugdunon.command.core.inventory.ItemBrokenCommand can now be invoked at the behest of a PlaceableItemInstance.
- net.lugdunon.command.core.edit.PlaceItemCommand can now be invoked at the behest of a PlaceableItemInstance.
- Added net.lugdunon.command.core.edit.PlaceItemCommand.satisfiesConsumptionRules(JSONObject tool, Item item, PlaceableItemInstance container) to the server-side api.
- Added net.lugdunon.command.core.edit.PlaceItemCommand.satisfiesConsumptionRules(JSONObject tool, Item item, PlayerCharacter activeCharacter) to the server-side api.
- net.lugdunon.command.core.arc.TogglePowerCommand.handle(CommandProperties props) now triggers a powerToggledClientUpdate() call on the placeable item instance's arc handler.
- Removed the line "populate.world.from.archive=https://repository.lugdunon.net/world/LUGDUNON.1024.lug" from all server's server.cfg file.
- Removed game.hideTooltip() from the client-side API.
- Removed game.onHideTooltip(el) from the client-side API.
- Added support for a UI layer that will allow simpler implementation of custom UI elements.
- Added game.addUIElement(el) to the client-side codebase.
- Added game.removeUIElement(elId) to the client-side API.
- Added game.hideTooltip(renderer,renderData) to the client-side API.
- Added game.onHideTooltip(el,renderer,renderData) to the client-side API.
- Added game.loadingComplete() to the client-side API.
- Added game.listCurrentPlaceableItems(filterHandler,onScreenOnly) to the client-side API.
- Added game.invokeScreenRenderingHooks(mode) to the client-side API.
- Added game.addScreenRenderingHook(srh) to the client-side API.
- Added game.removeScreenRenderingHook(srh) to the client-side API.
- Added net.lugdunon.util.ScreenRenderingHook to the client-side codebase. Screen rendering hooks are called at various steps in the draw call.
- net.lugdunon.util.Math.wrap(i,max) will treat max as game.tileSetDef.mapSize if no max is provided.
- net.lugdunon.util.Math.diff(i, j, max) will treat max as game.tileSetDef.mapSize if no max is provided.
- Removed net.lugdunon.states.tiledGame.TiledGame.hideTooltip() from the client-side API.
- Added net.lugdunon.states.tiledGame.TiledGame.hideTooltip(renderer, renderData) to the client-side API.
- Added net.lugdunon.states.tiledGame.chunk.ChunkManager.registerChunksUpdatedListener(id,cuListener) to the client-side API.
- Added net.lugdunon.states.tiledGame.chunk.ChunkManager.unregisterChunksUpdatedListener(id) to the client-side API.
- Added net.lugdunon.item.renderer.DefaultRenderer.renderEquipModifier(modId) to the client-side API.
- Added net.lugdunon.item.renderer.DefaultRenderer.tooltipDestroyed(itemInstance) to the client-side API.
- net.lugdunon.item.renderer.DefaultRenderer.renderTooltip(itemInstance) equipmentEffect rendering code changed to use the new flavorText property.
- game.client.handleQueuedResponses() will now log the actual stacktrace in addition to the opcode.