From 4702d191229fef0c2a5df5f47f29988da91af61f Mon Sep 17 00:00:00 2001 From: Celtic Minstrel Date: Sat, 31 Aug 2024 14:20:07 -0400 Subject: [PATCH] Add +4 as a possible enchantment --- rsrc/schemas/town.xsd | 1 + src/enchant.cpp | 1 + src/enchant.hpp | 3 ++- src/fileio/estreams.cpp | 2 +- src/scenedit/scen.keydlgs.cpp | 2 +- 5 files changed, 6 insertions(+), 3 deletions(-) diff --git a/rsrc/schemas/town.xsd b/rsrc/schemas/town.xsd index 6f2f6552..e0ec8ea8 100644 --- a/rsrc/schemas/town.xsd +++ b/rsrc/schemas/town.xsd @@ -22,6 +22,7 @@ + diff --git a/src/enchant.cpp b/src/enchant.cpp index 85d50881..f2c2a417 100644 --- a/src/enchant.cpp +++ b/src/enchant.cpp @@ -74,3 +74,4 @@ cEnchant E_SHOOT_FLAME = cEnchant(eEnchant::SHOOT_FLAME, "F").withCost(8).withAb cEnchant E_FLAMING = cEnchant(eEnchant::FLAMING, "F!").withCost(15).withAbility(eItemAbil::DAMAGING_WEAPON, 5, eDamageType::FIRE).finish(); cEnchant E_PLUS_FIVE = cEnchant(eEnchant::PLUS_FIVE, "+5").withCost(15).withBonus(5).finish(); cEnchant E_BLESSED = cEnchant(eEnchant::BLESSED, "B").withCost(10).withBonus(1).withAbility(eItemAbil::AFFECT_STATUS, 5, eStatus::BLESS_CURSE); +cEnchant E_PLUS_FOUR = cEnchant(eEnchant::PLUS_FOUR, "+5").withCost(15).withBonus(4).finish(); diff --git a/src/enchant.hpp b/src/enchant.hpp index 5cd0082c..76fa7765 100644 --- a/src/enchant.hpp +++ b/src/enchant.hpp @@ -25,13 +25,14 @@ enum class eEnchant { FLAMING, PLUS_FIVE, BLESSED, + PLUS_FOUR, }; class cEnchant { static std::map dictionary; friend const cEnchant& operator* (eEnchant ench); public: - static const int MAX = int(eEnchant::BLESSED); + static const int MAX = int(eEnchant::PLUS_FOUR); cEnchant(eEnchant id, std::string suf); cEnchant& withCost(short cost); cEnchant& withBonus(int bonus); diff --git a/src/fileio/estreams.cpp b/src/fileio/estreams.cpp index 46abbddb..bfb457cb 100644 --- a/src/fileio/estreams.cpp +++ b/src/fileio/estreams.cpp @@ -746,7 +746,7 @@ std::istream& operator>> (std::istream& in, eCreatureStatus& status) { // MARK: eEnchant -cEnumLookup enchant_strs = {"+1", "+2", "+3", "shoot-flame", "flaming", "+5", "blessed"}; +cEnumLookup enchant_strs = {"+1", "+2", "+3", "shoot-flame", "flaming", "+5", "blessed", "+4"}; std::ostream& operator<< (std::ostream& out, eEnchant ench) { writeEnum(out, ench, enchant_strs, "+1"); diff --git a/src/scenedit/scen.keydlgs.cpp b/src/scenedit/scen.keydlgs.cpp index d2312bff..8ec9ce0d 100644 --- a/src/scenedit/scen.keydlgs.cpp +++ b/src/scenedit/scen.keydlgs.cpp @@ -421,7 +421,7 @@ short choose_text(eStrType list, unsigned short cur_choice, cDialog* parent, std } break; case STRT_ENCHANT: - strings = {"+1", "+2", "+3", "Shoot Flames", "Flaming", "+5", "Blessed"}; + strings = {"+1", "+2", "+3", "Shoot Flames", "Flaming", "+5", "Blessed", "+4"}; break; case STRT_DIR: strings = {"North", "Northease", "East", "Southeast", "South", "Southwest", "West", "Northwest", "None"};