v0.1.9: 百年报告 & 发布之窗(报告/迁移/阵型/冬祷/哨兵)
- 百年族史报告:buildReport 纯函数(人口/声望/战力三线、死因榜、突破密度、 大比战绩、代际长度带)+ 春秋原 SVG 折线视图 + 自动措辞结语 - 存档迁移管线 v2:migrate 链(v1→v2)+ 未来版本拒载(TOO_NEW)+ 导出信封 带 appId/schemaVersion + 导入全链路迁移校验;saveState 自动写 CURRENT_SCHEMA - 战斗阵型:锋阵(+10%攻)/雁阵(御5%+溃伤-15%)/蛇阵(溃伤-30%),三处出战接入 (遣队/大比/劫掠)点将面板下拉 + 战报首行标阵 - 冬至岁祷:每年十一月三选(观星+3声望/祈福全族修为/问卜吉凶) - 发布准备:scripts/verify-release.mjs 验收哨兵(npm run verify/verify:package) + README 全面重写(架构/守护/版本沿革);版本号三处归一 - 测试 861→881(报告四例/迁移五链/阵型六则含胜率统计/冬祷四则); 金钟罩三指纹零漂移;typecheck/build 通过
This commit is contained in:
@@ -42,6 +42,7 @@ export interface EffectDef {
|
||||
addTech?: string
|
||||
feisheng?: { stay: boolean }
|
||||
tournament?: boolean
|
||||
formation?: string
|
||||
apprentice?: { build: boolean }
|
||||
trib?: { memberId: string; mode: 'rash' | 'guard' | 'delay' }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
export type FormationId = 'vanguard' | 'echelon' | 'serpent'
|
||||
|
||||
export interface FormationDef {
|
||||
id: FormationId
|
||||
name: string
|
||||
icon: string
|
||||
desc: string
|
||||
atk: number
|
||||
def: number
|
||||
retreatWound: number
|
||||
}
|
||||
|
||||
export const FORMATIONS: Record<FormationId, FormationDef> = {
|
||||
vanguard: {
|
||||
id: 'vanguard',
|
||||
name: '锋阵',
|
||||
icon: '锋',
|
||||
desc: '一往无前:攻势 +10%。',
|
||||
atk: 1.1,
|
||||
def: 1,
|
||||
retreatWound: 1
|
||||
},
|
||||
echelon: {
|
||||
id: 'echelon',
|
||||
name: '雁阵',
|
||||
icon: '雁',
|
||||
desc: '羽翼相援:均衡,御力 +5%。',
|
||||
atk: 1,
|
||||
def: 1.05,
|
||||
retreatWound: 0.85
|
||||
},
|
||||
serpent: {
|
||||
id: 'serpent',
|
||||
name: '蛇阵',
|
||||
icon: '蛇',
|
||||
desc: '盘而不乱:溃退伤损 -30%。',
|
||||
atk: 0.95,
|
||||
def: 1.05,
|
||||
retreatWound: 0.7
|
||||
}
|
||||
}
|
||||
|
||||
export function formationById(id: string | undefined): FormationDef {
|
||||
return FORMATIONS[(id as FormationId) ?? 'vanguard'] ?? FORMATIONS.vanguard
|
||||
}
|
||||
Reference in New Issue
Block a user