the decks were the visible half: LogicBattle carries one LogicSpellDeck per player and we wrote both as absent, so the client cleared them and the card bar came up empty. both sides get a real deck now - the player from their profile, the bot from the fullest row of predefined_decks. matchmaking no longer picks a row out of npcs.csv. it takes the location from the arena's PvpLocation column and builds an opponent avatar with its own name, arena and trophies, so the battle reads as a player match rather than a trainer one. StartMissionMessage still goes through the npc path unchanged. the battle type stays 1 on purpose. LogicGameMode::isImmediateMessageExecution is (type - 1) < 3, so 1, 2 and 3 let the client simulate locally while 0 makes it wait for the server to drive the sector - which needs the real tick loop we do not have yet.
21 lines
655 B
Rust
21 lines
655 B
Rust
pub mod battle;
|
|
pub mod bot;
|
|
pub mod catalog;
|
|
pub mod config;
|
|
pub mod home;
|
|
pub mod home_mode;
|
|
pub mod rewards;
|
|
pub mod service;
|
|
pub mod shop;
|
|
pub mod store;
|
|
pub mod time;
|
|
pub use battle::BattleBuilder;
|
|
pub use bot::BotPlayer;
|
|
pub use catalog::{Catalog, ARENA_FALLBACK_INSTANCE, GOLD_RESOURCE_FALLBACK_INSTANCE};
|
|
pub use config::{CardRef, DataSelector, GameConfig, StarterProfile};
|
|
pub use home::{build_avatar, build_deck, build_home};
|
|
pub use home_mode::{HomeMode, HomeModeRegistry, TurnResult};
|
|
pub use rewards::RewardRoller;
|
|
pub use service::GameService;
|
|
pub use shop::{ShopCatalog, ShopEntry, ShopOffer};
|
|
pub use store::{PlayerProfile, ProfileStore};
|