Add a dump function and clean up some data.
This commit is contained in:
parent
5d924c764f
commit
17d30e2ed2
4 changed files with 22 additions and 13 deletions
|
@ -146,37 +146,37 @@
|
||||||
"damage": 11,
|
"damage": 11,
|
||||||
"kind": 1,
|
"kind": 1,
|
||||||
"element": 0,
|
"element": 0,
|
||||||
"probability": 1.1
|
"probability": 1.0
|
||||||
},
|
},
|
||||||
"magick_type": {
|
"magick_type": {
|
||||||
"damage": 12,
|
"damage": 12,
|
||||||
"kind": 2,
|
"kind": 2,
|
||||||
"element": 1,
|
"element": 1,
|
||||||
"probability": 1.2
|
"probability": 1.0
|
||||||
},
|
},
|
||||||
"heals_user": {
|
"heals_user": {
|
||||||
"damage": 13,
|
"damage": 13,
|
||||||
"kind": 0,
|
"kind": 0,
|
||||||
"element": 0,
|
"element": 0,
|
||||||
"probability": 1.3
|
"probability": 1.0
|
||||||
},
|
},
|
||||||
"curses_user": {
|
"curses_user": {
|
||||||
"damage": 14,
|
"damage": 14,
|
||||||
"kind": 0,
|
"kind": 0,
|
||||||
"element": 0,
|
"element": 0,
|
||||||
"probability": 1.4
|
"probability": 0.5
|
||||||
},
|
},
|
||||||
"boost_damage_large": {
|
"boost_damage_large": {
|
||||||
"damage": 15,
|
"damage": 15,
|
||||||
"kind": 0,
|
"kind": 0,
|
||||||
"element": 0,
|
"element": 0,
|
||||||
"probability": 1.5
|
"probability": 1.0
|
||||||
},
|
},
|
||||||
"combined": {
|
"combined": {
|
||||||
"damage": 16,
|
"damage": 16,
|
||||||
"kind": 0,
|
"kind": 0,
|
||||||
"element": 0,
|
"element": 0,
|
||||||
"probability": 1.6
|
"probability": 1.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
18
rituals.cpp
18
rituals.cpp
|
@ -83,17 +83,23 @@ namespace combat {
|
||||||
if(effects.contains(action.name)) {
|
if(effects.contains(action.name)) {
|
||||||
auto& effect = effects[action.name];
|
auto& effect = effects[action.name];
|
||||||
result.damage += int(effect["damage"]);
|
result.damage += int(effect["damage"]);
|
||||||
result.probability += float(effect["probability"]);
|
result.probability *= float(effect["probability"]);
|
||||||
result.kind = RitualKind(int(effect["kind"]));
|
result.kind = RitualKind(int(effect["kind"]));
|
||||||
result.element = RitualElement(int(effect["element"]));
|
result.element = RitualElement(int(effect["element"]));
|
||||||
|
|
||||||
fmt::println("ritual has action {} with damage {}, prob: {}, kind: {}, element: {}",
|
|
||||||
action.name, result.damage,
|
|
||||||
result.probability, int(result.kind),
|
|
||||||
int(result.element));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RitualAction::dump() {
|
||||||
|
fmt::print("ritual has damage {}, prob: {}, kind: {}, element: {}; named: ",
|
||||||
|
damage, probability, int(kind), int(element));
|
||||||
|
|
||||||
|
for(auto& name : names) {
|
||||||
|
fmt::print("{} ", name);
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt::println("\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,9 @@ namespace combat {
|
||||||
int damage = 0;
|
int damage = 0;
|
||||||
RitualKind kind{RitualKind::NONE};
|
RitualKind kind{RitualKind::NONE};
|
||||||
RitualElement element{RitualElement::NONE};
|
RitualElement element{RitualElement::NONE};
|
||||||
|
std::vector<std::string> names;
|
||||||
|
|
||||||
|
void dump();
|
||||||
};
|
};
|
||||||
|
|
||||||
struct RitualEngine {
|
struct RitualEngine {
|
||||||
|
|
|
@ -62,5 +62,5 @@ TEST_CASE("rituals can be finalized for the end result", "[rituals-finalize]") {
|
||||||
plan.dump();
|
plan.dump();
|
||||||
|
|
||||||
auto action = re.finalize(plan);
|
auto action = re.finalize(plan);
|
||||||
(void)action;
|
action.dump();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue