Exemple #1
0
 public static function check_pwd($need, $gotten)
 {
     foreach (tools::$PWD_TYPES as $type) {
         if (tools::get_pwd($need, $type) == $gotten) {
             return $type;
         }
     }
     return false;
 }
<?php

include_once 'config.php';
header("Content-type: text/html; charset=utf-8");
$HIT_POINTS_FOR_EXPERIMENT = 6;
$MAX_SCENES_IN_EXPERIMENT = 6;
$EXPERIMENTATORS = array('mark willemsen', 'h. aaron');
$psycho_colors = array('slyboots' => 'red', 'addict' => 'red', 'philistine' => 'red', 'smart' => 'blue', 'windy' => 'blue', 'individual' => 'blue', 'lower' => 'green', 'agressor' => 'green', 'politician' => 'green');
// Конфиги эксперимента
$scene_colors = array('blue', 'green', 'red');
$scene_epochs = array('antique', 'modern', 'future');
$drug_relations = array('antique' => 'biology', 'modern' => 'tech', 'future' => 'psy');
$penalties = array('blue' => array('antique' => 'Ты осознал, что люди — идиоты. Теперь ты отказываешься работать с другими и делиться своими планами. Идиотов можно использовать, но никто не должен знать о твоих планах.', 'modern' => 'Ты осознал, что чужая помощь или советы всегда оборачиваются проблемами в будущем. Теперь ты отказываешься принимать чью-то помощь, подсказки и советы. Только сам.', 'future' => 'Ты осознал, как опасно рисковать. Теперь, если у тебя есть сомнения в успехе — ты никогда не пойдешь на риск. Ты начинаешь перестраховываться везде и жертовать возможностями, чтобы избежать риска.'), 'green' => array('antique' => 'Ты четко усвоил "бей первым!" Теперь, если ты чувствуешь за кем-то недоговорку или какое-то западло — ты не ждешь пассивно, а сразу решаешь с ним проблему, пока не успокоишься или не покончишь с опасностью.', 'modern' => 'Ты четко усвоил "решай быстро!". Теперь ты никогда не уклоняешься от вызова, и в любой критичной ситуации делаешь то, что первым пришло тебе в голову.', 'future' => 'Ты четко усвоил "всё или ничего!". Теперь ты из двух зол выбираешь оба, пытаешься добиться всего и сразу. Если нужно выбрать что-то одно — выбираешь в пользу более сложного и рискованного.'), 'red' => array('antique' => 'Ты почувстовал: люди — предатели и трусы. Теперь ты презираешь любого, кто показал слабость, привязанность или сделал ошибку. Ты стараешься не иметь с ними общих дел и не поворачиваться спиной.', 'modern' => 'Ты почувствовал: на войне все средства хороши. Если можно победить бесчестно, подло, но эффективно — ты выберешь такой вариант не раздумывая.', 'future' => 'Ты почувствовал: люди — просто грязные, зависимые животные. Ты звереешь, когда при тебе пьют, курят или стреляют из-за своих низменных зависимостей, и готов душить их своими руками.'));
$bonuses = array('green' => array('tech' => 'Теперь твоя пушка всегда .50го калибра', 'biology' => 'Ты можешь игнорировать ДВА попадания из любого оружия, просто скажи, что в тебя попали, но это царапина, а не рана', 'psy' => "Ты получаешь иммунитет к Пропаганде"), 'blue' => array('tech' => 'В любой момент по своей воле можешь нажать на Экстренное Пробуждение в сеансе Гипноза, прервав сеанс и игнорируя все его эффекты', 'biology' => 'Получая марку Идей, ты восстанавливаешь свой запас Синих Камней до максимума', 'psy' => "Ты получаешь способности гипнотерапевта и массовый боевой гипноз, можешь гипнотизировать два человека"), 'red' => array('tech' => 'На тебя перестали действовать Удары и Захваты', 'biology' => 'Любую обычную проверку на 2 Камнях можешь проходить, вытаскивая 3, и возвращая 1 "лишний" Камень обратно в мешок', 'psy' => 'Ты можешь делать эффекты проверок "Очнись!" и "НЕ болей!", не проходя сами Проверки, а просто тратя ДВА Красных или Желтый Камень из мешка.'));
$new_bonuses = array('tech' => array('addict' => 'На тебя перестали действовать рукопашные Захваты и временно появилась способность Захват', 'philistine' => 'На тебя перестали действовать рукопашные Удары и временно появилась способность Удар, а если она и так была — число твоих Блоков на это время увеличена на 1', 'slyboots' => 'Во время игры в модель Науки ты можешь игнорировать любые Последствия, сваливающиеся НА ТЕБЯ из карточек Риска', 'smart' => 'Ты получаешь временный иммунитет к Боевому Гипнозу', 'windy' => 'Во время игры в модель Науки, ты можешь взять ПЯТЬ карточек Риска, прочитать их про себя и выдать Герою первые две, убрав остальные обратно в конверт', 'individual' => 'В любой момент по своей воле можешь нажать на Экстренное Пробуждение в сеансе Гипноза, прервав сеанс и игнорируя ВСЕ эффекты ТЕКУЩЕЙ страницы', 'agressor' => 'Теперь твоя пушка всегда .50го калибра', 'lower' => 'Чтобы тебя ранить при стрельбе, требуется произвести в тебя ШЕСТЬ выстрелов подряд БЕЗ осечек', 'politician' => 'Во время перестрелки, игнорируй ДВА попадания по тебе из ЛЮБОГО калибра (скажи, что пуля отрикошетила от твоей брони)'), 'biology' => array('addict' => 'Когда ты пьешь Виски в компании, то восстанавливаешь не 1 Красный Камень, а по ТРИ Красных Камня за порцию', 'philistine' => 'В любой Проверке, ты можешь вытаскивать из мешка НА ОДИН Камень больше, чем положено. Ты должен решить сделать это ДО того, как достанешь первый Камень', 'slyboots' => 'После каждой Проверки ты можешь вернуть 1 из вытащенных Красных, Синих или Зеленых Камней обратно в мешок (не работает для Желтых)', 'smart' => 'Получая марку Идей, ты восстанавливаешь свой запас Синих Камней до максимума', 'windy' => 'Ты получаешь не 1, а ТРИ Синих Камня за выкуренную Сигару, даже если выкурил её в одиночку', 'individual' => 'Выполняя ЛЮБУЮ обычную Проверку, ты можешь решить пройти её ДВАЖДЫ — если хоть один раз успешен, то и Проверка успешна. Ты должен принять это решение ДО того, как достанешь первый Камень', 'agressor' => 'Твое число Уклонений временно увеличивается НА ТРИ штуки', 'lower' => 'Ты получаешь Зеленый Камень всякий раз, когда с тобой делятся патронами из свежей пачки. Ты получаешь ДВА Зеленых Камня, если сам делишь патроны из свежей пачки', 'politician' => 'Ты можешь пройти Проверку "Отменить Ранение" в ЛЮБОЙ момент, а не только в первые 15 секунд после его получения'), 'psy' => array('addict' => 'Ты полностью восстаналиваешь свои Красные Камни и получаешь ещё 1 Синий, если в последней сцене Сеанса Гипноза упоминался хоть один корабль', 'philistine' => 'Ты можешь делать эффекты Проверки "Очнись!", не проходя саму Проверку, а просто тратя ДВА Красных или Желтый Камень из мешка', 'slyboots' => 'Ты можешь врать гипнотизеру на Гипнокарте, в том числе говорить, что у тебя нет определенной локации карты, и не переходить туда по его требованию', 'smart' => 'При провале любой Проверки ты возвращаешь все вытащенные Камни обратно в мешок (но помни, что эту Проверку НЕЛЬЗЯ делать повторно ближайшие 15 минут!)', 'windy' => "Ты получаешь мощнейшие способности гипнотерапевта и Боевой Гипноз. На время действия препарата для входа в гипноз используй вместо своего обычного пароля пароль <b>" . tools::get_pwd($_SESSION['players'][strtolower($_SESSION['doctor'])]['password'], 'powerful') . "</b>", 'individual' => 'Во время сеансов Гипноза ты можешь всегда делать выбор сам, игнорируя команды гипнотизера, но явно сообщив ему о своем решении и мощи твоего разума', 'agressor' => 'Если ты успешно прошел Проверку "Сопротивление Гипнозу", ты можешь немедленно однократно запустить Боевой Гипноз против гипнотизера, даже если у тебя нет такой способности', 'lower' => "Ты получаешь иммунитет к Пропаганде", 'politician' => 'Ты можешь ТРИЖДЫ провести или пройти гипносеансы, не оставляя следов в логах. Для этого при логине используй вместо своего обычного пароля пароль <b>' . tools::get_pwd($_SESSION['players'][strtolower($_SESSION['doctor'])]['password'], 'sneaky') . "</b>"));
if (isset($_REQUEST['drop'])) {
    if (!$_REQUEST['fields']) {
        $fields = array_keys($_SESSION);
    } else {
        $fields = $_REQUEST['fields'];
    }
    foreach ($fields as $key) {
        unset($_SESSION[$key]);
    }
    //    Обновляем порядок историй, если вдруг кто пойдет в эксперимент, определяем бонус
    $scenes = array();
    foreach ($scene_colors as $c) {
        foreach ($scene_epochs as $e) {
            $scenes[] = $c . "_" . $e;
        }
    }