/* Генетически предрасположенные рефлексы
 *
 * Табличные данные воздействий стимулов на виталы, базовые контексты
 * и базовые генетические действия.
 */

/* ВНУТРЕННИЕ РЕФЛЕКСЫ - соматические рефлексы */

/* Список воздействий ID стимулов StimulMotivarion на ВИТАЛЫ (window.VitalsArr)
Для каждого Id стимула задаётся массив эффектов:
  vitalID 1–10  - разовое изменение соответствующего витала на delta при активации стимула
  vitalID 101  - запуск SetWellForHolding(), delta игнорируется
  vitalID 102  - запуск SetBadForHolding(), delta игнорируется
  vitalID 103  - включение игрового режима Beast isGameMode=true, delta игнорируется
  vitalID 104  - включение режима авторитарного обчения isAuthoritarianEducation=true, delta игнорируется
  
Это "внутренние" (т.е. не мышесные) генетические рефлексы, на основе которых могут возникать условные соматические рефлексы.
*/
window.StimulMotivarion_EffectsToBContexts = {
  // Еда / Вода: снятие стресса + удержание «Хорошо» (как в комментарии к stimuls.js — нормализация через действие Beast)
  1:  [{ vitalID: 7,  delta: -20 }, { vitalID: 101, delta: 0 }],
  2:  [{ vitalID: 7,  delta: -20 }, { vitalID: 101, delta: 0 }],
  3:  [],
  4:  [],
  5:  [{ vitalID: 7,  delta: -20 }],
  6:  [{ vitalID: 7,  delta: -20 } ],
  7:  [{ vitalID: 7,  delta: -50 }, { vitalID: 101, delta: 0 }],
  8:  [{ vitalID: 7,  delta: 50 }, { vitalID: 102, delta: 0 }],
  9:  [{ vitalID: 7,  delta: -30 }, { vitalID: 17, delta: 20 }],
  10: [{ vitalID: 7,  delta: 30 }],
  11: [{ vitalID: 7,  delta: -20 }],
  12: [{ vitalID: 7,  delta: -20 } ],
  13: [{ vitalID: 7,  delta: 20 }],
  14: [{ vitalID: 7,  delta: -30 }],
  15: [{ vitalID: 7,  delta: -20 } ],
  16: [{ vitalID: 7,  delta: -40 } ],
  17: [{ vitalID: 7,  delta: 20 } ],
  18: [{ vitalID: 7,  delta: 20 }],
  19: [{ vitalID: 103, delta: 0 }],
  20: [{ vitalID: 104, delta: 0 }, ]
};

/* Список воздействий ID стимулов StimulPositiv на КОНТЕКСТЫ (id window.StimulMotivarion)
Для каждого Id стимула задаётся массив эффектов:
  1–20  - активация соответствующего контекста при активации стимула на период времени state_retention_period
на время state_retention_period активация контекстов пульсом блокируется.
  101  - запуск SetWellForHolding(), 
  102  - запуск SetBadForHolding(), 
  103  - включение игрового режима Beast isGameMode=true, 
  104  - включение режима авторитарного обчения isAuthoritarianEducation=true.
Это "внутренние" (т.е. не мышесные) генетические рефлексы, на основе которых могут возникать условные соматические рефлексы.
*/
window.StimulPositiv_EffectsToBContexts = {
  1:  [13,11],
  2:  [11],
  3:  [13],
  4:  [12],
  5:  [12],
  6:  [12],
  7:  [5],
  8:  [12],
  9:  [13,11],
  10: [12],
  11: [12],
  12: [12],
  13: [13],
  14: [5],
  15: [5],
  16: [12],
  17: [12],
  18: [12],
  19: [13],
  20: [13,8],
};

