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": {
|
"effects": {
|
||||||
"boost_magick": {
|
"boost_magick": {
|
||||||
"damage": 10,
|
"damage": 10,
|
||||||
|
"kind": 2,
|
||||||
|
"element": 1,
|
||||||
"probability": 1.0
|
"probability": 1.0
|
||||||
},
|
},
|
||||||
"pierce_type": {
|
"pierce_type": {
|
||||||
"damage": 11,
|
"damage": 11,
|
||||||
|
"kind": 1,
|
||||||
|
"element": 0,
|
||||||
"probability": 1.1
|
"probability": 1.1
|
||||||
},
|
},
|
||||||
"magick_type": {
|
"magick_type": {
|
||||||
"damage": 12,
|
"damage": 12,
|
||||||
|
"kind": 2,
|
||||||
|
"element": 1,
|
||||||
"probability": 1.2
|
"probability": 1.2
|
||||||
},
|
},
|
||||||
"heals_user": {
|
"heals_user": {
|
||||||
"damage": 13,
|
"damage": 13,
|
||||||
|
"kind": 0,
|
||||||
|
"element": 0,
|
||||||
"probability": 1.3
|
"probability": 1.3
|
||||||
},
|
},
|
||||||
"curses_user": {
|
"curses_user": {
|
||||||
"damage": 14,
|
"damage": 14,
|
||||||
|
"kind": 0,
|
||||||
|
"element": 0,
|
||||||
"probability": 1.4
|
"probability": 1.4
|
||||||
},
|
},
|
||||||
"boost_damage_large": {
|
"boost_damage_large": {
|
||||||
"damage": 15,
|
"damage": 15,
|
||||||
|
"kind": 0,
|
||||||
|
"element": 0,
|
||||||
"probability": 1.5
|
"probability": 1.5
|
||||||
},
|
},
|
||||||
"combined": {
|
"combined": {
|
||||||
"damage": 16,
|
"damage": 16,
|
||||||
|
"kind": 0,
|
||||||
|
"element": 0,
|
||||||
"probability": 1.6
|
"probability": 1.6
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,9 +84,13 @@ namespace combat {
|
||||||
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.element = RitualElement(int(effect["element"]));
|
||||||
|
|
||||||
fmt::println("ritual has action {} with damage {}, prob: {}",
|
fmt::println("ritual has action {} with damage {}, prob: {}, kind: {}, element: {}",
|
||||||
action.name, result.damage, result.probability);
|
action.name, result.damage,
|
||||||
|
result.probability, int(result.kind),
|
||||||
|
int(result.element));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,13 +26,18 @@ namespace combat {
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class RitualElement {
|
enum class RitualElement {
|
||||||
FIRE, LIGHTNING, PHYSICAL
|
NONE=0, FIRE=1, LIGHTNING=2
|
||||||
|
};
|
||||||
|
|
||||||
|
enum class RitualKind {
|
||||||
|
NONE=0, PHYSICAL=1, MAGICK=2
|
||||||
};
|
};
|
||||||
|
|
||||||
struct RitualAction {
|
struct RitualAction {
|
||||||
float probability = 1.0f;
|
float probability = 1.0f;
|
||||||
int damage = 0;
|
int damage = 0;
|
||||||
RitualElement element{RitualElement::FIRE};
|
RitualKind kind{RitualKind::NONE};
|
||||||
|
RitualElement element{RitualElement::NONE};
|
||||||
};
|
};
|
||||||
|
|
||||||
struct RitualEngine {
|
struct RitualEngine {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue