The file 'bitcore\src\amount.h' and the variable 'CAmount MAX_MONEY' got nothing, really nothing to do with the maximum distribution of the amount of coins.
This variable is a security check which outputs the maximum amount of movable coins per txid and is not the maximum amount of coins in total.
Everyone who would like to be able to rate a file or variable should inform themselves before any statement :
https://bitcoin.stackexchange.com/questions/36612/why-doesnt-changing-max-money-change-the-maximum-number-of-coins
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
// Force block reward to zero when right shift is undefined.
if (halvings >= 64)
return 0;
CAmount nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
nSubsidy >>= halvings;
return nSubsidy;
}
Here you can see the initial block reward of 50 coins is hard coded. The halving interval consensusParams.nSubsidyHalvingInterval is set in chainparams.cpp
in the constructors for CMainParams, CTestNetParams and CRegTestParams respectively (the respective default values are 210000, 210000, 150)."
The file main.cpp was split into various files during the update history of Bitcoin, including the file 'validation.cpp'.
The way of calculation of the maximum Coin amount as well as the Blockhalvings are contained in this file:
https://github.com/LIMXTEC/BitCore/blob/master/src/validation.cpp#L1167
Your Bitcore Team - Chris, Steve and Jon