Project Zomboid

41.73 Released

41.73 compiled changelist, also including 41.72 from the unstable branch



Due to character limitations, the full changelog can be found on our forums and in the pastebin below:
https://theindiestone.com/forums/index.php?/topic/58075-4173-released
https://pastebin.com/PW9F8TNn


NEW



- Added the MapRemotePlayerVisibility server option for Multiplayer.
    1 = Remote players aren't visible on the in-game map
    2 = Remote players in the same faction or sharing a safehouse are visible
    3 = Remote players are always visible

- The OPT button in the in-game map that was previously visible only in debug mode or for admins is now always visible.
  When not in debug mode, these options are available:
    - Players
    - Remote Players (client only)
    - Player Names (client only)
    - Symbols

- Added MapRemotePlayerVisibility server option to the server-settings editor and admin panel.
 
- Added a new volume slider to the Audio options which affects the jump-scare sound.
 
- Fixed updates to the map causing zombies to spawn inside previously cleared buildings.
    - Fixed BuildingDef.calculateMetaID() and RoomDef.calculateMetaID() possibly creating the same ID for different buildings or rooms. This was why zombies would respawn in some already-seen rooms.

- Give zombies that are targeting a player higher priority for pathfinding than other zombies.

- Added new loot maps from Pat Bren.
- Split the single Louisville map-item into nine separate maps.
- Added Louisville maps to the loot tables.
 
- Gas container tooltip tweaks:
    1) When adding fuel to a generator, tooltips show the percentage the generator's fuel percentage will increase.
    2) When adding/siphoning fuel to/from a vehicle, tooltips show the item capacity in liters (to match the mechanics ui).
    3) When taking fuel from a gas pump, tooltips show the item capacity in drainable units.

- Updated Community Translations
- Added icons + textures for Medical/Trauma Bag and Canned Fruit Beverage.

- Added highlighting to changed Zombie Lore Sandbox Options (options that differ from Apocalypse mode are highlighted).
- Added an "AttachedToGlass" tile prop to fix signs attached to windows not being removed when breaking the window.
- Prevent the loot window from popping open when clicking on objects when using the furniture-manipulation tools.

- Added "Default=" to combobox sandbox-option tooltips.

- Allow empty bottles to store gasoline.
- Added water capacity in context tooltip when filling water container (if only 1 item type)
- Updated community translations.
- Updated credits.

- Improved icon draw for context menu
- Added ISContextMenu.addDebugOption() which adds an option with iconTexture=media/ui/BugIcon.png.
- Added a way to rename a savefile in the load-game "More…" panel.

- Added the various pictures frame missing (not spawning yet, also no inventory icon yet - currently using empty frame icon)

- Allow building double doors inside buildings.  This is to fix a bug where double doors couldn't be built on some outer walls of buildings.
- Added checks for wall-like obstacles that should prevent opening or closing double doors.
- Don't allow building stairs where there are walls or obstacles at the top. The player will pass through these when going up the stairs. Building walls or obstacles at the top of stairs was already disallowed.

- Incorporated Baph's latest additions, which include: new movable script items; new modder-orientated procedural distributions tables; new zombie outfit distributions; new vehicle distributions; more through junk tables; new items.
- Longer evolved recipe names; now up to 3 ingredients will be displayed in the display name of compound recipe items.
- Updated ISAddItemToRecipe and translation text with translation string support for new recipe naming system.
 
- Added a panel to the Attachment Editor (Shift-F7) that is displayed when a "world" attachment is selected. This new panel displays the selected model as it would appear on the ground.

- Removed the -Xss1280k stack-size JVM parameter from Linux ProjectZomboid.json files.
- Increased Linux and Mac -Xmx=2048m to -Xmx=3072m max-heap JVM parameter to match Windows.


SFX



- Updated sound banks.
    - New action music track.
    - Fixed one male zombie voice looping the Hit sound.
    - Added missing sound for taking water from a dispenser.

- Added an ambient sound to the Gas-2-Go pumps.

- Set the value of the FMOD parameter "Generator" on powered items so they play a sound when powered by a generator.

