diff --git a/client/GUIClasses.cpp b/client/GUIClasses.cpp index 40f10d598..466ec79e6 100644 --- a/client/GUIClasses.cpp +++ b/client/GUIClasses.cpp @@ -5961,7 +5961,9 @@ void MoraleLuckBox::set(const IBonusBearer *node) text += CGI->generaltexth->arraytxt[noneTxtId]; else { - if (node->hasBonusOfType (Bonus::UNDEAD) || node->hasBonusOfType(Bonus::BLOCK_MORALE) || node->hasBonusOfType(Bonus::NON_LIVING)) //it's a creature window + //it's a creature window + if (morale && node->hasBonusOfType (Bonus::UNDEAD) || + node->hasBonusOfType(Bonus::BLOCK_MORALE) || node->hasBonusOfType(Bonus::NON_LIVING)) { text += CGI->generaltexth->arraytxt[113]; //unaffected by morale } diff --git a/config/artifacts.json b/config/artifacts.json index 84fada3e8..36eb3fa02 100644 --- a/config/artifacts.json +++ b/config/artifacts.json @@ -1338,7 +1338,7 @@ { "type" : "STACK_HEALTH", "val" : 1, - "valueType" : "BASE_NUMBER" + "valueType" : "ADDITIVE_VALUE" } ], "index" : 94, @@ -1350,7 +1350,7 @@ { "type" : "STACK_HEALTH", "val" : 1, - "valueType" : "BASE_NUMBER" + "valueType" : "ADDITIVE_VALUE" } ], "index" : 95, @@ -1362,7 +1362,7 @@ { "type" : "STACK_HEALTH", "val" : 2, - "valueType" : "BASE_NUMBER" + "valueType" : "ADDITIVE_VALUE" } ], "index" : 96, @@ -1893,12 +1893,24 @@ { "type" : "STACK_HEALTH", "val" : 25, - "valueType" : "PERCENT_TO_BASE" + "valueType" : "PERCENT_TO_BASE", + }, + { + "type" : "STACK_HEALTH", + "val" : -25, + "valueType" : "PERCENT_TO_BASE", + "limiters" : ["IS_UNDEAD"] }, { "type" : "HP_REGENERATION", "val" : 50, "valueType" : "BASE_NUMBER" + }, + { + "type" : "HP_REGENERATION", + "val" : -50, + "valueType" : "BASE_NUMBER", + "limiters" : ["IS_UNDEAD"] } ], "index" : 131,