From 276f8d4471e5ef8c94c79730f6d2d268ddafb596 Mon Sep 17 00:00:00 2001 From: O01eg Date: Sat, 1 Jul 2023 09:37:57 +0300 Subject: [PATCH] Fix species description in encyclopedia --- parse/EffectPythonParser.cpp | 16 ++++++++-------- test/parse/TestPythonParser.cpp | 2 +- universe/Effects.cpp | 2 ++ 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/parse/EffectPythonParser.cpp b/parse/EffectPythonParser.cpp index 767cea2c825..95875eb18d0 100644 --- a/parse/EffectPythonParser.cpp +++ b/parse/EffectPythonParser.cpp @@ -144,9 +144,8 @@ namespace { effect_group_wrapper insert_effects_group_(const py::tuple& args, const py::dict& kw) { auto scope = py::extract(kw["scope"])(); int priority = 100; - if (kw.has_key("priority")) { + if (kw.has_key("priority")) priority = py::extract(kw["priority"])(); - } std::vector> effects; auto effects_args = py::extract(kw["effects"]); @@ -159,9 +158,8 @@ namespace { } std::string stackinggroup; - if (kw.has_key("stackinggroup")) { + if (kw.has_key("stackinggroup")) stackinggroup = py::extract(kw["stackinggroup"])(); - } std::unique_ptr activation; if (kw.has_key("activation")) { @@ -173,10 +171,12 @@ namespace { } std::string accountinglabel; - if (kw.has_key("accountinglabel")) { + if (kw.has_key("accountinglabel")) accountinglabel = py::extract(kw["accountinglabel"])(); - } - // ToDo: implement other arguments later + + std::string description; + if (kw.has_key("description")) + description = py::extract(kw["description"])(); return effect_group_wrapper(std::make_shared(ValueRef::CloneUnique(scope.condition), std::move(activation), @@ -184,7 +184,7 @@ namespace { std::move(accountinglabel), std::move(stackinggroup), priority, - "", + std::move(description), "")); } diff --git a/test/parse/TestPythonParser.cpp b/test/parse/TestPythonParser.cpp index da58445f88b..183abc698b7 100644 --- a/test/parse/TestPythonParser.cpp +++ b/test/parse/TestPythonParser.cpp @@ -282,7 +282,7 @@ BOOST_AUTO_TEST_CASE(parse_species) { BOOST_TEST_MESSAGE("Dump " << species.Name() << ":"); BOOST_TEST_MESSAGE(species.Dump(0)); - BOOST_REQUIRE_EQUAL(4486670, species.GetCheckSum()); + BOOST_REQUIRE_EQUAL(4493747, species.GetCheckSum()); const Species test_species{"SP_ABADDONI", "SP_ABADDONI_DESC", diff --git a/universe/Effects.cpp b/universe/Effects.cpp index 3e4bc994f3f..2595f783390 100644 --- a/universe/Effects.cpp +++ b/universe/Effects.cpp @@ -307,6 +307,8 @@ std::string EffectsGroup::Dump(uint8_t ntabs) const { if (!m_content_name.empty()) retval += " // from " + m_content_name; retval += "\n"; + if (!m_description.empty()) + retval += DumpIndent(ntabs+1) + "description = \"" + m_description + "\"\n"; retval += DumpIndent(ntabs+1) + "scope =\n"; retval += m_scope->Dump(ntabs+2); if (m_activation) {