diff --git a/engine/item/enchants.cpp b/engine/item/enchants.cpp index c069c747e67..4876fc816c2 100644 --- a/engine/item/enchants.cpp +++ b/engine/item/enchants.cpp @@ -295,6 +295,11 @@ bool enchant::passive_enchant( item_t& item, unsigned spell_id ) item.player->base.stacking_movement_speed_modifier += effect.percent(); ret = true; break; + case A_MOD_MAX_MANA_PCT: + item.player->resources.initial_multiplier[ RESOURCE_MANA ] *= 1.0 + effect.percent(); + item.parsed.enchant_notes.push_back( fmt::format( "+{}% Mana", (int)value ) ); + ret = true; + break; default: break; } diff --git a/engine/item/item.cpp b/engine/item/item.cpp index 88ce8b7a048..a18c7a063e4 100644 --- a/engine/item/item.cpp +++ b/engine/item/item.cpp @@ -362,7 +362,7 @@ std::string item_t::gem_stats_str() const std::string item_t::enchant_stats_str() const { - if ( parsed.enchant_stats.empty() ) + if ( parsed.enchant_stats.empty() && parsed.enchant_notes.empty() ) { return {}; } @@ -375,6 +375,11 @@ std::string item_t::enchant_stats_str() const << " " << util::stat_type_abbrev( enchant_stat.stat ) << ", "; } + for ( const auto& note : parsed.enchant_notes ) + { + s << note << ", "; + } + std::string str = s.str(); str.erase( str.end() - 2, str.end() ); diff --git a/engine/item/item.hpp b/engine/item/item.hpp index 72f8c58b606..a89ede252a5 100644 --- a/engine/item/item.hpp +++ b/engine/item/item.hpp @@ -110,6 +110,7 @@ struct item_t std::vector gem_stats, socket_bonus_stats; std::string encoded_enchant; std::vector enchant_stats; + std::vector enchant_notes; std::vector temp_enchant_stats; std::string encoded_addon; std::vector addon_stats; diff --git a/engine/report/report_html_player.cpp b/engine/report/report_html_player.cpp index aca681d4ef9..fab83ca9318 100644 --- a/engine/report/report_html_player.cpp +++ b/engine/report/report_html_player.cpp @@ -1240,7 +1240,7 @@ void print_html_gear( report::sc_html_stream& os, const player_t& p ) item_sim_desc += " }"; } - if ( !item.parsed.enchant_stats.empty() ) + if ( !item.parsed.enchant_stats.empty() || !item.parsed.enchant_notes.empty() ) { item_sim_desc += ", enchant: { "; item_sim_desc += item.enchant_stats_str();