- Added ZombieCrawlLungeSwing and ZombieCrawlLungeHit sounds for zombie fence/window crawling attacks.
- Zombies play their Attack and GettingUp sounds during fence/window crawling attack animation.
 

MAP



- Full export of the current Knox Event map. This will be the final B41 map update.
    - Updates many farms and farmsteads
    - Improves upper class areas in Louisville
    - Adds many new tiles on the tilesheets
    - Fixes many and various community-reported map issues and bugs
 

FOOD AND RECIPES



- New Ice Cream Cones now melt and produce a Melted Ice Cream Cone item.
- New Gravy Boat, Baloney Slices, Salami, Salami Slices, and Snack Cakes models.
- New Canned Condensed Milk item; can be used for the same recipes as milk.
- Balance adjusted assorted values of food items and recipes.
- Appropriate bottles can now hold gasoline.
- Baloney and salami can be sliced.
- Many food items have more options for being used as evolved recipe ingredients.
- Recipes for Onigiri; Baguette Dough; Biscuit Dough; Meat Patty; Scooping Ice Cream; and Trays of Cookie Dough.
- Crayons can be used to write notes and mark the map.
- Toast can be made from Bread Slices by cooking them.
- New recipe for a Cheese Sandwich item; cook a Cheese Sandwich to make it into a Grilled Cheese Sandwich.
- Evolved Recipes for Ice Cream Cones; Sweet Pies; Bread; Toast; Bowls of Oatmeal; Mixed Beverages; and Glasses of Wine and Beer. This makes it possible to make foods such as Ice Cream Cones with candy and fruit on them, chocolate, cheese, or sunflower seed Bread, Toast with beans or avocado on it, Bowls of Oatmeal with berries and honey, cocktails, and such.
- Whole Pizza item added.
- Glasses and cup items can be filled with water.
- WildGarlic item replaced by WildGarlic2 which is edible; this was done so that Wild Garlic could be a food item and be used in recipes. Otherwise identical to the old Wild Garlic.
- Canned Condensed Milk item; can be used for the same recipes as milk.
- Maggots that spawn with zombie corpses will be mildly poisonous.
- Added evolved recipe item PizzaRecipe; "Pizza(Uncooked)" can be used to make an evolved recipe pizza with toppings.
- When Hot Drink beverages are made using Black Sage, Common Mallow, or Lemon Grass the medicinal properties of those items are transferred to the Beverage, "Herbal Teas".
- For herbal tea purposes, Hot Drinks are more flexible re ingredients and have special naming.
- Coffee and Espresso Machine stoves will now only accept mugs and other appropriate items.
- Added placeholder texture for Bag_MedicalBag.
- Added BrokenGlass tag to broken glass movables and smashed bottle, and added recipecode code for the tag, for modding purposes.
- Added support for the tag "SewingNeedle"; this will allow modders to add new mod items that can perform tailoring and wound stitching tasks.
- More flexible Tag support for writing notes.
- Added Tomato Paste item for pizza crafting.
- Added Prepare Pizza recipe to make a RecipePizza base evolved recipe item.
 

BALANCE


- Baloney, Salami, Ham, Onions, and Watermelon must be sliced before being able to be used in evolved recipes.
- Watermelon must be sliced or smashed before being able to eat it.
- Values of many food items adjusted for balance, consistency, and QOL purposes such as allowing one instance of an item to be used in more evolved recipe portions.
- Only Bread Slices and Toast can be placed inside Toasters.
- Some recipes now require a bowl as well as a spatula, spoon or fork, to mix ingredients.
- Many recipes adjusted to allow for more ingredient flexibility.
- Hot water is now required to make Bowls of Oatmeal. Tim is now satisfied.
- Added new param to Recipe: "InSameInventory". When this param true items gets only from same outermost inventory. (Need for fix Rip clothing only from player inventory or only from Floor/Container)
- Changed Rip Clothing recipe
- HandWeapon.weaponSprite is saved if it is different than the item-script's value.
- Slightly increased zed attraction to gunshots in MP
- Reduced the endurance loss when missing a hit (especially when pushing).
- Set sprite properties on the "Wood Pegboard" and "Wood Top Workbench" in location_business_machinery_01 so they are movable.
- Added all the missing translations to Moveables_EN.txt. Any missing translations for this are printed to the console when loading a game.
- Added a "Slice Onion" recipe so Fried Onion Rings can be made.
- Made the Composter thumpable by zombies.

