• Nikitos's avatar
    Порт психики NPC и режиссёра рейда из audm-neko: $.alive
    · 6b2e2767
    Nikitos создал
    Последний блок порта (§12, §6.8). Оригинал почти не трогает Godot — психика это
    числа и события, поэтому перенесена целиком (alive_psyche.gd 786 строк,
    alive_raid_director.gd 149).
    
    * три слоя: статика (44 психотипа по Личко/Леонгарду, 14 черт, OCEAN выводится
      из черт, тренированность, роль), динамика (страх, пульс, подавление,
      усталость, ярость, стресс, голод, холод, глухота) и триггеры (ранение, смерть
      союзника, пролёт пули, взрыв, окружение, убийство) со спайком и затуханием ПО
      ЧЕРТАМ, а не константой;
    * роль в отряде: лидер по психотипу и тренированности; ведомый без лидера
      сыпется, с лидером остывает быстрее (Маршалл), leadership();
    * эффекты по Гроссману: пульс выше 140 сужает обзор и слух, сбивает прицел и
      мелкую моторику; барьер убийства вблизи тем сильнее, чем выше эмпатия;
      ступор лицом к лицу; вверх пульс разгоняется быстро, вниз остывает медленно;
    * срывы по Darkest Dungeon: на пороге стресса проверка даёт панику, ярость,
      ступор, сдачу или молитву плюс CSR у вымотанных; веса сдвигаются тем, что
      происходит (лидер не бежит, ведомый без лидера склонен к панике);
    * моральная травма (Шэй, Litz) с ПОЛОМ черт 30%: ангедония, утрата
      самосохранения, перенос между рейдами через carryMoralInjury; первое убийство
      переживается фазами эйфория → отрицание → раскаяние (эмпата вырвет);
    * режиссёр рейда: фазы spare/even/press, настройки mercy/let_win/focus,
      «загонщик» идёт к самому слабо вооружённому и НЕ добивает игрока при здоровье
      ниже 35%, назначения со сроком жизни;
    * $.alive.attach/of/tick связывают психику с узлом и ставят fear/pulse/stress.
    
    Тесты нашли ошибку: у психики не были выставлены геттеры breakCooldown,
    killPhaseLeft, vomitPending и time — поля менялись внутри, но снаружи их не
    было видно (проверки читали undefined).
    
    Проверка: tests/js/alive_test.mjs (31 проверка), полный набор qjs, bsp и
    агентских тестов зелёный.
    6b2e2767