Skip to content

Commit 472aac2

Browse files
leveled enemies
1 parent 40068d3 commit 472aac2

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

src/parser/combat.cpp

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,18 +44,35 @@ struct combat_tag : public tag {
4444
// combat tag
4545
p.links++;
4646
p.safe = false;
47+
bool leveled{};
4748
paragraph_content >> p_text;
49+
if (dpp::lowercase(p_text) == "leveled") {
50+
leveled = true;
51+
paragraph_content >> p_text;
52+
}
4853
extract_to_quote(p_text, paragraph_content, '"');
4954
std::string monster_name = extract_value(p_text);
5055
std::string english_monster_name{monster_name};
5156
paragraph_content >> p_text;
5257
long monster_skill = extract_value_number(p_text);
58+
if (leveled) {
59+
monster_skill += current_player.get_level() / 4;
60+
}
5361
paragraph_content >> p_text;
5462
long monster_stamina = extract_value_number(p_text);
63+
if (leveled) {
64+
monster_stamina += current_player.get_level();
65+
}
5566
paragraph_content >> p_text;
5667
long monster_armour = extract_value_number(p_text);
68+
if (leveled) {
69+
monster_armour = std::min(monster_armour + current_player.get_level() / 6L, 6L);
70+
}
5771
paragraph_content >> p_text;
5872
long monster_weapon = extract_value_number(p_text);
73+
if (leveled) {
74+
monster_weapon = std::min(monster_weapon + current_player.get_level() / 6L, 6L);
75+
}
5976
if (p.current_fragment == current_player.after_fragment) {
6077
// when combat link is finished it goes back to the
6178
// paragraph it came from, but the next fragment of it.
@@ -98,7 +115,7 @@ struct combat_tag : public tag {
98115

99116
output << fmt::format(
100117
"\n```ansi\n\033[2;34m{0:16s}\033[0m \033[2;31mSTM\033[0m:\033[2;33m{1:2d}\033[0m \033[2;31mSKL\033[0m:\033[2;33m{2:2d}\033[0m \033[2;31mARM\033[0m:\033[2;33m{3:2d}\033[0m \033[2;31mWPN\033[0m:\033[2;33m{4:2d}\033[0m {5}\n```\n",
101-
dpp::utility::utf8substr(monster_name, 0, 16),
118+
dpp::utility::utf8substr(monster_name, 0, leveled ? 14 : 16) + (leveled ? "" : ""),
102119
monster_stamina,
103120
monster_skill,
104121
monster_armour,

0 commit comments

Comments
 (0)