Repository navigation
fix(poison): datura's lost skill-reduction slot and victim-based duration - #4096
Merged
Merged
Conversation
Ветка дурмана складывала два эффекта в один элемент массива: вторая запись af[0].location затирала первую, и EApply::kDaturaPoison (то есть GET_SKILL_REDUCE) не накладывался вовсе. Флаг kSkillReduce на жертву при этом вешался -- признак "умения снижены" в аффектах висел, а снижения не было. Разложил на четыре элемента, как у белены: скиллы, маг. дамаг, каст, мем-рег. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
У аконита, скополии и белены длительность умножается на 30, если жертва -- игрок. У дурмана в этой проверке стоял отравитель: дурман от игрока висел на мобе 210 вместо 7, а дурман от моба на игроке -- 7 вместо 210. Правка возвращает дурман к общему правилу, но заметно режет его длительность по мобам -- это изменение баланса, а не только починка. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Закрывает часть #4095 (вторую половину issue — ту, где про сообщения, править нечего: там всё работает как задумано).
1. Дурман не резал умения
В его ветке
af[0].locationприсваивался дважды подряд, и вторая запись затирала первую:EApply::kDaturaPoison— этоGET_SKILL_REDUCE(ch) += mod, то есть сам размер снижения умений. Слот терялся, а флагkSkillReduceна жертву всё равно вешался: признак «умения снижены» в аффектах висел, а вskills.cppвычиталосьskill * GET_SKILL_REDUCE / 100— то есть ноль.Массив расширен до четырёх элементов, эффекты разложены по разным: скиллы, маг. дамаг, каст, мем-рег. Это ровно та же раскладка, что у белены (скиллы и физ. дамаг там в разных элементах). Флаги распределены как у белены:
kSkillReduceна слоте умений,kDaturaPoisonна маг. дамаге и мем-реге,kNoBattleSwitchна касте — жертва получает тот же набор, что и раньше.Комментарий над веткой («-каст/мем-рег/дамаг-заклов/скилы») обещал четыре эффекта, а массив был на три. В версии 2021 года отдельного слота маг. дамага не было вовсе —
APPLY_DATURA_POISONзакрывал и умения, и дамаг заклов; слот добавили позже, переиспользовавaf[0].2. Длительность считалась от отравителя
У аконита, скополии и белены множитель навешивается на жертву-игрока:
у дурмана в этой проверке стоял
ch. Из-за этого дурман от игрока висел на мобе 210 вместо 7, а дурман от моба на игроке — 7 вместо 210.Это изменение баланса, а не только починка. Длительность дурмана по мобам падает в 30 раз. Правка возвращает его к общему правилу остальных трёх ядов, но если по мобам так жить не хочется — второй коммит можно не брать, первый от него не зависит.
Проверка
Сборка
release+build_tests=trueчистая, без предупреждений; юнит-тесты 796 прошли, 3 отключены.🤖 Generated with Claude Code