Test rituals are now configurable in assets/config.json
This commit is contained in:
parent
ebb69dd589
commit
30997cbff5
4 changed files with 33 additions and 19 deletions
|
@ -26,22 +26,27 @@ void LevelManager::temp_create_player_rituals() {
|
|||
auto& level = current();
|
||||
auto player = level.player;
|
||||
auto& the_belt = level.world->get<combat::RitualBelt>(player);
|
||||
|
||||
Config config("assets/config.json");
|
||||
combat::RitualEngine re("assets/rituals.json");
|
||||
auto blanket = re.start();
|
||||
re.set_state(blanket, "has_magick", true);
|
||||
re.plan(blanket);
|
||||
auto ritual = re.finalize(blanket);
|
||||
the_belt.equip(0, ritual);
|
||||
|
||||
blanket = re.start();
|
||||
re.set_state(blanket, "has_spikes", true);
|
||||
re.plan(blanket);
|
||||
ritual = re.finalize(blanket);
|
||||
dbc::check(ritual.kind == combat::RitualKind::PHYSICAL,
|
||||
fmt::format("second attack is not physical but is {}",
|
||||
int(ritual.kind)));
|
||||
the_belt.equip(1, ritual);
|
||||
int slot = 0;
|
||||
|
||||
for(auto& settings : config["test_rituals"]) {
|
||||
if(settings["active"]) {
|
||||
auto blanket = re.start();
|
||||
|
||||
settings.erase("active");
|
||||
|
||||
for(auto& el : settings.items()) {
|
||||
re.set_state(blanket, el.key(), el.value());
|
||||
}
|
||||
|
||||
re.plan(blanket);
|
||||
auto ritual = re.finalize(blanket);
|
||||
the_belt.equip(slot, ritual);
|
||||
slot++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
inline shared_ptr<DinkyECS::World> clone_load_world(shared_ptr<DinkyECS::World> prev_world)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue