========================================================================
  D7 SKILLS SYSTEM  —  Installation & Configuration Guide
========================================================================

A custom skills & perks system for DayZ. Players earn skill points from
combat, surviving, cooking, repairing and (optionally) quests, then spend
them in a clean in-game menu across skill trees and their perks. Every
perk gives a real gameplay effect (healing, less recoil, night vision,
tracking, damage reduction, and more).


========================================================================
  1) REQUIREMENTS
========================================================================

  - D7_Core   (REQUIRED — the mod stays disabled without it and without a
               valid license. Load it BEFORE D7_SKILLS.)

  Add D7_SKILLS to the MOD LIST (-mod), NOT as a server-side mod
  (-serverMod). Players need it installed too (it has a UI + items).


========================================================================
  2) INSTALLATION (main mod)
========================================================================

  1. Copy the mod folders to your server root:
        @D7_Core
        @D7_Skills

  2. Add them to your server startup line (Core first):
        -mod=@D7_Core;@D7_Skills

  3. Copy the mod's .bikey (in its "Keys" folder) into your server
     "keys" folder.

  4. D7 Skills needs a license to run — request one from D7. Once your
     license is active, start the server; the mod auto-creates its
     config files (see section 5).


========================================================================
  3) HOW PLAYERS USE IT
========================================================================

  - Open the skills window with the  [ K ]  key (press again to close).
  - The window shows: skill list (left), the selected skill's perks
    (center) with a level bar each, and a detail panel (right) with the
    perk description + its stat per level and the upgrade cost.
  - Players earn SKILL POINTS automatically from:
        * Killing players / animals / infected (ranged kills give bonus)
        * Staying alive (passive tick)
        * Taking damage, cooking, repairing
        * The Expansion Quests patch (optional, section 6)
  - Points are spent to buy / level up perks.
  - A player can only master a limited number of skill TREES at once
    (MaxMainSkills, default 3). Extra trees stay locked until one is
    removed.
  - To remove a skill tree and refund its points, the player needs a
    D7 Reset Tome (see section 4), then removes the skill in the window.


========================================================================
  4) ITEMS  (CLASSNAMES)
========================================================================

  Skill Books  — studied from the player's hands to grant skill points:

        D7_Book_I      -> +100 skill points
        D7_Book_II     -> +200 skill points
        D7_Book_III    -> +300 skill points

  Reset Tome — consumed when a player removes a skill tree (refunds the
  points that were spent in it):

        D7_ResetTome

  (D7_BookBase is the hidden parent class only — do NOT spawn it.)

  Give these via traders, loot (types.xml), or rewards. A ready-to-merge
  loot file is included next to this guide:

        D7_Skills_types.xml

  Merge its entries into your mpmissions types.xml (or add it as a custom
  types file in cfgeconomycore.xml). Set min/nominal to 0 for any item
  you only want from traders / rewards and NOT as world loot.


========================================================================
  5) CONFIG
