|
|
|
@ -27,19 +27,17 @@ contract Unaboomer is ERC721, Owned {
|
|
|
|
|
/// Track mints per wallet to enforce maximum
|
|
|
|
|
mapping(address => uint256) public tokensMintedByWallet;
|
|
|
|
|
/// Maximum supply of BOOMR tokens
|
|
|
|
|
uint256 public constant MAX_SUPPLY = 7896;
|
|
|
|
|
uint256 public constant MAX_SUPPLY = 10000;
|
|
|
|
|
/// Maximum amount of survivors remaining to advance to the next round
|
|
|
|
|
uint256 public constant MAX_SURVIVOR_COUNT = 1995;
|
|
|
|
|
uint256 public constant MAX_SURVIVOR_COUNT = 5000;
|
|
|
|
|
/// Maximum amount of mints per wallet - cut down on botters
|
|
|
|
|
uint256 public constant MAX_MINT_AMOUNT = 20;
|
|
|
|
|
uint256 public constant MAX_MINT_AMOUNT = 25;
|
|
|
|
|
/// Amount of Unaboomers killed (tokens burned)
|
|
|
|
|
uint256 public burned;
|
|
|
|
|
/// Amount of Unaboomers radicalized (tokens minted)
|
|
|
|
|
uint256 public minted;
|
|
|
|
|
/// Base URI for living Unaboomers - original pixelated avatars
|
|
|
|
|
string public aliveURI;
|
|
|
|
|
/// Base URI for dead Unaboomers - pixelated explosion
|
|
|
|
|
string public deadURI;
|
|
|
|
|
/// Base URI for Unaboomers - original pixelated avatars and pixelated explosions
|
|
|
|
|
string public baseURI;
|
|
|
|
|
/// Contract address of the deployed Main contract interface to the game
|
|
|
|
|
Main public main;
|
|
|
|
|
|
|
|
|
@ -49,16 +47,10 @@ contract Unaboomer is ERC721, Owned {
|
|
|
|
|
// Admin
|
|
|
|
|
// =========================================================================
|
|
|
|
|
|
|
|
|
|
/// Set metadata URI for living Unaboomer tokens
|
|
|
|
|
/// Set metadata URI for Unaboomer PFPs and explosions
|
|
|
|
|
/// @param _baseURI IPFS hash or URL to retrieve JSON metadata for living Unaboomer tokens
|
|
|
|
|
function setAliveURI(string calldata _baseURI) external onlyOwner {
|
|
|
|
|
aliveURI = _baseURI;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Set metadata URI for dead Unaboomer tokens
|
|
|
|
|
/// @param _baseURI IPFS hash or URL to retrieve JSON metadata for dead Unaboomer tokens
|
|
|
|
|
function setDeadURI(string calldata _baseURI) external onlyOwner {
|
|
|
|
|
deadURI = _baseURI;
|
|
|
|
|
function setBaseURI(string calldata _baseURI) external onlyOwner {
|
|
|
|
|
baseURI = _baseURI;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Set main contract address for executing functions
|
|
|
|
@ -123,9 +115,9 @@ contract Unaboomer is ERC721, Owned {
|
|
|
|
|
/// @return string IPFS or HTTP URI to retrieve JSON metadata from
|
|
|
|
|
function tokenURI(uint256 _tokenId) public view override returns (string memory) {
|
|
|
|
|
if (ownerOf(_tokenId) == address(0)) {
|
|
|
|
|
return string(abi.encodePacked(deadURI, _tokenId.toString(), ".json"));
|
|
|
|
|
return string(abi.encodePacked(baseURI, "dead.json"));
|
|
|
|
|
} else {
|
|
|
|
|
return string(abi.encodePacked(aliveURI, _tokenId.toString(), ".json"));
|
|
|
|
|
return string(abi.encodePacked(baseURI, _tokenId.toString(), ".json"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|