Releases: evgfilim1/mafia-companion
Releases · evgfilim1/mafia-companion
v0.3.0-rc.2
Добавлено
- Поддержка никнеймов игроков с возможностью импорта и экспорта.
- Возможность развернуть список игроков. В этом режиме видны никнеймы игроков, если они установлены.
- В ландшафтном режиме список игроков всегда развёрнут.
- Визуализация свободных мест на экране случайно рассадки.
- Статистика игроков:
- количество побед и общее количество игр за каждую роль;
- фолов за все игры;
- дисквалификаций;
- ППК;
- угаданных мафий в ЛХ;
- найденных мафий за шерифа;
- найденных шерифов за дона;
- смертей в первую ночь.
- Фаза "свободной посадки" (правило ФИИМ 4.2.4 в редакции от 01.02.2024).
- Состояние "Удалён" при дисквалификации на экране информации об игроке.
- Подсветка членов победившей команды при окончании игры.
- Отображение списка игроков перед повторными речами, между которыми голоса поделились поровну.
- Режим раздачи фолов.
Изменено
- Игра теперь не начинается автоматически.
- Шрифт роли теперь больше, чем номер игрока или никнейм на экране раздачи ролей.
- Кнопки игроков на главном экране теперь расширяемые.
- Улучшен алгоритм подбора ролей для игроков.
Исправлено
- Дисквалификация любого игрока приводит к неверному просчёту результата игры.
- При дисквалификации теперь не ставится автоматически 4 фола.
- При ППК теперь не ставится дисквалификация всем игрокам команды.
- Таймер теперь не сбрасывается при повороте экрана.
- Загрузка журнала, сохранённого в версии 0.3.0-rc.1, иногда не работала.
- Кнопка действий в меню игрока была активна, когда игра ещё не началась или уже закончилась,
но ни один из подпунктов не работал. Теперь кнопка в таком случае неактивна.
Устарело
- Загрузка журнала игры, созданного в версии 0.3.0-rc.0 и раньше, скоро перестанет поддерживаться.
Удалено
- Кнопки "Случайная рассадка" и "Раздача ролей" в боковом меню.
Commits
- 9347ed6: Bump version to 0.3.0-rc.2 (evgfilim1)
- cf22338: Fix game starts even when cancelling "show roles" dialog (evgfilim1)
- faa27f6: Fix code formatting (evgfilim1)
- 375d8bc: Add warn mode (evgfilim1)
- bbcd25d: Make "actions" button inactive if the game is not active (evgfilim1)
- 4b39b10: Refactor player buttons (evgfilim1)
- 2879b4c: Fix notes not opening (evgfilim1)
- 7454fd9: Add
GameStage.preExcuse
(evgfilim1) - dbb1d18: Fix consequences of game log v1 was saved as v0 (evgfilim1)
- 2922ef2: Refactor states to make game log more lightweight (evgfilim1)
- e021dfc: Game log screen improvements & fixes (evgfilim1)
- 92fa8be: Don't send dev build to Telegram (evgfilim1)
- 8d2c8ca: Fix yaml syntax error (evgfilim1)
- 6281c0e: Add Telegram notifications steps (evgfilim1)
- 133b6e2: Update flutter to 3.22 (evgfilim1)
- 33d2f54: Update CHANGELOG.md (evgfilim1)
- 0abcad6: Reformat code (evgfilim1)
- 8a5d8f4: Highlight winner team (evgfilim1)
- 3a56c4a: Fix bugs with game log display and reverting state (evgfilim1)
- 2ba127f: Remove
StateChangedGameLogItem.oldState
(evgfilim1) - 7dc7427: Bump GitHub Actions dependencies versions (evgfilim1)
- ae48b80: Make tapping outside some dialog windows cancel the current action (evgfilim1)
- e0d0c74: Refactor lib/screens/main.dart (evgfilim1)
- 27bf86d: Update README.md (evgfilim1)
- 4068905: Use flavors instead of buildTypes to build dev version (evgfilim1)
- a0da7a6: Upgrade dependencies (evgfilim1)
- d48560d: Update CHANGELOG.md (evgfilim1)
- 6b30720: Fix code formatting (evgfilim1)
- 7d28929: Allow editing players and their roles after the game has started (evgfilim1)
- 7946809: Confirm exiting choose roles screen (evgfilim1)
- b83fc24: Fix
Game.isGameOver
(evgfilim1) - 9c18b9b: Other team win stat tracking (evgfilim1)
- c45e296: Add
PlayerStats.totalWasKilledFirstNight
(evgfilim1) - 7de417a: Bug fixes & UI improvements (evgfilim1)
- c7e1fe6: Workaround color scheme changes in Flutter 3.21 (evgfilim1)
- f63ca05: Fix timer resets when screen is rotated (evgfilim1)
- 6e2b7a8: Fix code formatting, update CHANGELOG.md (evgfilim1)
- 446eb26: Remove roles seed, reimplement choose roles algorithm (evgfilim1)
- 783ce31: Add "Remember choice" / "Don't show again" for dialogs (evgfilim1)
- 7c5d2b5: Add
useResult
annotation to allcopyWith
methods (evgfilim1) - 1d76582: Add date and time to default players file name (evgfilim1)
- 9336f7d: Show player kicked state on long press (evgfilim1)
- 1d4358c: Add
Player.isKicked
for more precise "warns" stat tracking (evgfilim1) - 076f346: Fix code formatting (evgfilim1)
- 7d14db3: Add total found mafia and sheriff count to player stats (evgfilim1)
- 74522ec: Update CHANGELOG.md (evgfilim1)
- e131d98: Fix stats not saving when no "best turn" happened in the game (evgfilim1)
- b1384e8: Show nickname duplication error on edit (evgfilim1)
- 2badbae: Add night rest game stage (rule 4.2.4) (evgfilim1)
- 3fece04: Add player stats (evgfilim1)
- 8adffa6: Add player real name field (evgfilim1)
- 377cb22: Prepare for game rules customization (evgfilim1)
- 972de10: Use
Enum.values.byName
instead of.firstWhere
or.singleWhere
(evgfilim1) - f1f168a: Clean up code in
controller.dart
(evgfilim1) - b5d6849: Fix game log saving as v0 instead of v1 (evgfilim1)
- a661905: Update CHANGELOG.md (evgfilim1)
- e1bb56f: Fix code formatting (evgfilim1)
- 475098b: Generalize versioned models, make db players versioned (evgfilim1)
- 768fc93: Add player search (evgfilim1)
- eca9423: Fix error not showing when trying to go to screen (evgfilim1)
- 1b07edb: Add loading and saving player list, fix json encoding (evgfilim1)
- 6fff1dd: Extract file load/save to utils (evgfilim1)
- b54bd6a: Split json.dart (evgfilim1)
- 8bafc0c: Fix can't open game log if the game is not running (evgfilim1)
- a05ac29: Deprecate game log v0 (evgfilim1)
- 9fd3e97: Add
RoleTeam
enum (evgfilim1) - 94b1c03: Fix win condition after player kick (evgfilim1)
- b4ec564: Add wakatime badge (evgfilim1)
- 3f3f941: Fix code formatting (evgfilim1)
- d17dab1: Refactor menu button (evgfilim1)
- 119eca4: Visualize free & occupied seats on seat randomizer screen (evgfilim1)
- 7430e31: Make player buttons on main screen expandable (evgfilim1)
- 4049152: Add player nicknames support (evgfilim1)
v0.3.0-rc.1
Добавлено
- Корректная поддержка фолов и дисквалификаций.
- Другая иконка и название приложения для отладочных версий.
- Возможность выбрать свой основной цвет приложения.
- Возможность изменить длительность вибрации или отключить её. Полезно для некоторых устройств.
- При повторном нажатии на кнопку сброса на экране выбора ролей, все отметки снимаются.
Изменено
- Игровой день теперь начинается с фазы "ночи", чтобы соответствовать правилам ФИИМ.
- Режим таймера по умолчанию теперь "Строгий".
- Версия приложения теперь берётся из git.
- Настройки разделены на категории.
Исправлено
- При загрузке журнала игры появлялись дублирующиеся записи.
- При ошибке во время загрузки журнала игры не было уведомления.
- Падение приложения при попытке сохранить и сразу загрузить журнал игры.
Commits
- 8e8a87e: Bump version to v0.3.0-rc.1 + update CHANGELOG.md (evgfilim1)
- 7c61b27: Fix for game rule 7.9 (evgfilim1)
- de91eea: Fix bug when game is over after last words (evgfilim1)
- 8b0cebc: Fix formatting (evgfilim1)
- 1324756: Fix bug with game finish (evgfilim1)
- 77247cc: Add 3 fouls handling according to game rules (evgfilim1)
- 893d922: Improve "choose roles" screen (evgfilim1)
- 797d28d: Fixes for player kicks according to the game rules 7.1 and 7.2 (evgfilim1)
- 4fd35f1: Update CHANGELOG.md and README.md (evgfilim1)
- 072170e: Upgrade deps (evgfilim1)
- cf690fb: Properly implement fouls and kicks (evgfilim1)
- e69992c: Show game log loading error on file and json decode errors also (evgfilim1)
- 2c0a7c4: Rename
GameStage.dropTableVoting
to.knockoutVoting
(evgfilim1) - 5295917: Fix formatting (evgfilim1)
- 62918dc: Upgrade deps (evgfilim1)
- dc2b8ad: Disallow choosing system color palette if not supported by device (evgfilim1)
- 925c8a9: Nicer icons in appearance settings (evgfilim1)
- 43240f2: Move debug menu to settings and enable it only in debug mode (evgfilim1)
- 0a68638: Fix loaded game log has duplicated "drop table" elements (evgfilim1)
- d3118a0: Fix unused vibration duration setting (evgfilim1)
- 9f3c408: Fix code formatting (evgfilim1)
- 4287e06: Detect overridden build name and don't append git tag (evgfilim1)
- 525c15b: Add vibration duration setting (evgfilim1)
- ee2221e: Add custom theme seed color support (evgfilim1)
- 98eb963: Split settings screen into categories (evgfilim1)
- 3c83fe9: Change debug app name (evgfilim1)
- 6b34db9: Migrate to declarative flutter plugin (evgfilim1)
- 61cfa05: Add git info for non-tagged builds, if available (evgfilim1)
- b5cca74: Use different package name, app name and icon for debug builds (evgfilim1)
- 8bb4abe: Update pubspec.lock (evgfilim1)
- 84e7f5c: Change default timer type to
TimerType.strict
(evgfilim1) - 72c4c58: Code style fixes (evgfilim1)
- 6785279: Don't check updates in debug mode (evgfilim1)
- 51abcb2: Increment game day on nights instead of days (evgfilim1)
v0.3.0-rc.0
Добавлено
- Автоматическая проверка, скачивание и установка обновлений (только для Android).
- Кнопка в настройках для отключения автоматического обновления и для их проверки вручную
(только для Android). - Уведомление о новой версии приложения в боковом меню (только для Android).
- Сокращённый вариант таймера. Полезен, если на партию осталось мало времени.
- Отслеживание "Лучшего хода" (правила 4.5.9, 7.10, 8.3).
- Возможность выбрать роли, которые могут быть выданы для каждого игрока.
- Кнопка для формирования отчёта об ошибке.
- Возможность сохранить журнал игры в файл и загрузить его.
Изменено
- Для отмены выдачи предупреждения теперь нужно вернуть состояние игры на один ход назад.
- Иконка приложения изменена со стандартной на более подходящую. Идеи для улучшения иконки
приветствуются. - Теперь apk-файлы подписаны личным цифровым сертификатом. Установка этой версии может потребовать
удаления старой.
Исправлено
- Если игра неактивна, фолы не выдаются.
- Внутренние исправления и улучшения в коде. Могут появиться неожиданные баги.
Удалено
- Возможность убрать фол, убить или воскресить игрока вручную. Это могло сломать игру или привести
её в неожиданное состояние, и по факту требовалось только при отладке или в специфичных случаях.
Commits
- 7dcc562: Run build on changelog modifications (evgfilim1)
- 74d1b8a: Bump version to v0.3.0-rc.0 (evgfilim1)
- a8a31b1: Download file on web instead of copying bug report contents (evgfilim1)
- c7851bf: Extract
findSeed
method to its own file (evgfilim1) - aa5da48: Implement game log loading (evgfilim1)
- 1c07cdf: Add json parsing, refactor json creating (evgfilim1)
- 67b3586: Add simple logging (evgfilim1)
- 3607419: Fix vibration on web (evgfilim1)
- 47cc0f9: Allow saving game log (evgfilim1)
- b012e95: Fix formatting (evgfilim1)
- 328a86b: Update dependencies (evgfilim1)
- 27b6e25: Update CHANGELOG.md and README.md (evgfilim1)
- d1d7fe5: Remove updates checking on web (evgfilim1)
- 0647b8e: Add checksum validation (evgfilim1)
- 3524a36: Reformat files (evgfilim1)
- c5c428c: Implement OTA updates myself (evgfilim1)
- e223df7: Update
ota_update
to fix R8 issue (evgfilim1) - 47a94b5: Add forgotten
filepaths.xml
(evgfilim1) - 146600b: Implement OTA updates (evgfilim1)
- 11eab1c: Fix "Keystore file not found for signing config 'release'" error (evgfilim1)
- ed32762: Sign released APKs (evgfilim1)
- 520cd0a: Update CHANGELOG.md (evgfilim1)
- 3eaeb7d: Add adaptive themed icon support (evgfilim1)
- 7765b13: Add app icon (evgfilim1)
- 3ac421c: Refactor debug menu (evgfilim1)
- 00f8804: Throw custom
ContextNotMountedError
whencontext.mounted
fails (evgfilim1) - e51ecc1: Remove unnecessary
mafiaTeam
field inGameStateNightKill
(evgfilim1) - fd941d7: Allow choosing possible roles for players (evgfilim1)
- 149b17b: Fix reverted condition for closing the app (evgfilim1)
- 1838964: Return void from
showSnackBar
(evgfilim1) - d26060e: Update CHANGELOG.md (evgfilim1)
- 81ee55d: Remove "best turn" toggle, leave it on by default (evgfilim1)
- 4be9417: Rework game logic code a lot (evgfilim1)
- c0d82ba: Add helper to check whether the game is active (evgfilim1)
- ba5fea4: Raise error when current version > latest and app not in debug mode (evgfilim1)
- 3a21897: Fix checking for updates (evgfilim1)
- 98b9459: Remove dead code (evgfilim1)
- c0e4557: Add default leading widget for
*ListTile
(evgfilim1) - f359d47: Remove player actions menu in non-debug builds (evgfilim1)
- c4fa04e: Code enhancements & reformat (evgfilim1)
- 7088602: Allow disabling "Best turn" tracking (evgfilim1)
- 05a364f: Add "Best turn" tracking (rules 4.5.9, 7.10, 8.3) (evgfilim1)
- 5cafc65: Add
TimerType.shortened
(evgfilim1) - 104f152: Upgrade dependencies, change url launch mode (evgfilim1)
- ae26b0a: Upgrade android project to AGP 8.1.2 + Gradle 8.4 (evgfilim1)
- f2d1af3: Fix missing internet permission on release builds (evgfilim1)
- 6e9d2bd: Reformat files (evgfilim1)
- 46afbcb: Add menu notification about updates (evgfilim1)
- 8ebccc1: Fix web build + code enhancements (evgfilim1)
- f22200d: Fetch all intermediate release notes (evgfilim1)
- 79452d0: Fix CHANGELOG.md format (evgfilim1)
- 4dbc288: Implement opening links in release notes (evgfilim1)
- d272bdc: Add setting to control automatic checking for updates (evgfilim1)
- d847372: Add auto check for updates on startup (evgfilim1)
v0.2.0-rc.1
Добавлено
- Долгое нажатие на "+" или "-" при голосовании увеличит количество голосов до максимума или
до минимума соответственно. - Реализованы правила 4.4.12.2 и 7.8.
- Возможность посмотреть зерно генерации пользователей. Если приложение собрано в режиме отладки,
то доступна возможность редактирования.
Изменено
- Кнопки быстрых действий (кроме перезапуска) перенесены в отдельное меню.
Исправлено
- "Предупреждение" переименовано в "фол", чтобы соответствовать терминологии правил ФИИМ.
- Исправлен редкий баг, когда игра не давала всем игрокам возможность говорить в фазу дня.
Commits
- c255dd6: Bump version to v0.2.0-rc.1 (evgfilim1)
- 27add2a: Allow to view and change player generation seed (evgfilim1)
- c8272d7: Move most of the main screen action buttons to separate menu (evgfilim1)
- 3fd443f: Fix bug when not all players were able to talk during speaking stage (evgfilim1)
- 12d1087: Don't use cache on
lint
stage (evgfilim1) - 3c06a7d: Add required "Lint code" stage (evgfilim1)
- 71abda8: Upgrade GitHub Actions dependencies, change JDK zulu -> temurin (evgfilim1)
- 17f567e: Fix dart analysis issues (evgfilim1)
- 3994af3: Migrate to predictive back (Android 14 feature) (evgfilim1)
- 8e04cc0: Reformat code (evgfilim1)
- 7ec83a7: Bump dependencies (evgfilim1)
- afc5eb9: Rename warn -> foul according to rules (evgfilim1)
- d24d66e: Update README.md (evgfilim1)
- cd5cb0a: Implement rule 4.4.12.2 (evgfilim1)
- f30ddad: Implement rule 7.8 (evgfilim1)
- d34a776: Add long tap actions on +/- buttons for
Counter
widget (evgfilim1)
v0.2.0-rc.0
Добавлено
- Журнал игры.
- Поддержка ландшафтной ориентации экрана.
- Журнал изменений приложения в формате Keep a Changelog.
Изменено
- Теперь при выдаче предупреждения запрашивается подтверждение в диалоговом окне, кнопка отмены
на всплывающем уведомлении убрана.
Исправлено
- Мафия не подсвечивалась как активная после смерти.
- Внутренние улучшения в коде.
Commits
- 9d775a7: Fix "can't read release-notes.md: No such file or directory" (evgfilim1)
- 10b5401: Fix "Not a valid object name v0.2.0-rc.0^" (evgfilim1)
- 092469c: Checkout repo during creating a release (evgfilim1)
- 15f674f: Rename job "Draft release" -> "Create release" (evgfilim1)
- 6e328c5: Remove explicit
cache-key
forflutter-action
(evgfilim1) - 1752dcd: Fix warning while running actions (evgfilim1)
- 9cc3ad4: Fix "Invalid workflow file" (evgfilim1)
- 65c1390: Bump version to v0.2.0-rc.0 (evgfilim1)
- 1899b11: Add vote count to game log (evgfilim1)
- 6e92817: Update build.yaml (evgfilim1)
- ffb785d: Update README.md (evgfilim1)
- fa1980a: Add confirmation for player warning (evgfilim1)
- bde7bac: Add CHANGELOG.md (evgfilim1)
- 98aaed6: Implement game log (evgfilim1)
- 91d6cc8: Update pubspec.lock (evgfilim1)
- d095e82: Use player numbers instead of
Player
instances (evgfilim1) - c5d2f07: Make showSnackBar helper return SnackBar close reason (evgfilim1)
- 30df705: Refactor layout & add landscape mode (evgfilim1)
- ce31455: Move
game_controller.dart
toutils/
(evgfilim1) - fd0184b: Move
settings.dart
toutils/
(evgfilim1) - 6e24302: Fix mafia not highlighted as active after death (evgfilim1)
0.2.0-beta.2
Возможности
- Добавлен экран случайной рассадки.
- Тема приложения теперь сочетается с системной темой на поддерживаемых платформах, в частности, Android 12+.
- Добавлены эмодзи "палец вверх/вниз" в текст результата при проверке шерифом.
- Добавлено подтверждение выхода при активной игре.
Исправления
- Исправлен баг с невозможностью отменить выбор игрока.
- Исправлены появления англоязычного текста.
Commits
- 230bb24: Update lint rules & reformat code (evgfilim1)
- cd6fe18: Confirm exit if the game was started (evgfilim1)
- 3c2d429: Fix unable to deselect player (evgfilim1)
- 3ad5642: Make Counter a stateful widget (evgfilim1)
- 07a518d: Add .editorconfig (evgfilim1)
- 3076475: Fix code formatting (evgfilim1)
- 577549f: Use named routes (evgfilim1)
- 26993c2: Extract system color scheme on supported platforms (evgfilim1)
- 01b0a0b: Add seat randomizer (evgfilim1)
- e3bec99: Widgets refactoring (evgfilim1)
- 462fef8: Add thumbs up/down emoji to sheriff check result (evgfilim1)
- 61d39a1: Fix localizations (evgfilim1)
- ad167f0: Bump app version & dependencies (evgfilim1)
0.2.0-beta.1
Возможности
- Добавлена кнопка для очистки заметок.
- Улучшена обработка ситуации "подъёма стола".
Исправления
- Исправлена выдача предупреждений
Известные баги
- Невозможно отменить выбор игрока. Исправлено в 0.2.0-beta.2.
Commits
0.2.0-beta.0
Возможности
- Добавлено отслеживание ничейного состояния игры.
- Добавлена возможность писать заметки во время игры.
Исправления
- Внутренние улучшения в коде управления состояниями.
- Комиссар переименован в Шерифа, именно так написано в правилах.
- Изменено описание при голосовании за "поднятие стола".
- Теперь мёртвый шериф и дон не могут делать проверки.
- Убран переключатель отката состояния в настройках, так как после внутренних улучшений функция работает намного стабильнее.
Известные баги
- Предупреждения выдаются соседнему игроку. Исправлено в 0.2.0-beta.1.
- Невозможно отменить выбор игрока. Исправлено в 0.2.0-beta.2.
Commits.
- db9d0be: Code refactoring (evgfilim1)
- ded83d9: Rename commissar -> sheriff (evgfilim1)
- 79c9e0b: Change dropTableVoting stage description (evgfilim1)
- eff948c: Don't allow night checks by dead players (evgfilim1)
- 5d680a1: Track consequent days without kills to detect game tie (evgfilim1)
- f1b3053: Remove State rollback toggle (evgfilim1)
- 1f75bb2: Add game notes (evgfilim1)
- df82ba0: Update lockfile (evgfilim1)
0.1.0-beta.3
Исправления
- Игра "зависала", когда на голосовании выставлен только один игрок
- Игра не завершалась при победе мафии
Известные баги
- Откат состояния может привести к неожиданным последствиям. Исправлено в 0.2.0-beta.0.
Commits
- f2b8487: Fix several bugs (evgfilim1)
0.1.0-beta.2
Возможности
- Добавлена возможность вручную снять предупреждение, убить или воскресить игрока
Известные баги
- Откат состояния может привести к неожиданным последствиям. Исправлено в 0.2.0-beta.0.
- В редких случаях голосование всё ещё может работать нестабильно. Исправлено в 0.1.0-beta.3.
Commits
- 433464f: Add several player actions besides "warn" (evgfilim1)