fix(dg): stop featturn and skillturn from failing silently - #3937
Merged
Merged
Conversation
mfeatturn на того, у кого способность уже есть, выходил молча: ни игроку, ни в лог. Со стороны это выглядело неработающей командой -- разбираться пришлось чтением кода, потому что и в сислоге было пусто. Рядом жил второй такой же тихий случай: set на способность, не положенную классу персонажа. Для билдера он неотличим от первого -- команда написана, эффекта нет. Теперь оба случая говорят игроку, что произошло, и пишут строку в SYSLOG с именем персонажа, названием способности и номером триггера. skillturn страдал тем же -- поправлен симметрично. Closes #3936 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Те же тихие выходы, что у способностей, нашлись и в заклинаниях: - spellturn на уже известное заклинание -- молча, как featturn; - spellturn и spellturntemp на заклинание, недоступное по классу, уровню или реморту: игроку ничего, а в лог уходило невнятное "Error trying to add"; - spelladd, когда число заученных не изменилось (ноль в аргументе или упёрлись в предел): у умений про это говорят "не изменилось", у заклинаний молчали; - spellitem, когда состояние уже такое, какое просят. Теперь всюду сообщение игроку и понятная строка в SYSLOG с именем, названием заклинания и номером триггера. У spellitem только лог: там команда даёт слишком разный текст под каждый вид умения, и сообщение "ничего не изменилось" игроку скорее мешало бы. Co-Authored-By: Claude Opus 5 (1M context) <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.
Closes #3936.
Что было
на персонажа, у которого способность уже есть, — тишина. Ни сообщения игроку, ни строки в SYSLOG, эффекта тоже нет. Со стороны неотличимо от неработающей команды: по сислогу не понять, пришлось читать код.
В
trg_featturn(dg_db_scripts.cpp:395) это выглядело так:Рядом жил второй такой же тихий выход:
setна способность, не положенную классу персонажа (проверкаIsAvailable). Для билдера оба случая выглядят одинаково.trg_skillturnстрадал тем же самым.Что стало
Оба случая теперь сообщают игроку и пишут в SYSLOG.
Игроку:
и то же самое для умений.
В SYSLOG:
Успешные выдача и снятие остались как были.
Проверка
Сборка чистая, 723 теста проходят. В игре не гонял: нужен триггер с
mfeatturnна персонажа, у которого способность уже есть.🤖 Generated with Claude Code