Mod «Archery Nexus [Fixed] (B42)» for Project Zomboid

0
48

This is a fork of Archery Nexus [V2] fixed for Build 42. It adds silent ranged combat options to the game.

  • Primitive Bow (Base.Primitive_Bow) — a silent ranged weapon.
  • Wooden Arrows (Base.WoodShaft_Arrow, ammo type archerynexus:woodshaft_arrow).
  • Quiver (Base.Primitive_Quiver) — an arrow container with REX5BowBack and REX5 attachments.
  • Fletching materials and recipes: arrow shards, fletched chicken feathers, draw string, and bow assembly. Includes 5 recipes in recipes_fletching.txt.
  • Items are injected into loot tables including PoliceStorageGuns, HuntingLockers, GunStore*, ArmyStorageGuns, BedroomDresser, and others.

Fixes compared to the original:

  • Fixed crash when reloading without an item in hand (nil getPrimaryHandItem).
  • Fixed inability to enter vehicles after reloading (resetEquippedHandsModels every tick).
  • Fixed broken corpse grab and container errors on servers (setAnimVariable in server context).
  • Replaced deprecated setAnimVariable with setVariable.
  • Fixed reload desync where arrows remained in a non-fireable state (pre-sync fix in ISReloadWeaponAction).

B42 Compatibility Patches:

  • Reload/Rack key fix (AN_Reload_Fix.lua): Forces WeaponReloadType=«REX5» when the primary hand item is Primitive_Bow. Monkey-patches global ISBaseTimedAction.setAnimVariable. Note: This affects all timed actions in the game and may break if TIS changes the signature of setAnimVariable or if another mod wraps it without chaining.
  • Bow reload sync (BowReloadFix.lua): Monkey-patches ISReloadWeaponAction.animEvent and ISRackFirearm.start to prevent bow desynchronization. May break if TIS changes the signature of these methods.
  • Aim state (R5_AimState.lua): Sets animation variable BowInUse on equip. Updates weapon sprite based on loaded ammo every tick. Clamps arrows to zombies via setAttachedItem on hit.
  • Hotbar override: Complete replacement of ISHotbar:getSlotForKey (rebinds slots 1-20) plus global keybindings 6-20. Overwrites any other mod touching the hotbar (e.g., AuthenticZ). Requires updates if TIS rewrites ISHotbar.
  • Loot table mutation: Directly mutates ProceduralDistributions.list[...] on load. Server boot errors may occur if TIS renames any lists.
  • Item tags / ammo types / attachment registry: Includes ItemTag.register, AmmoType.register, ISHotbarAttachDefinition inserts (REX5, REX5BowBack), and AttachedLocations getOrCreate (REX5, REX5Quiver*, REX5BowBack).

Technical Information:

  • Workshop ID: 3731579266
  • Mod ID: ArcheryNexusFixed
Tested on
Project Zomboid
  • Build 42
No comments yet. Be the first to add a comment!