fix pytest for new awaken avatars

This commit is contained in:
bridge
2026-01-11 21:03:02 +08:00
parent 090e8fe32c
commit 488758764e
8 changed files with 11 additions and 10 deletions

View File

@@ -190,7 +190,8 @@ def load_game(save_path: Optional[Path] = None) -> Tuple["World", "Simulator", L
# 重建Simulator
simulator_data = save_data.get("simulator", {})
simulator = Simulator(world)
simulator.birth_rate = simulator_data.get("birth_rate", CONFIG.game.npc_birth_rate_per_month)
# 兼容旧存档 "birth_rate"
simulator.awakening_rate = simulator_data.get("awakening_rate", simulator_data.get("birth_rate", CONFIG.game.npc_awakening_rate_per_month))
print(f"存档加载成功!共加载 {len(all_avatars)} 个角色")
return world, simulator, existed_sects

View File

@@ -120,7 +120,7 @@ def load_game(save_path: Optional[Path] = None) -> Tuple[World, Simulator, List[
# 重建Simulator
simulator_data = save_data.get("simulator", {})
simulator = Simulator(world)
simulator.birth_rate = simulator_data.get("birth_rate", CONFIG.game.npc_birth_rate_per_month)
simulator.awakening_rate = simulator_data.get("awakening_rate", simulator_data.get("birth_rate", CONFIG.game.npc_awakening_rate_per_month))
print(f"存档加载成功!共加载 {len(all_avatars)} 个角色")
return world, simulator, existed_sects

View File

@@ -139,7 +139,7 @@ def save_game(
# 保存模拟器数据
simulator_data = {
"birth_rate": simulator.birth_rate
"awakening_rate": simulator.awakening_rate
}
# 组装完整的存档数据

View File

@@ -67,7 +67,7 @@ def save_game(
# 保存模拟器数据
simulator_data = {
"birth_rate": simulator.birth_rate
"awakening_rate": simulator.awakening_rate
}
# 组装完整的存档数据(不含 events事件在 SQLite 中)

View File

@@ -22,7 +22,7 @@ from src.classes.death_reason import DeathReason
class Simulator:
def __init__(self, world: World):
self.world = world
self.birth_rate = CONFIG.game.npc_birth_rate_per_month # 从配置文件读取NPC每月出生率
self.awakening_rate = CONFIG.game.npc_awakening_rate_per_month # 从配置文件读取NPC每月觉醒率(凡人晋升修士)
def _phase_update_perception_and_knowledge(self):
"""
@@ -199,7 +199,7 @@ class Simulator:
events = []
for avatar in self.world.avatar_manager.get_living_avatars():
avatar.update_age(self.world.month_stamp)
if random.random() < self.birth_rate:
if random.random() < self.awakening_rate:
age = random.randint(16, 60)
gender = random.choice(list(Gender))
name = get_random_name(gender)