/* Список воздействий ID стимулов StimulNegative на КОНТЕКСТЫ (id window.StimulMotivarion)
Для каждого Id стимула задаётся массив эффектов:
  1–20  - активация соответствующего контекста при активации стимула на период времени state_retention_period
на время state_retention_period активация контекстов пульсом блокируется.
  101  - запуск SetWellForHolding(), 
  102  - запуск SetBadForHolding(), 
  103  - включение игрового режима Beast isGameMode=true, 
  104  - включение режима авторитарного обчения isAuthoritarianEducation=true.
Это "внутренние" (т.е. не мышесные) генетические рефлексы, на основе которых могут возникать условные соматические рефлексы.
*/
window.StimulNegative_EffectsToBContexts = {
  1:  [6, 9],
  2:  [6, 9],
  3:  [9],
  4:  [6, 9],
  5:  [6, 9, 7],
  6:  [9],
  7:  [9],
  8:  [6, 9],
  9:  [6],
  10: [6, 9, 102],
  11: [12],
  12: [12],
  13: [6, 9],
  14: [9],
  15: [6, 9],
  16: [6, 9],
  17: [9],
  18: [9],
  19: [9, 102],
  20: [6, 9, 102],
};
  
  /* ВНЕШНИЕ, моторные РЕФЛЕКСЫ 
Попытки "самостоятельных" действий у ребенка в период кризиса 9-18 месяцев 
в основном обусловлены внутренним механизмом развития автономии, 
а не только внешними стимулами восприятия.  
Спонтанные действия связаны с естественной энергией психики, 
где ребенок "пробует" мир, не требуя внешнего подкрепления сразу; это основа для будущей произвольности.
Один вид рефлексов - по активному стимулу,
другой вид рефлексов - по возникшему позыву что-то попробовать - начинает собираться СЕМАНТИЧЕСКАЯ ПАМЯТЬ.
  */
  
/* Список воздействий ID StimulMotivarion на ID Базовых генетических действий (window.BasicActions)
При ID действия == 100 - раз в 5 пульсов выдавать одно (случайно) window.BasicVerbal из массива - набирать модель понимания.
(Ранее объект задавался дважды — второе определение перезаписывало первое; оставлен один набор.)
*/
window.StimulMotivarion_GeneticReflexes = {
  1:  [3], //ест
  2:  [4], //пьет
  3:  [23],
  4:  [30],
  5:  [],
  6:  [],
  7:  [2],
  8:  [1],
  9:  [27],
  10: [7],
  11: [25],
  12: [],
  13: [],
  14: [],
  15: [2],
  16: [27],
  17: [],
  18: [28],
  19: [12],
  20: [20,100],
}

/* Список воздействий ID стимулов StimulPositiv на ID Базовых генетических действий (window.BasicActions)
При ID действия == 100 - раз в 5 пульсов выдавать одно (случайно) window.BasicVerbal из массива - набирать модель понимания.
*/
window.StimulPositiv_GeneticReflexes = {
  1:  [27],
  2:  [6,100],
  3:  [100],
  4:  [20],
  5:  [20],
  6:  [20],
  7:  [3],
  8:  [20],
  9:  [27],
  10: [20,100],
  11: [20],
  12: [20],
  13: [27],
  14: [3],
  15: [5],
  16: [23],
  17: [20, 27],
  18: [],
  19: [5],
  20: [27],
}

/* Список воздействий ID стимулов StimulNegative на ID Базовых генетических действий (window.BasicActions)

*/
window.StimulNegative_GeneticReflexes = {
  1:  [8],
  2:  [20],
  3:  [20],
  4:  [20],
  5:  [8],
  6:  [20],
  7:  [13],
  8:  [15],
  9:  [20],
  10: [8,15],
  11: [20],
  12: [20],
  13: [19],
  14: [20],
  15: [8],
  16: [20],
  17: [13],
  18: [13],
  19: [14],
  20: [8,20],
}

/* Удержание совершения действий до полного восстановления виталов.
actionID совершаемого действия, vitalID - воздействие на витал, shift - на сколько меньшается значение витала с каждым пульсом.
Если действие началось, оно удерживается, пока vitalID не уменьшит значение до 0 
или пока активен вызвавшее это действие window.StimulMotivarion.
*/
window.ActionProlongator = [
  { actionID: 3, vitalID: 6, shift: 5 },
  { actionID: 4, vitalID: 3, shift: 10 }
];

