Adding bosses to the game #6
@ -74,6 +74,7 @@ contract RaidGeld is ERC20, Ownable, Constants {
|
||||
// Reset or set player
|
||||
reset_player(player);
|
||||
players[player].has_active_session = true;
|
||||
players[player].is_registered = true;
|
||||
|
||||
if (existing_player) {
|
||||
// TODO: Emit new run
|
||||
|
||||
@ -288,6 +288,10 @@ contract raid_geldTest is Test, Constants {
|
||||
assertLt(initialDaoBalance, afterBossDaoBalance);
|
||||
assertGt(initialContractBalance, afterBossContractBalance);
|
||||
|
||||
// Boss should level up
|
||||
boss = raid_geld.getBoss(player1);
|
||||
assertEq(boss.level, 1);
|
||||
|
||||
Player memory player = raid_geld.getPlayer(player1);
|
||||
// Players total rewards should increase
|
||||
assertGt(player.total_rewards, 0);
|
||||
@ -318,4 +322,32 @@ contract raid_geldTest is Test, Constants {
|
||||
// Units should reset
|
||||
assertEq(army.moloch_denier.level, 0);
|
||||
}
|
||||
|
||||
function test_08_player_who_lost_can_restart() public {
|
||||
// Let some time pass so we dont start at block timestamp 0
|
||||
vm.warp(120);
|
||||
uint256 balance1 = raid_geld.daoToken().balanceOf(address(raid_geld));
|
||||
|
||||
// Register player 1
|
||||
vm.startPrank(player1);
|
||||
registerPlayerWithDaoToken();
|
||||
raid_geld.addUnit(0, 1);
|
||||
uint256 balance2 = raid_geld.daoToken().balanceOf(address(raid_geld));
|
||||
// Contract gets DAO Tokens with first register
|
||||
assertLt(balance1, balance2);
|
||||
|
||||
bool[2] memory results = raid_geld.battle_with_boss();
|
||||
// Should lose with just starting GELD
|
||||
assertEq(results[0], false);
|
||||
Player memory player = raid_geld.getPlayer(player1);
|
||||
// player sessions should end
|
||||
assertEq(player.has_active_session, false);
|
||||
assertEq(player.is_registered, true);
|
||||
|
||||
registerPlayerWithDaoToken();
|
||||
player = raid_geld.getPlayer(player1);
|
||||
assertEq(player.has_active_session, true);
|
||||
uint256 balance3 = raid_geld.daoToken().balanceOf(address(raid_geld));
|
||||
assertLt(balance2, balance3);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user