func: function BuySnail(address _ref) public payable {
          require(gameStarted == true, "game hasn't started yet");
          require(tx.origin == msg.sender, "contracts not allowed");
          require(msg.value <= TOKEN_MAX_BUY, "maximum buy = 4 ETH");
          
          
          uint256 _snailsBought = ComputeBuy(msg.value);
          
          
          claimedDivs[msg.sender] = claimedDivs[msg.sender].add(_snailsBought.mul(divsPerSnail));
          
          
          maxSnail = maxSnail.add(_snailsBought);
          
          
          PotSplit(msg.value, _ref, true);
          
          
          lastHatch[msg.sender] = now;
          
          
          hatcherySnail[msg.sender] = hatcherySnail[msg.sender].add(_snailsBought);
          
          emit BoughtSnail(msg.sender, msg.value, _snailsBought);
      }