- Sometimes the corpses that spawn as the player explores the world will be fake dead.
- As corpses progress in rot stages they have a chance of becoming fake dead.
- Additional appropriate corpses spawned in randomized world stories will rarely be fake dead.
- As corpses progress in rot stages they have a chance of spawning maggots in their inventory and in their square.

- Food value and evolved recipe name adjustments for more flexible recipe usage and shorter compound names.
- Obese is now mutually exclusive with Light Eater and Very Underweight is mutually exclusive with Hearty Appetite at character creations.

- Adjusted weight of Spears
- Floor tiles will now provide a maximum of 1 nail when dismantled.
- Eggs are dangerous uncooked but now with a greatly reduced chance of causing food sickness.
- Ice Cream Cones now melt and produce a Melted Ice Cream Cone item.

- Ginseng now provides an Endurance Buff when used to make a Hot Beverage as a spice.
- Added Basil to more recipes.
- Better handling of evolved recipe item name when they only have spice ingredients.

- Added the ability to install Makeshift Radios into vehicles; this was done for consistency with the requested fix of allowing Makeshift HAM radios to be installed in Ham radio vehicles.
- Allow vehicles that have HAM radios to allow any sort of HAM radio installed in them; Luxury and Modern Cars will also always spawn with Premium Radios installed.
- CDs in Premium radios will transfer to/from the vehicle they are being installed into/uninstalled from.


ANIMS



- Added new fill from bourbon bottle anim
- Changed fill from bourbon bottle xml to use new anim

Emote Wheel adjustments:
- Adjusted some emote bone masks to reduce clipping
- Added some stealth emote versions to reduce clipping and posing awkwardness
- Added emote states for different weapon poses

- Added an eating animation for WaterPotPasta WaterPotRice. The animation is the same as for drinking out of a pot.
 
Idle extension adjustments:
- Adjusted normal stance extensions bone masks to avoid clipping and awkward poses
- Added normal stance extensions anims, where appropriate
- Added normal stance extension xml for different weapon stances, where appropriate
 
- Added masks to extended idle xmls to not clip as much,
- Added relevant extended idle anims where needed
- Capped off hoodieUP xfiles to stop transparency
- Adjusted hoodieUP texture for new cap
- Added blood locations to a couple of missing shirts
- Re-exported female and zombie female base textures after eliminating some erroneous pixels causing holes
- Adjusted Hat_Spiffo mask to display properly on character
- re-exported missed zombie body textures that had outlying pixels
- Adjusted male and female HighViz vests to visually work similar to hunting vests
- Reworked Male and Female HighViz vests
- Changed HighViz vest body location
- Tweaked Hunting vest masks to work better with underlying clothes

 

MP



- Various anti-cheat improvements

- Sync and physics improvements for vehicles.
    - Refactored and decreased vehicle physics packet size.
    - Vehicle interpolation was refactored and improved .

- Improved towing physics and behaviour.
    - Updated PZBullet library on all platforms.
    - Rope constraint is added to PZBullet. Now used for vehicles instead of z-offset for point-to-point constraint.


- Optimized Vehicle authorization on exit

- Allow admins to repair clothes via Edit -> Condition, and remove holes when the item is set to max condition when the item is in their inventory.
- Visual data for damaged/fixed clothing will now sync between clients.
    
- Hit reaction translation length is now calculated by appropriate animation clip

- Use WaveSignal packet on client
- Improve auth/towing for cases with two drivers/swap tow

- Stopped clients updating rotting corpses and fake-dead corpses.
- Added check for IsoDeadBody.getHumanVisual() being null.

- Server will send the success result of recipes checksum validation if the client is untouchable.
    - The game will calculate the checksum using the original recipe name.


- The driver now stops the vehicle before they exit from the vehicle or switch seat.
    - Added ISBaseTimedAction timed action.
    - The BaseVehicle.setForceBrake function was added. Calling this function activates the brakes for 1 second.

