From 17d30e2ed22b1cc39e685e4deca8a90260c59a6a Mon Sep 17 00:00:00 2001 From: "Zed A. Shaw" Date: Thu, 24 Apr 2025 02:44:07 -0400 Subject: [PATCH] Add a dump function and clean up some data. --- assets/rituals.json | 12 ++++++------ rituals.cpp | 18 ++++++++++++------ rituals.hpp | 3 +++ tests/rituals.cpp | 2 +- 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/assets/rituals.json b/assets/rituals.json index b042a5d..f5a0396 100644 --- a/assets/rituals.json +++ b/assets/rituals.json @@ -146,37 +146,37 @@ "damage": 11, "kind": 1, "element": 0, - "probability": 1.1 + "probability": 1.0 }, "magick_type": { "damage": 12, "kind": 2, "element": 1, - "probability": 1.2 + "probability": 1.0 }, "heals_user": { "damage": 13, "kind": 0, "element": 0, - "probability": 1.3 + "probability": 1.0 }, "curses_user": { "damage": 14, "kind": 0, "element": 0, - "probability": 1.4 + "probability": 0.5 }, "boost_damage_large": { "damage": 15, "kind": 0, "element": 0, - "probability": 1.5 + "probability": 1.0 }, "combined": { "damage": 16, "kind": 0, "element": 0, - "probability": 1.6 + "probability": 1.0 } } } diff --git a/rituals.cpp b/rituals.cpp index 99def9d..c182a47 100644 --- a/rituals.cpp +++ b/rituals.cpp @@ -83,17 +83,23 @@ namespace combat { if(effects.contains(action.name)) { auto& effect = effects[action.name]; 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: {}, kind: {}, element: {}", - action.name, result.damage, - result.probability, int(result.kind), - int(result.element)); } } 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"); + } } diff --git a/rituals.hpp b/rituals.hpp index 0f5d31d..fae066f 100644 --- a/rituals.hpp +++ b/rituals.hpp @@ -38,6 +38,9 @@ namespace combat { int damage = 0; RitualKind kind{RitualKind::NONE}; RitualElement element{RitualElement::NONE}; + std::vector names; + + void dump(); }; struct RitualEngine { diff --git a/tests/rituals.cpp b/tests/rituals.cpp index f0e02d4..10eea90 100644 --- a/tests/rituals.cpp +++ b/tests/rituals.cpp @@ -62,5 +62,5 @@ TEST_CASE("rituals can be finalized for the end result", "[rituals-finalize]") { plan.dump(); auto action = re.finalize(plan); - (void)action; + action.dump(); }