-
Notifications
You must be signed in to change notification settings - Fork 210
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adrenaline production rework #10771
Adrenaline production rework #10771
Conversation
M.add_chemical_effect(CE_PAINKILLER, min(10*volume, 20)) | ||
M.add_chemical_effect(CE_PULSE, 2) | ||
if(M.chem_doses[type] > 10) | ||
var/max_painkiller = min(60, volume*20) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Пиковое значение можно разнообразить.
Например var/max_painkiller = min(70, volume*3 + 30)
При двух-трёх ударах кулаком (1ед адреналина), пик будет 33
При ударе током (4ед адреналина), пик будет 42
При расстреле (~9?) - пик 57.
Вероятно, так правильнее.
Иссуй был одобрен геймдизайнерами. Поддержали: goliaths_left_hand, zetroxio |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Игроки потестили никаких жалоб мы не слышали
Немного о старом адреналине:
Адреналин выбрасывался в кровь, только если космонавту был нанесён вред одномоментно больше 15 единиц на отдельно взятую конечность.
Из-за этого адреналин не вырабатывается во время событий:
Таким образом можно избить космонавта до полусмерти, а адреналин так и не выбросится в кровь.
Более того, текущий адреналин выдаёт незначительное обезболивание в первые 10 секунд.
M.chem_doses = 0.1 < 0.2 -- CE_PAINKILLER = 80 //1 секунда
M.chem_doses = 0.2 < 1 -- CE_PAINKILLER = 20 //2 секунда
M.chem_doses = 0.3 < 1 -- CE_PAINKILLER = 20
M.chem_doses = 0.4 < 1 -- CE_PAINKILLER = 20
M.chem_doses = 0.5 < 1 -- CE_PAINKILLER = 20
M.chem_doses = 0.6 < 1 -- CE_PAINKILLER = 20
M.chem_doses = 0.7 < 1 -- CE_PAINKILLER = 20
M.chem_doses = 0.8 < 1 -- CE_PAINKILLER = 20
M.chem_doses = 0.9 < 1 -- CE_PAINKILLER = 20 //9 секунда
После десяти секунд адреналин перестаёт как либо действовать на организм, независимо от его объёма в крови.
Потому что не прописано никакого поведения вещества, после усвоения 0.9 условных единиц препарата.
Единственная возможность получить от адреналина снова обезбол - вывести его из крови (или полностью растворить в себе) и влить ещё раз, для перезапуска отсчёта 9 секунд.
На замену этому предлагаю немного переделанную систему адреналина, которая выдаёт адреналин соразмерно получаемому урону в сумме на всё тело, а не на каждую конечность.
Также, немного переделан пересчёт величины выдаваемого CE_PAINKILLER, а также продлён срок его службы.
Пересчёт зависит от объёма адреналина в крови и времени на протяжении которого он действует.
обезбол/время(сек)
На графике представлен крайний случай, при котором организм получил максимальный урон и, как следствие, максимальную дозу адреналина.
Далее немного о стандартных ситуациях:
Первые 6 секунд идёт быстрый подъём, который зависит от величины адреналина.
Пик обезболивания = 60, он находится на 6 секунде.
Далее идёт плавный спад, вплоть до 100 секунд, после чего влияние адреналина сходит на нет (не может же он всё время с одной интенсивностью действовать)
my_pain.xlsx