Skip to main content

nil_core/world/cheat/
capital.rs

1// Copyright (C) Call of Nil contributors
2// SPDX-License-Identifier: AGPL-3.0-only
3
4use tap::Pipe;
5
6use crate::bail_if_cheats_are_not_allowed;
7use crate::error::Result;
8use crate::resources::influence::Influence;
9use crate::ruler::Ruler;
10use crate::world::World;
11
12pub fn get_influence(world: &World, ruler: &Ruler) -> Result<Influence> {
13  bail_if_cheats_are_not_allowed!(world);
14  world.ruler(ruler)?.influence().pipe(Ok)
15}
16
17pub fn set_influence(world: &mut World, ruler: &Ruler, influence: Influence) -> Result<()> {
18  bail_if_cheats_are_not_allowed!(world);
19  let mut ruler_ref = world.ruler_mut(ruler)?;
20  *ruler_ref.influence_mut() = influence;
21  world.emit_ruler(ruler)?;
22
23  Ok(())
24}