function _registerName(uint256 _playerId, address _addr, uint256 _affID, bytes32 _name, bool _isNewPlayer) internal {
        
        if (playerIdByName[_name] != 0) {
            require(playerOwnsName[_playerId][_name] == true, "Name already taken");
        }

        
        playerData[_playerId].name = _name;
        playerIdByName[_name] = _playerId;
        if (playerOwnsName[_playerId][_name] == false) {
            playerOwnsName[_playerId][_name] = true;
            playerData[_playerId].nameCount++;
            playerNamesList[_playerId][playerData[_playerId].nameCount] = _name;
        }

        
        uint256 total = address(this).balance;
        uint256 devDirect = total.mul(375).div(1000);
        owner.call.value(devDirect)();
        feeRecipient.call.value(total.sub(devDirect))();

        
        emit NameRegistered(_playerId, _addr, _name, _isNewPlayer, _affID, playerData[_affID].addr, playerData[_affID].name, msg.value, now);
    }