- The SystemDisabler.doDisableTunePhysicDelay variable was added

- If FPS is capped the updatePhysic function receives time delta uses the PerformanceSettings.getLockFPS function.

- The game server will not send the PlayerUpdateReliable packets from players who are far away.

- Improvements for some anti-cheat checks
- ServerOptions to enable/disable AntiCheatProtectionType checks for types 21-24 are added.
- Added log message for LUA debugger


- Improve vehicle logging
    - Add DebugLogStream noise methods
    - Logs can be filtered by severity
- Reformatted log streams for damage, death, and multiplayer log types

- Added server log command for vehicle traces (ex.: "log vehicle trace" or "log ve t" for short)
    - Command entered in general chat tab changes severity on the client
    - Command entered in admin chat tab changes severity on the server

- Increased allowed map_meta.bin and map_zone.bin file size from 20MB to 50MB in multiplayer.

- Fixed Zed appearance not syncing between players.
- Fixed one player being able to use two radios / walkie talkies.
- Fixed text not displaying above the placed HAM radio if there is a Walkie talkie in your hands.
- Fixed vehicle radio using wrong coordinates.
- Fixed vehicle radio not working in the same way as world placed radio.
- Fixed other vehicle radio issues (radio stations, text, chat, VOIP).
- Fixed vehicle radio text processing.
- Fixed trailer authorizations / floaty trailers.
- Fixed Item Remove tool not removing items from containers on a server.
- Fixed clients sending StopSound packets to the server for zombie vocals.
- Fixed clients sending climb-over-fence sounds and climb-through-window sounds for players and zombies. It seems each client runs the ClimbOverFenceState and ClimbThroughWindowState, so these sounds may be kept local.
- Fixed clients sending climb-over-wall sounds.
- Fixed seat authorizations.
- Fixed null pointer exception in the VehicleManager.serverPacket function.
- Fixed incorrect delay-tuning algorithm.
- Fixed issues with Handle BufferOverflowException sending map_meta.bin and map_zone.bin for servers that use many map mods.
- Fixed issues when characters are hit by trailers.
- Fixed corpses disappeared when killed by trailer
- Fixed issues with vehicle physics debug log messages.
- Fixed Admin being kicked because of incorrect checksum.
- Fixed car changing its place after re-login.
- Fixed normal vehicle not being removable in mods.
- Fixed movement sound when vehicle is stopped.
- Fixed movement sound when player changed seat from driver to passenger. Redundant vehicle packet EngineSound flag is removed.
- Fixed disappearing trailers.
- Fixed physics update limits.
- Fixed a vehicle and towed vehicle having different physic delays right after they were attached, causing clients to see the two closer than they actually were.
- Fixed attached cars being disconnected after re-login.
- Fixed passenger not being able to exit attached car if they occupy driver's seat while the car is being towed.
- Fixed attached trailer twitching after player gets in car. The server gives authorization for a short time to a player if both vehicles don't have drivers.
- Fixed empty RequestGetFull being sent.
- Fixed vehicle passenger could have vehicle authorization after collision.
- Fixed vehicle collision owner.
- Fixed tow re-attach.
- Fixed vehicle seat switching.
- Fixed passengers seeing black boxes at high speeds.
- Fixed vehicle not damaging players after re-login.
- Fixed vehicle local simulation pass through another vehicle.
- Fixed player can't become owner of pushed vehicle.
- Fixed bouncing vehicle authorization at the end of local simulation.
- Fixed player can exit or sleep in moving car.
- Fixed rare incorrect vehicles authorization after towing.
- Fixed engine sound disappearing without a driver.
- Fixed car not stopping when driver changes their place due to cruise control.
- Fixed error when try to type "[" in Item list viewer.
- Fixed bug in the GameTime class. The class had insufficient precision when calculating the time in the syncServerTime function.
- Fixed car stopping condition. The vehicle is stopped if the speed is less than 0.8 kmph.
- Fixed clipping vehicles.
- Fixed remote cars lag. The stepSimulation function will receive fixed update period. This period will not depend from FPS.
- Fixed Vehicle simulation speed depending on locked fps.
- Fixed the server kicking players when SystemDisabler.doAllowDebugConnections variable was set to true.

