Skip to content

Commit e388e4a

Browse files
fix minimal and maximal increment of crit counter
1 parent fd889ce commit e388e4a

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/combat.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -752,9 +752,11 @@ dpp::task<void> continue_combat(const dpp::interaction_create_t& event, player p
752752

753753
/* If you hit enemy, critical meter ticks up based on your luck.
754754
* If critical meter reaches max, you gain a critical hit, that you
755-
* can spend on an overwhelming attack.
755+
* can spend on an overwhelming attack. The increment can never be
756+
* less than 1 or more than 12.
756757
*/
757-
co_await db::co_query("INSERT INTO criticals (user_id, critical_counter, banked_criticals) VALUES(?,1,0) ON DUPLICATE KEY UPDATE critical_counter = critical_counter + ?", {event.command.usr.id, p.luck + 1});
758+
long increment = std::min(std::max(1L, p.luck + 1), 12L);
759+
co_await db::co_query("INSERT INTO criticals (user_id, critical_counter, banked_criticals) VALUES(?,1,0) ON DUPLICATE KEY UPDATE critical_counter = critical_counter + ?", {event.command.usr.id, increment});
758760
auto r = co_await db::co_query("SELECT * FROM criticals WHERE user_id = ?", {event.command.usr.id});
759761
long counter = atol(r[0].at("critical_counter"));
760762
if (counter > 1000 + (p.get_level() * 4)) {

0 commit comments

Comments
 (0)