========================================================================

  All config files are created automatically on first server start under:

        <server profile>\D7\D7_Skills\

  Files:
        settings.json        - perks tuning + toggles       (5a)
        xp_rates.json        - how skill points are earned   (5b)
        triggers.json        - per-classname point overrides (5c)
        messages.json        - customize on-screen messages  (5d)
        players\<id>.json    - each player's saved skills (auto, do not
                               edit while the server is running)
        quest_xp.json        - Expansion Quests patch only   (section 6)
        level_gate.json      - Leveling Gate patch only      (section 7)

  Edit the JSON, then RESTART the server to apply.


  ---- 5a) settings.json  (main tuning) --------------------------------

  {
    "MaxMainSkills": 3,          // how many skill TREES a player can
                                 //   invest in at once
    "PerkMaxLevel": 10,          // max level of each perk
    "PassiveXpEnabled": 1,       // 1 = grant points while alive, 0 = off
    "TickSeconds": 5.0,          // server tick interval (passive/effects)
    "AutoSaveEveryTicks": 12,    // save player data every N ticks
    "EnableLogs": 1,             // 1 = console logs, 0 = off

    // ---- perk effect strengths (per level unless noted) ----
    "VitalityFoodPerTick": 4.0,      // energy+water regen per tick
    "VitalityRegenPerTick": 2.0,     // health regen per tick (fed)
    "WarriorHealPerKill": 25.0,      // Bloodlust heal per kill
    "WarriorLoadReduction": 0.5,     // Strong Back: at max level, heavy gear
                                     //   shrinks the stamina bar this much
                                     //   less (0.5 = up to 50% less)
    "EnduranceRecoveryMult": 1.5,    // stamina recovery multiplier
    "EnduranceSprintDrain": 0.5,     // sprint stamina drain reduction
    "MarksmanHealFocused": 10.0,     // heal on ranged kill (tier 1)
    "MarksmanHealDeadeye": 25.0,     // heal on ranged kill (Deadeye)
    "ToughnessThickSkin": 0.10,      // damage reduction tier 1
    "ToughnessIronBody": 0.25,       // damage reduction tier 2
    "ToughnessUnbreakable": 0.40,    // damage reduction tier 3
    "HunterSkinningBonus": 0.5,      // extra skinning loot per level
    "AiVisionReduction": 0.85,       // how much perks cut AI detection
    "AiVisionMinMult": 0.15,         // minimum AI detection (floor)
    "NightVisionBrightness": 1.5,    // Night Eyes max brightness

    "MarksmanStabilityMax": 0.6,     // max sway reduction (Stability)
    "MarksmanRecoilMax": 0.3,        // max recoil reduction (Recoil Ctrl)

    // ---- Footprints / Tracker tuning ----
    "TrackRangeBase": 22.0,
    "TrackRangePerLevel": 28.0,
    "TrackLifeBase": 54.0,
    "TrackLifePerLevel": 6.0,
    "TrackFadeSeconds": 15.0,
    "TrackSpacing": 2.0,
    "TrackDropInterval": 1.0,
    "TrackVisibleDistance": 2.0,

    // ---- Sixth Sense (Stealth perk) tuning ----
    "SenseBaseRange": 6.0,           // sense radius at perk level 1 (m)
    "SenseRangePerLevel": 2.0,       // added radius per perk level
    "SenseScanInterval": 0.5,        // how often it scans for threats (s)
    "SensePulseSpeed": 3.0,          // screen-edge glow pulse speed
    "SenseGlowMin": 0.08,            // faintest glow intensity
    "SenseGlowMax": 0.4,             // strongest glow intensity
    "SensePingCooldown": 5.0,        // min seconds between alert sounds
    "SenseFovDot": 0.35,             // how far out of view a threat must be
                                     //   to trigger (lower = more behind you)
    "SenseLineOfSight": 1            // 1 = buildings / large objects block
                                     //   the sense (trees still pass), 0 =
                                     //   sense through everything
  }


  ---- 5b) xp_rates.json  (how points are earned) ----------------------

  {
    "KillPlayerXp": 50.0,        // points per player kill
    "KillAnimalXp": 15.0,        // points per animal kill
    "KillInfectedXp": 12.0,      // points per infected kill
    "KillRangedXp": 20.0,        // bonus points for a ranged kill
    "VitalityXpPerTick": 3.0,    // passive points per tick
    "EnduranceXpPerTick": 5.0,   // points per tick while sprinting
    "DamageTakenXp": 0.5,        // points per point of damage taken
    "CookXp": 8.0,               // points per cooking action
    "RepairXp": 10.0             // points per repair action
  }


  ---- 5c) triggers.json  (per-classname overrides) -------------------

  Optional. Override the points for killing a SPECIFIC classname (e.g. a
  boss animal or a modded infected). Anything not listed uses the normal
  xp_rates value. The file is created with one EXAMPLE entry per list —
  replace or remove it.

  {
    "ZombieTriggers": [ { "name": "ZmbM_HunterOld_Autumn", "xp": 25 } ],
    "AnimalTriggers": [ { "name": "Animal_UrsusArctos",    "xp": 60 } ],
    "AITriggers":     [ { "name": "SurvivorM_Boris",       "xp": 80 } ]
  }
    // ZombieTriggers = infected, AnimalTriggers = animals,
    // AITriggers = players / AI. "xp" is the points for that kill.


  ---- 5d) messages.json  (on-screen text) -----------------------------

  Edit the wording players see. Keep the {tokens} — they are replaced at
  runtime ({perk}, {skill}, {level}, {cost}, {xp}, {max}).


