diff --git a/assets/rituals.json b/assets/rituals.json index f19feb6..b042a5d 100644 --- a/assets/rituals.json +++ b/assets/rituals.json @@ -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 } } diff --git a/rituals.cpp b/rituals.cpp index e1ce39f..99def9d 100644 --- a/rituals.cpp +++ b/rituals.cpp @@ -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)); } } diff --git a/rituals.hpp b/rituals.hpp index 743f1f6..0f5d31d 100644 --- a/rituals.hpp +++ b/rituals.hpp @@ -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 {