- Added MapRemotePlayerVisibility server option to the server-settings editor and admin panel.


MODS



- Improved log for lua errors. Now it shows if it modified file error
- Added list of mods in Pause menu + this list show mods that cause errors
- Added additional check to Vehicle Create, Update and Install Radios that may help prevent mods that modify what data is sent to it from causing errors.


FORAGING



- Adjusted the position of foraging pin icons and direction arrows. The arrows always pointed to the northwest corner of a square, which didn't look right for dropped items.

- Turn the player to face a forage item when picking it up.

- Fixed the foraging system not handling non-rectangular zones (i.e., polygon or thick polyline zones).
- Zone.getRandomSquareInZone() now handles polygon and thick polyline zones.
- Zone.getTotalArea() returns the area of polygon and thick polyline zones.
    Note this isn't an accurate count of the squares in such zones, it is the sum of the area of each triangle that forms the polygon.
    For other types of zones, width * height is returned.
- Added the OnLoadedMapZones event which is called after map_zone.bin is loaded.
    As before, the existing OnLoadMapZones event is triggered before map_zone.bin is loaded.
- forageSystem.init() is called by the new OnLoadedMapZones event instead of OnLoadMapZones.
- forageSystem.integrityCheck() checks whether the original map zone represented by each ForageZone still exists.

- Changed double click behaviour of search mode pins to place items into the current selected player inventory panel if possible
- Adjusted the search mode snow cover penalty limit as snowy weather combination could easily hit the penalty cap
- Fixed an exploit with search focus when spamming the search mode button which could force items to change type
- Fixed a visual issue with search focus trigger after spotting items which caused picked up items to sometimes be the original item

 

ADMIN/DEBUG



- Added Brush Tool for copying, destroying, and building specific Tiles, as well as a Fire, Smoke, and Explosion-Brush. .
    - Controls:
    - Turn on Brush Tool cheat via the Debug Menu -> "Cheats" -> "Brush Tool"..
    - Right-Click on any tile -> "Brush Tool Manager", "Copy tile", "Destroy Tile".
    - When a tile was picked from the Bruth Tool Manager -> keys "[" and "]" for scrolling between tiles.

- Added trigger thunder tool (for admins).
- Added respawn new loot in container by RMC-ContextOption on container button (when LootZed cheat on or isAdmin).

- Changed LootZed manager opening on RMC-ContextOption on container button.
- Allowed admin to create any VHS out of spawned VHS-home (like in debug).
- Added sync for Health panel cheats.
- Trailers debug is improved.
- Small fix to Lua closure.
- Improved spawn vehicle menu.
- Added ability to change weight in Player Stats window.

- Added destroying objects without a sledgehammer if building cheat is on.
- Added sliders for change weight and calories in debug panel.
- Added Step Into, Step Over, and Resume buttons to the Lua debugger.


- Improved ContextMenu
        - Now you can add icons for context options:
                local myOption = context:addOption("My option name", …)
                myOption.iconTexture = getTexture("media/ui/MyIconForOption.png")

- Added new functions for context: insertOptionAfter(…), insertOptionBefore(…), removeOptionByName(…), getMenuOptionNames(…)
- Improved Debug/Admin options.

- Added new options for doors - Now you can set a building ID for doors and force-lock doors inside buildings.
    - Added Door Options can be found in the Right-Click Context Menu -> Objects.
    - To lock a door inside a building, set a Building Key ID for the door, set Force-Lock to "True" and click "Objects" -> "Door Lock" in the context menu. A key for the door can be spawned via the "Get Key" option.
    
- Added 'make noise' options to attract zombies.
- Added option for removing all zombies in a zone to the Admin tools.
- Added icons in context menu for ADMIN/DEBUG options.
- Added elapsed time since server started in server statistics info.
- Added access to some Admin tools for moderators.
- Added an external anim debug UI for Martin.

- Removed the line "Press Esc to open Admin panel" from Server toolbox UI