========================================================================
  6) EXPANSION QUESTS PATCH  (optional)
========================================================================

  A SEPARATE, server-side addon that grants SKILL POINTS when a player
  completes an Expansion quest. It is in the "Patch" folder of this
  package:

        D7_SKILLS_ExpansionQuests.pbo

  TO INSTALL: place that PBO into your
        DayZServer\addons
  folder. It loads server-side — players do NOT need it and you do NOT
  add it to the -mod line. It still requires @D7_Core and @D7_Skills to
  be running, plus Expansion Quests on the server.

    Requires : DayZExpansion_Quests_Scripts  (+ CF)
    Config   : <server profile>\D7\D7_Skills\quest_xp.json
                 {
                   "Quests": [
                     { "QuestID": 1, "Xp": 100 }
                   ]
                 }
                 // QuestID = the Expansion quest ID.
                 // Xp = skill points granted on completion.
                 // Add one entry per quest you want to reward.


========================================================================
  7) LEVELING GATE PATCH  (optional — needs D7 Leveling)
========================================================================

  A SEPARATE, server-side addon that LOCKS skill trees behind a level:
  a player can only master more skill trees as they level up. It is in
  the "Patch" folder of this package:

        D7_Skills_LevelingGate.pbo

  TO INSTALL: place that PBO into your
        DayZServer\addons
  folder. It loads server-side — players do NOT need it and you do NOT
  add it to the -mod line. It requires @D7_Core, @D7_Skills AND
  @D7_Leveling to be running.

    Requires : D7 Leveling (the D7_Leveling mod)
    Config   : <server profile>\D7\D7_Skills\level_gate.json
                 {
                   "Tiers": [
                     { "Level": 3,  "MaxSkills": 1 },
                     { "Level": 6,  "MaxSkills": 2 },
                     { "Level": 9,  "MaxSkills": 3 },
                     { "Level": 27, "MaxSkills": 9 }
                   ]
                 }
                 // At each Level, the player is allowed MaxSkills trees.
                 // The highest tier the player's level reaches applies.
                 // This overrides "MaxMainSkills" from settings.json.

  NOTE — this Gate patch only LOCKS trees by level. The reverse feature,
  granting SKILL POINTS when a player LEVELS UP, is a separate bridge
  patch that ships with the D7 LEVELING package (not here). Install that
  one from your D7 Leveling download if you want level-ups to give points.


========================================================================
  8) SKILLS & PERKS  (reference)
========================================================================

  Strength   : Bloodlust, Strong Back
  Hunter     : Tracker, Skinner, Night Eyes, Footprints
  Stealth    : Sneak, Sixth Sense
  Vitality   : Metabolism, Hardy
  Endurance  : Marathon, Conditioned
  Toughness  : Resist
  Marksman   : Deadeye, Stability, Recoil Control
  Cook       : Chef
  Mechanic   : Engineer


========================================================================
  9) LICENSE
========================================================================

  D7 Skills is protected by D7_Core. It only works on servers whose
  license includes "D7_SKILLS". Without a valid license the mod loads
  but grants no points, perks, or effects.

  Need a license or help? Contact D7 on Discord (see LICENSE.txt /
  SUPPORT.txt).

========================================================================
  (c) 2026 D7. All Rights Reserved.
========================================================================
