Integrate unfinished server-rs refactor worklists
This commit is contained in:
@@ -14,7 +14,7 @@ use crate::{
|
||||
write_i32_field, write_null_field, write_string_field,
|
||||
};
|
||||
|
||||
/// 战斗 compat 纯结算链已经不依赖 HTTP / AppState。
|
||||
/// 战斗纯结算链已经不依赖 HTTP / AppState。
|
||||
///
|
||||
/// 这里同时承接 battle action 的状态结算、资源恢复和战斗选项编译,
|
||||
/// 让 `api-server` 只保留 HTTP 外壳与最终响应拼装。
|
||||
@@ -56,7 +56,7 @@ struct BattleInventoryItemView {
|
||||
use_profile: Option<BattleInventoryUseProfile>,
|
||||
}
|
||||
|
||||
/// 兼容战斗结算的胜负状态。
|
||||
/// 战斗结算的胜负状态。
|
||||
///
|
||||
/// 这里显式补齐失败分支,避免“玩家已死但敌方也被打空时”被错误归类成胜利。
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
//! runtime story 兼容写入命令过渡落位。
|
||||
//! runtime story 写入命令过渡落位。
|
||||
//!
|
||||
//! 用于表达旧剧情动作解析、战斗动作、锻造动作和 NPC 互动等输入。
|
||||
//! 用于表达剧情动作解析、战斗动作、锻造动作和 NPC 互动等输入。
|
||||
|
||||
@@ -2,7 +2,7 @@ use serde_json::{Map, Value, json};
|
||||
use shared_kernel::format_rfc3339;
|
||||
use time::OffsetDateTime;
|
||||
|
||||
/// Runtime story compat 的纯 JSON 快照工具层。
|
||||
/// Runtime story 的纯 JSON 快照工具层。
|
||||
///
|
||||
/// 这里不允许引入 HTTP、AppState 或持久化依赖,保证后续 battle/forge/npc/quest
|
||||
/// 规则迁入独立 crate 时可以继续复用同一批状态读写函数。
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//! runtime story 兼容领域模型过渡落位。
|
||||
//! runtime story 领域模型过渡落位。
|
||||
//!
|
||||
//! 当前 crate 用于旧运行时剧情桥的纯规则兼容。后续迁移时仍只能保留 JSON 规则、
|
||||
//! 当前 crate 用于运行时剧情主链的纯规则收口。后续迁移时仍只能保留 JSON 规则、
|
||||
//! 选项生成和视图模型转换,不引入 Axum、LLM 或 SpacetimeDB。
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
//! runtime story 兼容领域错误过渡落位。
|
||||
//! runtime story 领域错误过渡落位。
|
||||
//!
|
||||
//! 错误只表达兼容规则失败,不能直接绑定 HTTP 或数据库错误模型。
|
||||
//! 错误只表达运行时剧情规则失败,不能直接绑定 HTTP 或数据库错误模型。
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
//! runtime story 兼容领域事件过渡落位。
|
||||
//! runtime story 领域事件过渡落位。
|
||||
//!
|
||||
//! 用于表达旧剧情快照变化、战斗表现变化和物品/成长待同步等事实。
|
||||
//! 用于表达剧情快照变化、战斗表现变化和物品/成长待同步等事实。
|
||||
|
||||
@@ -6,7 +6,7 @@ use crate::{
|
||||
remove_inventory_item_from_list, resolve_equipment_slot_for_item,
|
||||
};
|
||||
|
||||
/// 这批定义只服务 runtime story compat 的确定性锻造链。
|
||||
/// 这批定义只服务 runtime story 的确定性锻造链。
|
||||
///
|
||||
/// 当前仍然保持旧快照态结算口径,不引入 HTTP / AppState / 持久化边界。
|
||||
pub(crate) struct ForgeRequirementDefinition {
|
||||
|
||||
@@ -18,7 +18,7 @@ use super::forge::{
|
||||
|
||||
/// 锻造动作编排已经不再依赖 `api-server` 的 HTTP 边界。
|
||||
///
|
||||
/// 这里继续沿用 compat 快照态结算,后续可直接被 `api-server` 外壳或真相态桥接层复用。
|
||||
/// 这里继续沿用快照态结算,后续可直接被 `api-server` 外壳或真相态桥接层复用。
|
||||
pub fn resolve_forge_craft_action(
|
||||
game_state: &mut Value,
|
||||
request: &RuntimeStoryActionRequest,
|
||||
|
||||
@@ -5,7 +5,7 @@ use crate::{
|
||||
read_field, read_i32_field, read_object_field, read_optional_string_field, write_i32_field,
|
||||
};
|
||||
|
||||
/// 这批 helper 只负责 runtime story compat 的纯快照读写。
|
||||
/// 这批 helper 只负责 runtime story 的纯快照读写。
|
||||
///
|
||||
/// 目标是先把 encounter / inventory / equipment 的基础状态工具从 `api-server`
|
||||
/// 边界模块里收口出来,后续 battle / forge / equipment 规则迁移时直接复用。
|
||||
@@ -186,7 +186,7 @@ pub fn normalize_equipment_slot_id(slot_id: &str) -> Option<&'static str> {
|
||||
"armor" => Some("armor"),
|
||||
"relic" | "accessory" => Some("relic"),
|
||||
_ => {
|
||||
// 兼容旧 payload 里直接传中文槽位名或物品类别文案的情况。
|
||||
// 支持历史 payload 里直接传中文槽位名或物品类别文案的情况。
|
||||
if slot_id.contains("武器")
|
||||
|| slot_id.contains('剑')
|
||||
|| slot_id.contains('弓')
|
||||
|
||||
@@ -365,7 +365,7 @@ fn remove_companion_by_npc_id(game_state: &mut Value, npc_id: &str) -> Option<Va
|
||||
Some(items.remove(index))
|
||||
}
|
||||
|
||||
/// compat bridge 先只维护一个轻量队伍名单,继续复用旧前端的满员换队语义。
|
||||
/// 当前主链先只维护一个轻量队伍名单,继续复用既有前端的满员换队语义。
|
||||
pub fn recruit_companion_to_party(
|
||||
game_state: &mut Value,
|
||||
npc_id: &str,
|
||||
|
||||
Reference in New Issue
Block a user