Rituals can now be configured to have a kind and an element based on the results.
This commit is contained in:
parent
a342c53b02
commit
5d924c764f
3 changed files with 27 additions and 4 deletions
|
@ -138,30 +138,44 @@
|
|||
"effects": {
|
||||
"boost_magick": {
|
||||
"damage": 10,
|
||||
"kind": 2,
|
||||
"element": 1,
|
||||
"probability": 1.0
|
||||
},
|
||||
"pierce_type": {
|
||||
"damage": 11,
|
||||
"kind": 1,
|
||||
"element": 0,
|
||||
"probability": 1.1
|
||||
},
|
||||
"magick_type": {
|
||||
"damage": 12,
|
||||
"kind": 2,
|
||||
"element": 1,
|
||||
"probability": 1.2
|
||||
},
|
||||
"heals_user": {
|
||||
"damage": 13,
|
||||
"kind": 0,
|
||||
"element": 0,
|
||||
"probability": 1.3
|
||||
},
|
||||
"curses_user": {
|
||||
"damage": 14,
|
||||
"kind": 0,
|
||||
"element": 0,
|
||||
"probability": 1.4
|
||||
},
|
||||
"boost_damage_large": {
|
||||
"damage": 15,
|
||||
"kind": 0,
|
||||
"element": 0,
|
||||
"probability": 1.5
|
||||
},
|
||||
"combined": {
|
||||
"damage": 16,
|
||||
"kind": 0,
|
||||
"element": 0,
|
||||
"probability": 1.6
|
||||
}
|
||||
}
|
||||
|
|
|
@ -84,9 +84,13 @@ namespace combat {
|
|||
auto& effect = effects[action.name];
|
||||
result.damage += int(effect["damage"]);
|
||||
result.probability += float(effect["probability"]);
|
||||
result.kind = RitualKind(int(effect["kind"]));
|
||||
result.element = RitualElement(int(effect["element"]));
|
||||
|
||||
fmt::println("ritual has action {} with damage {}, prob: {}",
|
||||
action.name, result.damage, result.probability);
|
||||
fmt::println("ritual has action {} with damage {}, prob: {}, kind: {}, element: {}",
|
||||
action.name, result.damage,
|
||||
result.probability, int(result.kind),
|
||||
int(result.element));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -26,13 +26,18 @@ namespace combat {
|
|||
};
|
||||
|
||||
enum class RitualElement {
|
||||
FIRE, LIGHTNING, PHYSICAL
|
||||
NONE=0, FIRE=1, LIGHTNING=2
|
||||
};
|
||||
|
||||
enum class RitualKind {
|
||||
NONE=0, PHYSICAL=1, MAGICK=2
|
||||
};
|
||||
|
||||
struct RitualAction {
|
||||
float probability = 1.0f;
|
||||
int damage = 0;
|
||||
RitualElement element{RitualElement::FIRE};
|
||||
RitualKind kind{RitualKind::NONE};
|
||||
RitualElement element{RitualElement::NONE};
|
||||
};
|
||||
|
||||
struct RitualEngine {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue