Числа боя (ревью 27.10.2026, п. 2.5): - BattleRules (модуль Боя, без Unity) — все числа в одном месте, с версией - таблица BattleConfig (Assets/Resources/BattleConfig.asset) — меняется в Inspector, App/GameModules переводит её в BattleRules - сила воинов по-прежнему из GameData.Troops Случайность (план 27.10.2026): - каждой стороне от −5% до +5% (шаг 0,1%), из номера боя BattleRequest.Seed (SplitMix64) - тот же номер с теми же войсками — всегда тот же итог; поход получает battleSeed при выступлении и хранит его Прогноз: - IBattleSystem.Forecast: «преимущество / исход неясен / высокий риск поражения», диапазоны силы и потерь - окно атаки показывает прогноз риска вместо точного итога; окно итога боя — силы и удачу сторон Итог боя (ревью, п. 2.3): - для обеих сторон по типам: до боя, выжившие, погибшие, раненые (пока нули — доля не утверждена) - номер боя, версия правил, удача сторон Тесты: случайность воспроизводима и в пределах ±5%; прогноз не противоречит 300 боям с разными номерами; итог сходится по типам у обеих сторон; правила из таблицы; тот же поход — тот же бой. Все 37 тестов ModuleTests прогнаны вне Unity — проходят. Открыто для команды (Battle.md): показывать ли шанс победы в процентах; порядок бонусов и случайности. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
12 lines
243 B
Plaintext
12 lines
243 B
Plaintext
fileFormatVersion: 2
|
|
guid: 6a836fd9caa34954b185ca38b4d89afb
|
|
MonoImporter:
|
|
externalObjects: {}
|
|
serializedVersion: 2
|
|
defaultReferences: []
|
|
executionOrder: 0
|
|
icon: {instanceID: 0}
|
|
userData:
|
|
assetBundleName:
|
|
assetBundleVariant:
|