function buyXid(uint256 _affCode)
        isActivated()
        isHuman()
        isWithinLimits(msg.value)
        public
        payable
    {
        
        POHMODATASETS.EventReturns memory _eventData_ = determinePID(_eventData_);

        
        uint256 _pID = pIDxAddr_[msg.sender];

        
        
        if (_affCode == 0 || _affCode == _pID)
        {
            
            _affCode = plyr_[_pID].laff;

        
        } else if (_affCode != plyr_[_pID].laff) {
            
            plyr_[_pID].laff = _affCode;
        }

        
        buyCore(_pID, _affCode, _eventData_);
    }