function increaseValuesOfParticipants(
uint256 tokenIdOfChallenger,
uint256 tokenIdOfAnyPerticipent
) public RamIsNotSelected {
if (tokenIdOfChallenger > ramNFT.tokenCounter()) {
revert ChoosingRam__InvalidTokenIdOfChallenger();
}
if (tokenIdOfAnyPerticipent > ramNFT.tokenCounter()) {
revert ChoosingRam__InvalidTokenIdOfPerticipent();
}
if (ramNFT.getCharacteristics(tokenIdOfChallenger).ram != msg.sender) {
revert ChoosingRam__CallerIsNotChallenger();
}
if (block.timestamp > 1728691200) {
revert ChoosingRam__TimeToBeLikeRamFinish();
}
uint256 random = uint256(
keccak256(
abi.encodePacked(block.timestamp, block.prevrandao, msg.sender)
)
) % 2;
uint256 tokenIdOfSelected;
if (random == 0) {
tokenIdOfSelected = tokenIdOfChallenger;
} else {
tokenIdOfSelected = tokenIdOfAnyPerticipent;
}
if (
ramNFT.getCharacteristics(tokenIdOfSelected).isJitaKrodhah == false
) {
ramNFT.updateCharacteristics(
tokenIdOfSelected,
true,
false,
false,
false,
false
);
} else if (
ramNFT.getCharacteristics(tokenIdOfSelected).isDhyutimaan == false
) {
ramNFT.updateCharacteristics(
tokenIdOfSelected,
true,
true,
false,
false,
false
);
} else if (
ramNFT.getCharacteristics(tokenIdOfSelected).isVidvaan == false
) {
ramNFT.updateCharacteristics(
tokenIdOfSelected,
true,
true,
true,
false,
false
);
} else if (
ramNFT.getCharacteristics(tokenIdOfSelected).isAatmavan == false
) {
ramNFT.updateCharacteristics(
tokenIdOfSelected,
true,
true,
true,
true,
false
);
} else if (
ramNFT.getCharacteristics(tokenIdOfSelected).isSatyavaakyah == false
) {
ramNFT.updateCharacteristics(
tokenIdOfSelected,
true,
true,
true,
true,
true
);
selectedRam = ramNFT.getCharacteristics(tokenIdOfSelected).ram;
}
}