Added Noiseworks Sound Revamp - Stage #1
Stage #2 is going to introduce a wider range for zombie voice sets as well as further improvements to the music and ambiance systems. Melee weapon SFX - currently mostly based on material rather than the weapon in question - will also get more specific to the weapons themselves; same goes for firearms.
Added VHS, CDs etc.
- Added functionality and data for for Disks and Tapes. Data is stored in 'recorded_media.lua'.
- Media line effects will apply only once per player upon first time listening.
- Home VHS's spawn uniquely.
- Retail CD and VHS can have 'common', 'rare', 'very rare' spawn chance.
- Added learnRecipe method to gamecharacter. Adds the ability to learn recipes via the radio line codes.
- Added new translation file 'recorded_media_EN.txt'
- This translation set keeps a translation of the english versions which can be retrieved seperatly.
(needed for LCD which only supports basic ASCII chars)
- Added event 'OnInitRecordedMedia' to setup any recorded media data, see ISRecordedMedia.lua for modding.
- Added new Media UI section to device control panel.
- Added UI popup for disc's and tapes, some of them can show backcase info via the rightclick context menu.
- Removed item 'CDplayer' and added 'Radio.CDplayer' a portable device able to play CD's.
- Added ability to play media, RadioRed = CD, Black/Wide television = Tapes
- Changed display of overhead notifications for skills etc
- Softer pastel colors and outlining, red for negative green for positive effect
- Replaced skill/stat effect numbers by arrow up or down
- Small overhead text for skills and stats are no longer being displayed if there is no effect on their value.
- Removed overhead text code from ISRadioInteractions
- Added static class HaloTextHelper.java for more universal use of the overhead text.
- Added a few functions to add text, options for color and usage of the indicator arrows.
- If a text is already being displayed the next text is briefly queued.
- If multiple text are being added on same tick or while queueing they are combined and seperated with a grey ','.
- If a text is added which is already being displayed, it's discarded.
- Added world lights for flashing vehicle lights.
- Added animated flies texture displayed where corpse-flies are buzzing.
- Added new mugs
- Display read books in the character info panel ("Training Material"). This might move to the Crafting UI later on.
- Added highlighting to dragged items that can't be moved to the destination container.
- Added a loot-window container icon for mannequins as well as the container title "Mannequin".
- Added a context-menu command to empty a rain collector barrel onto the ground so it can be moved.
- Added a history of the last three catches to the Fishing menu. They will not fade out anymore.
- Added the option to select a dedicated container for catches in the Fishing Menu. All catches will go to this container until full.
- Heart UI icon will shake when player character takes damage. It will stop shaking once the player is no longer losing health.
- Draw a faint border around the player's health bar so the amount of lost health is easier to see.
- When crafting, items will be put back in their original container/bag. E.g. when adding Salt to a Salad, the salt will be grabbed from a counter, used, and put back.
- Upgrading walls (multi-stage building) takes items from the ground similar to carpentry.
This includes opening boxes of nails automatically.
For metal walls, propane will be used from multiple propane torches as needed. Only one propane torch needs to be in inventory, and it may be empty, as others will be used from the ground.
- Removed StopCar and HitByCar properties from one of the walls_exterior_house_01 south-east wall pillars.
The properties were only on one of the several south-east wall pillars.
This put "tree" physics on the center of the square.
These pillars should be removed when one of the two adjacent walls is removed.
- Added 3D models for items placed in the world.
Right Clicking an item will show the "Place Item" option. This will display a rendered model of this item and highlight the square to know where it is being placed. On controllers, the item is currently always placed at the center of a square.
- Items automatically go on a table/counter if the mouse is over one of them.
- Press R to rotate clockwise, shift+R to rotate anti-clockwise.
- If you select multiple items and one does not have a 3D model yet, you'll simply drop it at your feet.
- Fixed rotation speed at different framerates.
- Added snapping to the nearest 5 degrees.
- Place items one at a time at the current rotation.
- Shift-click to place all items. With a controller, the X button toggles between placing one or placing all.
- Improved lighting of 3d items in-world, to closer match the tiles lighting.
- Added rotation to the lighting in 3d items in world, before their lighting would rotate along with the item when rotated.
- Improved lighting on all 3d objects, characters, vehicles, items etc.
- Added "itemHeight" so players can place things on a microwave that is on a table for example.
- If you have a counter with a shelve on top of it, you can press tab to change the height of the item.
- Default "Iso Cursor Visibility" changed to 50% due to the regular cursor being hidden by default.
- 3D items can be disabled in the options.
- Table stories. Random chance to have some stuff on a basic home's table to tell a story.
- Multi-stage building QoL: Now if you upgrade a wall frame, wall, etc, you'll have the item displayed until you press ESC (like normal building), allowing to build multiples without having to use the right click context menu every time.
- Added a "Can't Sprint"-moodle which will appear when the character is unable to sprint. The moodle will shake for a bit when you can't sprint but try to.
Last Stand Compatibility changes:
- Player files are saved in Zomboid\Lua\LastStand instead of Zomboid\Lua\Players to avoid conflicts with Build 40.
- Player files have VERSION=1 at the top for compatibility with future versions of the game.
- Existing Build 41 player files will need to be moved into Zomboid\Lua\LastStand and add VERSION=1 at the top to work.
- The character-creation "Save" button dialog now fills in the name of the preset selected in the combobox, if one is selected.
- Require the player to be near a vehicle before the context menu displays refueling options to fix gas E.S.P.
- Changed the vehicle radial-menu icons for adding and removing gas (they were the same before).
- Added BaseTimedAction:setCurrentTime(). This is used by ISReadABook to set the start time based on the number of pages already read.
- Added blood and dirt stats to the Wash context-menu item tooltips.
- Added "Stack Weight" to inventory-item tooltips to show the total weight of a stack.
- Added a "Training Materials" button to the character Info panel. This displays a window with two tabs, one for skill books and another for magazines that teach recipes.
For skill books, the item name is displayed in white once the player has read the book completely, or has gained the skill levels through other means.
For magazines, the item name is displayed in white once the player knows all the recipes taught by the magazine.
- Updated/added Radio translations for Japanese, Italian, Brazilian Portuguese
- Allow plumbing a non-moved sink before the water shuts off if there is a rain barrel above. The water is still infinite for plumbed sinks before the water shuts off.
- Allow plumbing a sink to an empty rain barrel.
- Allow metal drums to be picked up with the furniture-moving tool.
- Allow pouring water into metal drums.
- Boosted loot spawns in stash.
- Display what perk just levelup up on top of the char (like exp gain from TV).
- Sheet ropes can now be attached to metal railings on balconies. (Currently doesn't work for fences on the south or east of a floor)
- Car wrecks appear less often, but can now be dismantled.
- Increased odds of curtains being already closed in houses.
- Holes will be added to clothing after the check for protection, meaning 100% protection will always defend you from a bite and lowered protection from a hole will only affect future attacks. Thanks to PseudonymousEd for pointing this out.
- Shooting out of cars now has a more limited angle than the former 360°.
- Player will now be unable to control the car while reloading.
- Reload time increased while driving.
- Control of the car is also lost when shooting rifles, but not with pistols.
- Updated distributions.
- Added a weightChance property, so you can try to make X spawn more than Y. Defines all the weight chance in said list (total can be over or under 100, doesn't matter).
- Added a forceForTiles property, this'll check that a specific tile exist on this container's square to spawn items from this distribution list (ex: force something in counter under a sink).
- Added a forceForRooms property, we'll check that a room specified in this list exists in the building of the container.
Example: Police station has an "office" room with a desk, but we don't have ways to spawn more police themed items in their desk.
Simply define a new distrib PoliceOfficeDesk, and add a forceForRooms="policestorage" so if we detect a policestorage room in this building, we'll use PoliceOfficeDesk instead of a regular desk)
Changes to knives:
- If you're too close to a zombie but there's another zombie chasing you (thus not be able to do a jawstab) the character will shove instead of stabbing normally.
- Slightly reduced movement speed while attacking with knives, similar to other weapons.
- Reduced Hunting knife damage a tad.
- Balanced some clothings Speed Reduction and Protection to be more consistent.
- Small chance of having some house windows being left open.
- Curtains can now spawn closed.
- Added outfit zombie distribution (see example in Distributions.lua). Allows modders to add items to specific zombie outfits (e.g. bigger chance of finding ammo on police zombies, etc)
Quick example, add Outfit_ in front of the outfit name, like Outfit_Generic01 and define your loot table.
- Added getters and setters to Recipe, Recipe.Result and Recipe.Source for mods.
- Added a system for respawning zombies on island maps (e.g., Kingsmouth).
Normally when respawning zombies, a random location on the edge of the map is chosen as a start location.
The game then attempts to find a path from that start location to the chunk that zombies are respawning in.
This doesn't work for maps that have water on all edges, since paths cannot be found through water.
Map creators may now specify valid start locations by adding objects to the map's objects.lua file.
The objects.lua file is normally created by WorldEd.
These objects are rectangular areas along edges of the island indicating respawn start locations.
These objects should be right on the edge of the land next to the water (but not in the water).
Alternatively, these objects may be put into a file called spawnOrigins.lua in the map's directory.
This file has the same format as objects.lua. See Kingsmouth/spawnOrigins.lua for an example.
- Added ISLiteratureUI.SetItemHidden(fullType, hidden) function so mods can prevent items being displayed in the Training Materials ui.
- Fixed being able to fish from swimming pools.
- Fixed the "randomAngle" field of a VehicleZoneDistribution always being false.
- Fixed triggering OnObjectLeftMouseButtonDown and similar events on objects that have been removed from the world.
- Fixed long braided hairstyles not pointing to correct hairstyle.
- Fixed belt not working as 3D item.
- Fixed buildings having more than one table story.
- Fixed issues adding water to and taking water from rain-collecting items on the ground.
- Fixed aiming cursor being less visible on light backgrounds.
- Fixed changed shader files not automatically being reloaded.
- Fixed an infinite loop occurring when require()'ing a Lua file recursively.
- Fixed "invalid direction" exception when a fence is broken by zombies.
- Fixed "VanAmbulance" instead of "Base.VanAmbulance" in RVSCarCrash.
- Tutorial: Fixed the dad zombie's eating sound not stopping after he stands up.
- Tutorial: Fixed the player getting stuck using the Open Curtain context menu option.
- Fixed RVSCarCrash.
- Fixed some container types.
- Fixed issues with automatically opening boxes of nails when doing carpentry.
- Fixed tainted-water status of metal drums with water in them.
- Fixed some vehicles not playing Lock/Unlock/IsLocked sounds for trunks.
- Fixed the game hitching every second while in a vehicle until zombies are near again.
- Fixed no sound playing when hitting objects with bare hands.
- Fixed a multithreading issue with keyboard input. This only affected entering text, not keyboard controls while playing.
- Fixed vehicle radio text staying onscreen after turning off the radio when not in the driver's seat.
- Fixed the player's animation locking up when charging with a spear after a zombie is hit.
This happened when the "Manual Floor Attack" key was the same as the "Sprint" key.
- Fixed impact and death sound not playing when spear-charging a zombie.
- Fixed "Place Car Battery Charger" displaying for every item clicked on
- Fixed the "Plant Information" window not handling different font sizes.
- Fixed bomb explosion sounds not playing.
- Fixed the weapon swing sound not playing when using the "Smash Window" context-menu option.
- Fixed class-cast exception in Moodle caused by HumanCorpse updating Moodles.
- Fixed HumanCorpse update() getting called when zombie spawning is disabled, which caused a NullPointerException with Moodles.
- Fixed overlapping disease text in the Plant Information window.
- Fixed farming with a controller.
- Fixed some of the excessive head movement when swinging a spear.
- Fixed Lamp On Pillar losing it's battery and on/off state upon reloading. This raises the WorldVersion to 183.
- Fixed rendering the isocursor and aim-outline in splitscreen.
- Fixed the position of the vehicle dashboard in splitscreen with more than two players.
- Fixed conditions of cooking vessels resetting the condition when adding water and rice or pasta.
- Fixed Welding Masks getting soaked in the rain.
- Fixed Thick Skinned and Thin Skinned incorrectly calculating the chance to do damage from zombies.
- Fixed being unable to remove Thin Skinned using the Player Stats debug ui.
- Fixed Lua error after removing a trait in the Player Stats debug ui.
- Fixed showing zero-cost traits such as Axeman as "bad" when adding traits in the Player Stats debug ui.
- Fixed setting the Occlusion FMOD parameter to simulate the Hard Of Hearing trait, since it is now done in FMOD Studio.
- Fixed infinite carry capacity after making rotten-strawberry salad.
- Fixed the layout of the microwave and oven UIs with different-sized fonts.
- Fixed Lua error wobbling the non-existent heart icon of splitscreen players.
- Fixed endurance being reduced while holding down the Run key when not moving.
- Fixed misplaced halves of Large Modern Oven in one orientation.
- Fixed not being able to barricade carpentry Wooden Door.
- Fixed the layout of ISAlarmClockDialog with larger fonts.
- Fixed ISTabPanel:getWidthOfAllTabs() when equal tabs widths are used.
- Fixed native-code exception when opening the Option screen. This was a bug in GLFW.glfwGetKeyName().
- Fixed animation and sound issues when attacking zombies that are eating corpses
- Fixed VehicleAmbiance using the wrong event name.
- Fixed the vehicle horn continuing to play after the switch-seat ui is displayed while honking.
- Fixed Radio items without a WorldSprite being assigned an invalid module.type.
- Fixed duplication bug when crafting from containers.
- Fixed not being able to make coffee and tea with the Spiffo mug.
- Fixed hot beverage not being hot right after it is crafted.
- Fixed hot and cold drinks not giving a happiness bonus.
- Fixed not being able to tie a rope to player-made windows (gracias dito!)
- Fixed ranger car siren light colour.
- Fixed annotated map loot not always spawning when it should.
- Fixed crash when trying to go forwards & backwards at the same time in a car.
- Fixed Firearm Radial Menu coming up when any ISBuildingObject cursor is already displayed.
- Fixed trying to play multiple instances of WorldAmbiance since only one is allowed.
- Added a bunch of performance probes to IsoCell.renderTiles to help track down the inner-most causes of the performance lagging issue.
- New class: PerformanceProfileProbeList
Allows us to have arrays of performance probes, suitable for profiling arrays of code blocks, like with IsoCell.renderTile layers.
- Added a few WorldDictionary.DebugPrintItem calls to some functions to help find some mod problems
- Moved updating some global FMOD parameters out of IsoPlayer into AmbientStreamManager.
- Fixed small clock
- Fixed DrinkingFromBottle sound continuing forever after the action completes.
- Fixed the Training Materials button overlapping other text with 3x font size and many traits.