Grass Stealth V2 — розширення системи стелсу для S.T.A.L.K.E.R. Anomaly, що працює поверх мода Stealth 2.31 як доповнення до його базової формули виявлення. Мод не замінює і не перезаписує жодного файлу основного мода — він розширює систему виявлення Stealth 2.31, не конфліктуючи з жодним іншим модом.
Суть розширення: додати до формули виявлення реальну висоту трави поточної локації. Присів у густій рослинності — ти невидимий. Ліг у густій траві — ще непомітніший. Вийшов на відкрите поле — жодного захисту, незалежно від того, яка зброя в руках. Стелс визначається виключно умовами середовища, а не спорядженням.
Паралельно мод керує акустичним радіусом після пострілу: залежно від типу зброї та наявності глушника визначається дистанція, на якій ворог може почути постріл і стати ворожим. Усі параметри гнучко налаштовуються через MCM безпосередньо в грі.
Мод зчитує реальну висоту трави з рушія в реальному часі. Якщо трава нижча за мінімальний поріг (за замовч. 0.7) — стелс у рослинності не діє. Значення синхронізується з налаштуваннями графіки.
Стелс у траві діє тільки в присяді або лежачи. Лежаче положення дає додатковий бонус маскування (за замовч. ×0.5), що вдвічі знижує видимість порівняно з присідом.
Система розрізняє рідку і густу траву за реальним показником густоти. Густа трава дає повний захист навіть від ворогів, що знаходяться вище. Налаштовується через MCM.
Якщо ворог знаходиться вище актора і дивиться вниз — трава не ховає. Перевіряється вертикальний кут огляду: рідка трава не маскує від ворогів на пагорбах та дахах.
Вночі (21:00–06:00) активується нічний множник видимості (за замовч. 0.15), що значно знижує шанс виявлення навіть на відкритій місцевості без трави.
При дощі або тумані мінімальна дистанція реакції ворогів скорочується. Бонус маскування у погану погоду (за замовч. 0.5) застосовується поверх усіх інших факторів.
Зброя у руках не впливає на візуальний стелс. Але після пострілу тип зброї та наявність глушника визначають акустичний радіус: пістолет без глушника — 60м, снайпер — 120м.
Кожна фракція має свій базовий шанс виявлення. Армія та Моноліт — максимально пильні (40%). Зомбі — практично сліпі (15%). Значення масштабуються за часом та погодою.
Якщо ворог засік гравця, він «пам'ятає» виявлення протягом 15 секунд (налаштовується). У цей час повторні перевірки стелсу пропускаються.
Будь-яке активне джерело світла (ліхтар у слоті 10 або прожектор-детектор) повністю вимикає весь бонус маскування незалежно від трави та часу доби.
Якщо ворог не дивиться у бік гравця — виявлення неможливе навіть впритул. Ворог, зайнятий боєм з кимось іншим, не засікає тебе через траву.
Ворог, який вже активно б'ється з гравцем або отримав влучення — ігнорує стелс. Це запобігає ситуації, коли ворог «забуває» про бій через повторне спрацювання стелсу.
| Параметр MCM | Тип / Діапазон | За замовч. | Опис |
|---|---|---|---|
| Увімкнути мод | Так / Ні | Так | Вмикає або вимикає мод повністю |
| Повідомлення на екрані | Так / Ні | Так | Показувати повідомлення про стан стелсу на екрані |
| Дальність виявлення | 20–150 · крок 5 | 80 м | Максимальна дистанція, на якій стелс працює |
| Множник маскування | 0–1 · крок 0.01 | 0.04 | Наскільки знижується видимість у траві (0.04 = -96%) |
| Мін. висота трави | 0.1–2.0 · крок 0.05 | 0.7 | Мінімальна висота трави для активації стелсу |
| Поріг рідкої трави | 0.1–1.0 · крок 0.05 | 0.55 | Вище цього значення трава вважається рідкою — захист зверху не діє |
| Поріг густої трави | 0.1–1.0 · крок 0.05 | 0.35 | Нижче цього значення трава густа — повний захист навіть від ворогів зверху |
| Бонус лежачи | 0.1–1.0 · крок 0.05 | 0.5 | Додатковий множник стелсу лежачи (0.5 = вдвічі непомітніший ніж у присяді) |
| Пам'ять виявлення | 1–60 · крок 1 | 15 с | Скільки секунд ворог пам'ятає виявлення гравця |
| Бонус маскування у дощ | 0–1 · крок 0.05 | 0.5 | Зниження шансу виявлення при дощі або тумані |
| Нічне маскування | Так / Ні | Так | Увімкнути нічний режим стелсу (21:00–06:00) |
| Нічний множник | 0–1 · крок 0.01 | 0.15 | Множник видимості вночі навіть без трави |
| Тип зброї | Без глушника | З глушником | Примітка |
|---|---|---|---|
| ВСС / ВАЛ / ВСК-94 | 5 м | 5 м | Фіксований радіус — зброя тиха за конструкцією |
| Пістолет | 60 м | 10 м | Глушник дає значну перевагу |
| Пістолет-кулемет (SMG) | 80 м | 15 м | |
| Дробовик | 80 м | 80 м | Глушник не зменшує радіус |
| Штурмова гвинтівка | 100 м | 40 м | |
| Снайперська гвинтівка | 120 м | 30 м | |
| Інша зброя | 100 м | 100 м |
* Радіус застосовується тільки якщо в зоні є вороги. Постріл у порожньому полі — не скидає таймер стелсу. Меле-зброя встановлює кулдаун 3 секунди незалежно від дистанції.
* Значення множаться на часовий фактор (×0.45 вночі, ×0.70 в сутінках) та дощовий множник (налаштовується в MCM).
* Мутанти не залежать від часового та дощового факторів — використовуються фіксовані значення.
Перевіряється: гравець живий, мод увімкнений, ворог не в стані активного бою з гравцем і не отримував від нього влучення.
Стелс активний тільки в присяді або лежачи. У повний зріст — пропуск. Лежаче положення застосовує додатковий бонус маскування.
Якщо активний ліхтар або прожектор-детектор — стелс вимкнено. Якщо після пострілу або удару ближнім боєм менш ніж 3 секунди і ворог у радіусі — стелс вимкнено.
Якщо ворог ближче за мінімальну дистанцію і дивиться у бік гравця — виявлення форсується. Якщо не дивиться — ні. Якщо ворог вище і трава рідка — захист не діє.
Якщо трава досягає мінімального порогу: застосовується множник маскування з урахуванням густоти трави та положення гравця. Якщо ніч і нічний режим увімкнений: застосовується нічний множник. Інакше — стелс не діє, система виявлення Stealth 2.31 без змін.
Фінальний шанс виявлення = базовий шанс фракції × часовий фактор × дощовий фактор × множник трави × дистанційний фактор². Якщо кидок кубика спрацьовує — ворог «бачить» і пам'ятає гравця 15 секунд. Інакше — виявлення скасовується.
Множник трави підключається до системи виявлення Stealth 2.31 при запуску гри. Жодних конфліктів — мод лише розширює оригінальну формулу, без заміни файлів.
Grass Stealth V2 is a stealth extension for S.T.A.L.K.E.R. Anomaly that works on top of the Stealth 2.31 mod as a supplement to its base detection formula. It does not replace or override any file from the base mod — it extends the Stealth 2.31 detection system without conflicting with any other mod.
The core addition: factor in the real-time grass height of the current level into the detection formula. Crouch in tall vegetation — you become nearly invisible. Lie down in it — even more so. Step into an open field — zero cover, regardless of what weapon you are holding. Stealth is determined exclusively by environmental conditions, not by equipment.
In parallel, the mod controls the acoustic detection radius after a shot: depending on weapon type and suppressor presence, it determines the range within which nearby enemies are alerted. All parameters are fully configurable in-game via MCM.
The mod reads the actual grass height from the engine in real time. If it falls below the minimum threshold (default 0.7) — vegetation stealth is disabled entirely. Synced with the player's graphics settings.
Vegetation stealth only works while crouching or prone. Lying down applies an extra concealment bonus (default ×0.5), making you twice as hard to spot compared to crouching.
The system distinguishes sparse from thick grass using the real grass density value. Thick grass provides full concealment even from enemies positioned above. Configurable via MCM.
If an enemy is above the player and looking down at a steep angle — sparse grass provides no cover. Only thick grass grants overhead protection. Avoid open depressions when enemies hold high ground.
Between 21:00–06:00 a night visibility multiplier (default 0.15) dramatically reduces detection chance even in open terrain with no vegetation.
During rain or foggy weather the minimum enemy reaction distance shrinks. The bad weather concealment bonus (default 0.5) is applied on top of all other modifiers.
What you hold does not affect visual stealth. However, after firing, weapon type and suppressor determine the acoustic radius: unsuppressed pistol — 60m, sniper — 120m. Only enemies inside the radius are alerted.
Each faction has its own base detection chance. Army and Monolith are the most vigilant (40%). Zombies are practically blind (15%). Values scale with time of day and weather.
Once an enemy detects the player it "remembers" for 15 seconds (configurable). During that window repeat stealth checks are skipped.
Any active light source (slot 10 flashlight or flashlight-detector) completely disables all concealment bonuses regardless of grass or time of day.
If the enemy is not facing the player — detection is impossible even at point-blank range. An enemy engaged with someone else will not notice you through grass.
An enemy actively fighting the player or that was hit by the player ignores stealth entirely. This prevents the situation where an enemy "forgets" about a firefight due to the stealth system re-triggering.
| MCM Parameter | Type / Range | Default | Description |
|---|---|---|---|
| Enable Mod | bool | true | Master on/off switch for the mod |
| Show Messages | bool | true | Show HUD notifications about stealth state |
| Detection Distance | float · 20–150 · step 5 | 80 m | Maximum distance at which stealth affects detection |
| Stealth Multiplier | float · 0–1 · step 0.01 | 0.04 | Base visibility multiplier in vegetation (0.04 = 96% reduction) |
| Min Grass Height | float · 0.1–2.0 · step 0.05 | 0.7 | Minimum grass height required for stealth activation |
| Sparse Grass Threshold | float · 0.1–1.0 · step 0.05 | 0.55 | Above this threshold grass is too sparse for overhead protection |
| Dense Grass Threshold | float · 0.1–1.0 · step 0.05 | 0.35 | Below this threshold grass gives full protection even from above |
| Prone Stealth Bonus | float · 0.1–1.0 · step 0.05 | 0.5 | Prone stealth multiplier relative to crouch (0.5 = twice as stealthy) |
| Detection Memory | float · 1–60 · step 1 | 15 s | Seconds an enemy remembers detecting the actor |
| Rain Stealth Bonus | float · 0–1 · step 0.05 | 0.5 | Detection reduction during rain / fog |
| Night Stealth | bool | true | Enable night stealth mode (21:00–06:00) |
| Night Stealth Multiplier | float · 0–1 · step 0.01 | 0.15 | Visibility multiplier at night without grass |
| Weapon Type | No Suppressor | With Suppressor | Note |
|---|---|---|---|
| VSS / VAL / VSK-94 | 5 m | 5 m | Fixed radius — inherently quiet by design |
| Pistol | 60 m | 10 m | Suppressor gives a major advantage |
| SMG | 80 m | 15 m | |
| Shotgun | 80 m | 80 m | Suppressor has no effect — engine limitation |
| Assault Rifle | 100 m | 40 m | |
| Sniper Rifle | 120 m | 30 m | |
| Other | 100 m | 100 m | Fallback for unclassified weapons |
* The radius is only applied if enemies are present within range. Firing in an empty field does not reset the stealth timer. Melee hits set a 3-second cooldown regardless of range.
* Values are multiplied by time factor (×0.45 at night, ×0.70 at dusk/dawn) and rain factor (configurable rain bonus, default ×0.5).
* Mutants use fixed values and are not affected by time of day or rain factors.
Checks: actor alive, mod enabled, NPC not actively fighting actor, NPC not in combat with actor.
Stealth only active while crouching or prone. Standing — skip. Lying down applies an additional stealth multiplier on top of crouching (default ×0.5).
If torch active or flashlight-detector active — stealth disabled. If less than 3 seconds since a shot or melee hit AND enemy within acoustic radius — stealth disabled.
If enemy is very close and directly facing the actor — detection is forced regardless of grass. If enemy is not facing the actor — detection is impossible. If enemy is above on elevated terrain and grass is sparse — overhead angle check fails.
If grass is tall enough (min. height configurable in MCM): apply the visibility multiplier scaled by grass density and stance (prone gives extra bonus). If night mode is enabled and it is between 21:00–06:00: apply the night stealth multiplier. Otherwise — no stealth effect; Stealth 2.31 base detection runs unchanged.
Final detection chance = base faction chance × time factor × rain factor × grass/night multiplier × distance factor². If the roll succeeds — the NPC detects the actor and remembers it for the configured memory duration. Otherwise detection is blocked.
The grass multiplier is injected into the Stealth 2.31 detection system at game start. It multiplies the result of the original function — no conflicts, no file overrides, no compatibility issues.