From 5ccdad1fd02e12563722b0055af403147eb8ec83 Mon Sep 17 00:00:00 2001 From: loothero <100039621+loothero@users.noreply.github.com> Date: Thu, 21 Sep 2023 11:32:58 -0400 Subject: [PATCH] Prevent non-zero starting luck (#356) --- contracts/game/src/game/constants.cairo | 1 + contracts/game/src/lib.cairo | 6 +++--- contracts/game/src/tests/test_game.cairo | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/contracts/game/src/game/constants.cairo b/contracts/game/src/game/constants.cairo index 577828e01..67f41394b 100644 --- a/contracts/game/src/game/constants.cairo +++ b/contracts/game/src/game/constants.cairo @@ -23,6 +23,7 @@ mod messages { const WRONG_STARTING_STATS: felt252 = 'Wrong starting stat count'; const MUST_USE_ALL_STATS: felt252 = 'Must use all stats'; const NO_ITEMS: felt252 = 'Must provide item ids'; + const NON_ZERO_STARTING_LUCK: felt252 = 'Luck must be zero'; } // TODO: Update for mainnet diff --git a/contracts/game/src/lib.cairo b/contracts/game/src/lib.cairo index 02e05f5ce..5a579ab0a 100644 --- a/contracts/game/src/lib.cairo +++ b/contracts/game/src/lib.cairo @@ -156,7 +156,7 @@ mod Game { starting_stats: Stats, ) { _assert_valid_starter_weapon(starting_weapon); - _assert_starting_stat_count(starting_stats); + _assert_starting_stats(starting_stats); let caller = get_caller_address(); let block_number = starknet::get_block_info().unbox().block_number; @@ -2150,15 +2150,15 @@ mod Game { ImplLoot::is_starting_weapon(starting_weapon) == true, messages::INVALID_STARTING_WEAPON ); } - fn _assert_starting_stat_count(starting_stats: Stats) { + fn _assert_starting_stats(starting_stats: Stats) { let total_stats = starting_stats.strength + starting_stats.dexterity + starting_stats.vitality + starting_stats.intelligence + starting_stats.wisdom + starting_stats.charisma; - assert(total_stats == STARTING_STATS, messages::WRONG_STARTING_STATS); + assert(starting_stats.luck == 0, messages::NON_ZERO_STARTING_LUCK); } fn _assert_has_enough_gold(adventurer: Adventurer, cost: u16) { assert(adventurer.gold >= cost, messages::NOT_ENOUGH_GOLD); diff --git a/contracts/game/src/tests/test_game.cairo b/contracts/game/src/tests/test_game.cairo index 749e56a4c..b79dde474 100644 --- a/contracts/game/src/tests/test_game.cairo +++ b/contracts/game/src/tests/test_game.cairo @@ -1295,7 +1295,7 @@ mod tests { } #[test] - #[available_gas(141506980)] + #[available_gas(141507880)] fn test_multi_slay_adventurers() { let STARTING_BLOCK_NUMBER = 512;