仅记录破坏性改动。
- 修改了
RerollResponseprotobuf 的格式。
- 修改了
ActionRequestprotobuf 的格式。
- IO 接口完全重写:现使用 Protocol Buffer 兼容的 IO 数据类型。详细变化请参考最新文档。
- 重要接口重构:重新设计了构造
Game实例的方式。请参考最新开发文档。- 构造
Game时:使用牌组和配置创建GameState,并用GameState构造Game - 使用
game.onPausegame.onIoErrorgame.players[x].io来设置 IO 行为 GiTcgIOError重命名为GiTcgIoErrorPlayerState的initialPiles和piles重命名为initialPile和pile;相关的 mutation 中的piles也都重命名为pile
- 构造
- 移除了
PlayerIO.giveUp字段。使用Game的giveUp(who)方法以更高效地实现弹射。
- 接口更新:
RemoveCardEM使用了reason字段替换used以显示更精确的行动牌移除信息。
- 接口更新:
useSkill现支持选中对象。核心数据结构为此也进行了相应的调整。
- 重要接口更新:
@gi-tcg/data现导出函数以传入版本信息。
- 重构:
GameState中部分全局状态值改为由数据提供的可自定义extensions - Mutation
replaceCharacterDefinition重命名为transformDefinition - 移除了
GameLog相关接口;在pause中增加了canResume第三参数 - 移除了
PlayCardAction的hints字段
- 恢复了 0.4.x 版本的暂停点密度(通知密度无变化)
pause现在返回自上次pause起的所有裸Mutations,不再包含ExposedMutations,pause自此无法获取伤害、元素反应等上层信息(请使用notify接口接取)
- 调整了
Mutations 的部分结构
- 暂时移除了
mutationLog字段 - 将
NotificationMessage中的events改名为mutations - 修改了包发布流程,类型信息可能有所变化
- 暂时移除了
pushDamageLog类型的 mutation - 重构了结算流程;在技能结算中可能引发更多的暂停点
- 修改了
IteratorState的结构(不再依赖于@stdlib/minstd*)
DamageType增加了DamageType.Revive,复苏时的治疗改用此类型指代CharacterState.damageLog的类型修改为readonly (DamageInfo | HealInfo)[]DamageInfo.type现不包含DamageType.Heal和DamageType.Revive
GameOption增加了更多readonly修饰。initHands阶段在切换手牌前增加了一个暂停点。
GameOption增加了一系列readonly修饰。