test monthly catalog segment coverage

This commit is contained in:
2026-07-26 19:36:23 +00:00
parent 8f1fe73bad
commit b5ec2f2311
3 changed files with 208 additions and 0 deletions
@@ -20,6 +20,40 @@ export type MonthlyEventActionHandler = (
export type MonthlyEventActionRegistry = ReadonlyMap<string, MonthlyEventActionHandler>;
export const MONTHLY_EVENT_ACTION_CATALOG = [
'ProcessIncome',
'NoticeToHistoryLog',
'NewYear',
'ResetOfficerLock',
'RandomizeCityTradeRate',
'RaiseDisaster',
'UpdateCitySupply',
'UpdateNationLevel',
'ProcessSemiAnnual',
'ProcessWarIncome',
'CreateAdminNPC',
'CreateManyNPC',
'RegNPC',
'RegNeutralNPC',
'RaiseNPCNation',
'RaiseInvader',
'AutoDeleteInvader',
'InvaderEnding',
'ChangeCity',
'ProvideNPCTroopLeader',
'OpenNationBetting',
'FinishNationBetting',
'BlockScoutAction',
'UnblockScoutAction',
'AssignGeneralSpeciality',
'AddGlobalBetray',
'LostUniqueItem',
'MergeInheritPointRank',
'DeleteEvent',
] as const;
export type MonthlyEventActionName = (typeof MONTHLY_EVENT_ACTION_CATALOG)[number];
const COMPARATORS = new Set(['==', '!=', '<', '>', '<=', '>=']);
const CITY_TRADE_PROBABILITY_BY_LEVEL: Readonly<Record<number, number>> = {
1: 0,