@@ -44,18 +44,35 @@ struct combat_tag : public tag {
44
44
// combat tag
45
45
p.links ++;
46
46
p.safe = false ;
47
+ bool leveled{};
47
48
paragraph_content >> p_text;
49
+ if (dpp::lowercase (p_text) == " leveled" ) {
50
+ leveled = true ;
51
+ paragraph_content >> p_text;
52
+ }
48
53
extract_to_quote (p_text, paragraph_content, ' "' );
49
54
std::string monster_name = extract_value (p_text);
50
55
std::string english_monster_name{monster_name};
51
56
paragraph_content >> p_text;
52
57
long monster_skill = extract_value_number (p_text);
58
+ if (leveled) {
59
+ monster_skill += current_player.get_level () / 4 ;
60
+ }
53
61
paragraph_content >> p_text;
54
62
long monster_stamina = extract_value_number (p_text);
63
+ if (leveled) {
64
+ monster_stamina += current_player.get_level ();
65
+ }
55
66
paragraph_content >> p_text;
56
67
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
+ }
57
71
paragraph_content >> p_text;
58
72
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
+ }
59
76
if (p.current_fragment == current_player.after_fragment ) {
60
77
// when combat link is finished it goes back to the
61
78
// paragraph it came from, but the next fragment of it.
@@ -98,7 +115,7 @@ struct combat_tag : public tag {
98
115
99
116
output << fmt::format (
100
117
" \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 ? " ⭐ " : " " ),
102
119
monster_stamina,
103
120
monster_skill,
104
121
monster_armour,
0 commit comments