YAInteraction/config.cpp
smthspec 5a07c85416 Rebuild interaction layer on @YAProxy (1.29-working)
Replace the ZenProxyFramework dependency (broken on 1.29) with @YAProxy, our
self-contained proxy framework. Actions now extend YAProxyActionBase:

- Search / RepairSink / GatherWater resolve the targeted furniture proxy by
  keyword and use the synced world position from YAProxy
- Confirmed proxy names from live test: case_sink_a, fridge, lekarnicka
  (vending defaulted to 'sodamachine' pending confirmation)
- Registry lookup matches proxy names as substrings (handles '.001' suffix)
- Sink repaired-state + search/water cooldowns tracked server-side, keyed by
  proxy world position / player UID (in-memory, reset on restart per v1 spec)
- Repair on Wrench/PipeWrench, GatherWater on Bottle_Base (item-based, load-
  order safe); Search on PlayerBase

requiredAddons: YAProxy. Loot tables / settings JSON unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 09:58:00 +03:00

71 lines
1.1 KiB
C++

class CfgPatches
{
class YAInteraction
{
units[] = {};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] =
{
"DZ_Data",
"DZ_Scripts",
"YAProxy" // dependency: proxy detection framework (loads before us)
};
};
};
class CfgMods
{
class YAInteraction
{
dir = "YAInteraction";
picture = "";
action = "";
hideName = 1;
hidePicture = 1;
name = "YAInteraction";
credits = "drasikas";
author = "drasikas";
authorID = "0";
version = "1.0";
extra = 0;
type = "mod";
dependencies[] =
{
"Game",
"World",
"Mission"
};
// Script module registration. We only ship 4_World code in v1, but all three
// modules are declared so future hooks can drop into the correct layer without
// touching this file again.
class defs
{
class gameScriptModule
{
value = "";
files[] =
{
"YAInteraction/scripts/3_Game"
};
};
class worldScriptModule
{
value = "";
files[] =
{
"YAInteraction/scripts/4_World"
};
};
class missionScriptModule
{
value = "";
files[] =
{
"YAInteraction/scripts/5_Mission"
};
};
};
};
};