Check if this helps
uint public minLimitToGetBonus = 1000 * (10 ** decimals) function getToken() public { if(balances[msg.sender] > minLimitToGetBonus){ // give bonus } else{ // process normally } }
Edit 1: As per discussion in comments:
contract BunusCoin{ uint minLimitToGetBonus = 1000; bool InTime = true; uint rate = 3000; mapping(address => uint ) public balances; function NoMoreHoops() public payable{ require(InTime); uint tokensPurchasing = msg.value * rate ; // no of tokens purchasing // if you want to consider prev balances as well. Uncomment below line // totalTokens = balances[msg.sender].safeAdd(tokensPurchasing); // else uint totalTokens = tokensPurchasing ; // check eligibility for Bonus if(totalTokens > minLimitToGetBonus){ tokensPurchasing = tokensPurchasing .safeMul(1500).safeDiv(100); // 50% bonus } balances[msg.sender] = safeAdd(balances[msg.sender], tokensPurchasing); _totalSupply = safeAdd(_totalSupply, tokensPurchasing); Transfer(address(0), msg.sender, tokensPurchasing); owner.transfer(msg.value); } }