Furniture (sink/fridge/lekarnicka/vending) are house proxies, not entities, so actions are now driven by ZenProxyFramework: actions target proxies by name (GetZenProxyNameTarget), the proxy world position is synced to the server via ActionData, repair spawns an invisible ZenProxySinkTest marker (presence = repaired), and gather-water checks for it. Registry is keyed by proxy name; loot tables / cooldowns / settings JSON kept. NOTE: superseded approach - ZenProxyFramework does not compile on DayZ 1.29 (HouseType type-name collision). Next: a self-contained @YAProxy framework (based on ZenProxyFramework + ShowMeInfoV2's geometry-LOD proxy scan) that YAInteraction will depend on instead. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
31 lines
1.4 KiB
C
31 lines
1.4 KiB
C
// ============================================================================
|
|
// YAInteractionConfig - compile-time constants only
|
|
// ----------------------------------------------------------------------------
|
|
// Registry, loot tables and scalar tunables live in JSON (YAInteractionSettings
|
|
// + YAInteractionData via YAInteractionConfigLoader). These are the engine-side
|
|
// constants that aren't user-tunable.
|
|
// ============================================================================
|
|
class YAInteractionConfig
|
|
{
|
|
// Action type ids - must match YAInteractableEntry.ActionType in the JSON.
|
|
static const string ACTION_SEARCH = "search";
|
|
static const string ACTION_REPAIR_WATER = "repair_water";
|
|
|
|
// Loot table name ids - must match YALootTable.Name in the JSON.
|
|
static const string TABLE_MED = "MedTable";
|
|
static const string TABLE_FOOD = "FoodTable";
|
|
static const string TABLE_VENDING = "VendingTable";
|
|
|
|
// ZenProxyFramework entity reused as the sink "repaired" marker.
|
|
static const string SINK_PROXY_ENTITY = "ZenProxySinkTest";
|
|
|
|
// Non-JSON engine constants.
|
|
static const int WATER_LIQUID_TYPE = LIQUID_WATER;
|
|
static const int SEARCH_ROLLS_MIN = 1;
|
|
static const int SEARCH_ROLLS_MAX = 2;
|
|
|
|
// Progress-bar durations (seconds).
|
|
static const float SEARCH_TIME = 3.0;
|
|
static const float GATHER_WATER_TIME = 4.0;
|
|
static const float REPAIR_TIME = 5.0;
|
|
}
|