DayZ-Expansion-Hardline
Features DayZ Expansion Hardline introduce to the game Humanity (heroes/bandit) and Item Rarity (common, uncommon, rare, etc). This mod provide: - Reputation system (hero/bandit) - Item Rarity if combined with DayZ-Expansion-Market: - Traders can require a set amount of Reputation to access their goods (bandit trader, hero trader) - Items to buy/sell locked behind a reputation requirement if combined with… (more)
Features DayZ Expansion Hardline introduce to the game Humanity (heroes/bandit) and Item Rarity (common, uncommon, rare, etc). This mod provide: - Reputation system (hero/bandit) - Item Rarity if combined with DayZ-Expansion-Market: - Traders can require a set amount of Reputation to access their goods (bandit trader, hero trader) - Items to buy/sell locked behind a reputation requirement if combined with DayZ-Expansion-Name-Tags - Display the rarity color on items being held by players if combined with DayZ-Expansion-Book - Display the reputation of the player in the Player Stats tab of the book Installation If you need help to install the mods or the mission files please follow this guide: https://steamcommunity.com/sharedfiles/filedetails/?id=2430317812 Feedback We're grateful to hear any feedback and suggestions from anyone, the best place to give it to us would be our Discord ( https://discord.gg/rMZuS4F ), please also join if you have any questions too! Copyright 2021 DayZ Expansion Mod Team. This item is not authorized for posting on Steam, except under the Steam account https://steamcommunity.com/id/dayzexpansion/
No file I/O on hot paths, no timers created per event, no per-player-per-frame hooks.
1 chain break on base classes or persisted data. 4 more are whole-class replacements of specific classes.
less than 0.001% of each server frame at 100 players (0.000 ms/s). Counts hook dispatch and timers only, not what the hooks do inside. Methodology.
Structural load of the 328 scripted mods analyzed, lightest on the left. This mod's bar is lit; 25 others share it. Ranked list.
Event hooks carry 98% of this mod's structural load. 0.000 ms/s in all.
2 hooks · 0.0004 ms/s
3 hooks · 0.000006 ms/s
| Event hooksrun when something happens: an inventory move, a hit, an action | 2 hooks | 0.0004 ms/s | 98% | ItemBase.OnVariablesSynchronized, JMPlayerModule.OnRPC |
| Lifecycle hooksrun when an entity is created, loaded or deleted | 3 hooks | 0.000006 ms/s | 1.5% | AnimalBase.EEKilled, PlayerBase.EEKilled, ZombieBase.EEKilled |
Counts how often each hook is dispatched and how many timers stay alive, not what the code inside does. Some rates are order-of-magnitude estimates; the methodology lists which.
Chain breaks, by consequence
5 overrides that skip super(), ranked by how much they can affect. On any server a break replaces vanilla's behaviour on that method and silences every earlier-loaded mod hooking it.
PlayerBase.eAI_OnFactionChange
Vanilla's work on this method, and any earlier-loaded mod's, never runs for any PlayerBase.
hardline_scripts.pbo::4_World\DayZExpansion_Hardline\Entities\ManBase\PlayerBase.c:190Expansion_ResetColor · Expansion_UpdateItemRarity
Only these classes are affected. Matters only if another mod in your stack patches the same classes.
2 classes
Icon, SlotsIcon4 locations
hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\Icon.c:79hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\Icon.c:74hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\SlotsIcon.c:72hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\SlotsIcon.c:67Where this mod runs often
Hooks on per-frame and high-rate surfaces, with what their bodies call. Body work, not the hook itself, is what costs frame time.
Which vanilla methods the mod hooks, which of them drop the chain, how often each hook fires, and which risky calls sit inside hot hooks.
How long hook bodies take, network cost, or engine-side load. Measured across live fleets, most server lag comes from the engine and world state, not mod script chains — a light footprint does not clear a mod of lag, and a heavy one does not convict it. Methodology.
Everything else
All 39 overrides
Surface is the dispatch tier the rubric can price (— = unpriced); server is whether the override exists on a dedicated server; super() shows whether the vanilla chain is preserved on a server.
| method | surface | server | super() | where |
|---|---|---|---|---|
AnimalBase.EEKilled |
T3 | yes | ✓ | hardline_scripts.pbo::4_World\DayZExpansion_Hardline\Entities\Creatures\Animals\AnimalBase.c:15 |
ExpansionBookMenuManager.RegisterBookMenuTabs |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\Book\ExpansionBookMenuManager.c:19 |
ExpansionItemInspectionBase.UpdateItemStats |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\MVC\ScriptViews\ExpansionItemInspection.c:3 |
ExpansionP2PMarketModule.CheckCanUseTrader |
— | yes | ✓ | hardline_scripts.pbo::4_World\DayZExpansion_Hardline\Systems\Market\ExpansionP2PMarketModule.c:16 |
ExpansionSettings.Init |
— | yes | ✓ | hardline_scripts.pbo::3_Game\DayZExpansion_Hardline\Settings\ExpansionSettings.c:17 |
Icon.InitEx |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\Icon.c:46 |
Icon.SetItemPreview |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\Icon.c:53 |
Icon.FullScreen |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\Icon.c:60 |
Icon.DestroyWhiteBackground |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\Icon.c:67 |
Icon.Expansion_UpdateItemRarity |
— | yes | ✗ none | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\Icon.c:74 |
Icon.Expansion_ResetColor |
— | yes | ✗ none | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\Icon.c:79 |
Icon.InitLock |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\Icon.c:84 |
InspectMenuNew.Init |
— | yes | conditional | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InspectMenuNew.c:15 |
InspectMenuNew.SetItem |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InspectMenuNew.c:29 |
ItemBase.OnVariablesSynchronized |
T2 | yes | ✓ | hardline_scripts.pbo::4_World\DayZExpansion_Hardline\Entities\ItemBase.c:44 |
ItemManager.PrepareTooltip |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ItemManager.c:54 |
JMPlayerForm.OnClientPermissionsUpdated |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\COT\JMPlayerForm.c:19 |
JMPlayerForm.InitActionWidgetsStats |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\COT\JMPlayerForm.c:27 |
JMPlayerForm.RefreshStats |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\COT\JMPlayerForm.c:49 |
JMPlayerForm.Click_ApplyStats |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\COT\JMPlayerForm.c:65 |
JMPlayerInstance.Update |
— | yes | ✓ | hardline_scripts.pbo::4_World\DayZExpansion_Hardline\COT\JMPlayerInstance.c:8 |
JMPlayerInstance.OnSendStatus |
— | yes | ✓ | hardline_scripts.pbo::4_World\DayZExpansion_Hardline\COT\JMPlayerInstance.c:27 |
JMPlayerInstance.OnReceiveStatus |
— | yes | ✓ | hardline_scripts.pbo::4_World\DayZExpansion_Hardline\COT\JMPlayerInstance.c:34 |
JMPlayerInstance.OnSendHealth |
— | yes | ✓ | hardline_scripts.pbo::4_World\DayZExpansion_Hardline\COT\JMPlayerInstance.c:45 |
JMPlayerInstance.OnRecieveHealth |
— | yes | ✓ | hardline_scripts.pbo::4_World\DayZExpansion_Hardline\COT\JMPlayerInstance.c:52 |
JMPlayerModule.GetRPCMax |
— | yes | ✗ none | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\COT\JMPlayerModule.c:21 |
JMPlayerModule.OnRPC |
T2 | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\COT\JMPlayerModule.c:29 |
MissionGameplay.OnInit |
T3 | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\Mission\MissionGameplay.c:20 |
MissionGameplay.Expansion_OnUpdate |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\Mission\MissionGameplay.c:39 |
PlayerBase.Init |
— | yes | ✓ | hardline_scripts.pbo::4_World\DayZExpansion_Hardline\Entities\ManBase\PlayerBase.c:19 |
PlayerBase.EEKilled |
T3 | yes | ✓ | hardline_scripts.pbo::4_World\DayZExpansion_Hardline\Entities\ManBase\PlayerBase.c:159 |
PlayerBase.CF_OnStoreLoad |
— | yes | ✓ | hardline_scripts.pbo::4_World\DayZExpansion_Hardline\Entities\ManBase\PlayerBase.c:168 |
PlayerBase.eAI_OnFactionChange |
— | yes | ✗ none | hardline_scripts.pbo::4_World\DayZExpansion_Hardline\Entities\ManBase\PlayerBase.c:190 |
SlotsIcon.Init |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\SlotsIcon.c:45 |
SlotsIcon.SetItemPreview |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\SlotsIcon.c:52 |
SlotsIcon.ClearRemainSelected |
— | yes | ✓ | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\SlotsIcon.c:59 |
SlotsIcon.Expansion_UpdateItemRarity |
— | yes | ✗ none | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\SlotsIcon.c:67 |
SlotsIcon.Expansion_ResetColor |
— | yes | ✗ none | hardline_scripts.pbo::5_Mission\DayZExpansion_Hardline\GUI\InventoryNew\ContainedItems\SlotsIcon.c:72 |
ZombieBase.EEKilled |
T3 | yes | ✓ | hardline_scripts.pbo::4_World\DayZExpansion_Hardline\Entities\Creatures\Infected\ZombieBase.c:15 |
Dispatch surfaces and timers the grade prices
| surface | tier | rate (Hz) | rate source | ms/s |
|---|---|---|---|---|
ItemBase.OnVariablesSynchronized | T2 | 8.0 | placeholder | 0.0002 |
JMPlayerModule.OnRPC | T2 | 8.0 | placeholder | 0.0002 |
AnimalBase.EEKilled | T3 | 0.1 | placeholder | 0.0000 |
ZombieBase.EEKilled | T3 | 0.1 | placeholder | 0.0000 |
PlayerBase.EEKilled | T3 | 0.1 | placeholder | 0.0000 |
Includes 0.000 ms/s from placeholder-rated surfaces.
Load-order constraints (CfgPatches)
What each PBO declares: its addon identity and the addons it requires to be loaded first (requiredAddons). A partial load-order signal from the mod's own metadata.
0_hardline_preload.pbo
DayZExpansion_Hardline_PreloadrequiredVersion 0.1 — no requiredAddons
hardline_gui.pbo
DayZExpansion_Hardline_GUIrequiredVersion 0.1 — requiresDayZExpansion_Core
hardline_objects_gear.pbo
DayZExpansion_Hardline_Objects_GearrequiredVersion 0.1 — requiresDZ_DataDayZExpansion_Hardline_Objects_GearrequiredVersion 0.1 — requiresDZ_Data
hardline_scripts.pbo
DayZExpansion_Hardline_ScriptsrequiredVersion 0.1 — requiresDayZExpansion_VanillaFixes_Scripts
languagecore_hardline.pbo
DayZExpansion_LanguageCore_HardlinerequiredVersion 0.1 — no requiredAddons
census 1.1 · findings 1.1 · hash b4c177a94a0eb1be