📅
Joined
Jul 22, 2025
💬
Messages
208
👍
Thanks
1,441
🏆
Points
425
📍
Location
London
Search in char_battle.cpp:
Below you will find this part of the code
Replace with:
Code:
void CHARACTER::RewardGold(LPCHARACTER pkAttacker)
{
Below you will find this part of the code
Code:
if (GetMobRank() >= MOB_RANK_BOSS && !IsStone() && GetMobTable().dwGoldMax != 0)
{
if (1 == number(1, iGold10DropPct))
iGoldMultipler *= 10;
int iSplitCount = number(25, 35);
for (int i = 0; i < iSplitCount; ++i)
{
int iGold = number(GetMobTable().dwGoldMin, GetMobTable().dwGoldMax) / iSplitCount;
if (test_server)
sys_log(0, "iGold %d", iGold);
iGold = iGold * CHARACTER_MANAGER::instance().GetMobGoldAmountRate(pkAttacker) / 100;
iGold *= iGoldMultipler;
if (iGold == 0)
continue;
{...}{...}{...}
{...}{...}{...}
{...}{...}{...}
{...}{...}{...}
DBManager::instance().SendMoneyLog(MONEY_LOG_MONSTER, GetRaceNum(), iTotalGold);
}
Replace with:
Code:
if (GetMobRank() >= MOB_RANK_BOSS && !IsStone() && GetMobTable().dwGoldMax != 0)
{
if (1 == number(1, iGold10DropPct))
iGoldMultipler *= 10;
int iSplitCount = number(25, 35);
int iTotalGoldAmount = 0;
for (int i = 1; i <= iSplitCount; ++i)
{
int iGold = number(GetMobTable().dwGoldMin, GetMobTable().dwGoldMax) / iSplitCount;
iGold = iGold * CHARACTER_MANAGER::instance().GetMobGoldAmountRate(pkAttacker) / 100;
iGold *= iGoldMultipler;
if (iGold == 0)
continue;
iTotalGoldAmount += iGold;
}
if (iTotalGoldAmount > 0)
{
pkAttacker->GiveGold(iTotalGoldAmount);
iTotalGold += iTotalGoldAmount;
}
}
else if (1 == number(1, iGold10DropPct))
{
int iTotalGoldAmount = 0;
for (int i = 0; i < 10; ++i)
{
int iGold = number(GetMobTable().dwGoldMin, GetMobTable().dwGoldMax);
iGold = iGold * CHARACTER_MANAGER::instance().GetMobGoldAmountRate(pkAttacker) / 100;
iGold *= iGoldMultipler;
if (iGold == 0)
continue;
iTotalGoldAmount += iGold;
}
if (iTotalGoldAmount > 0)
{
pkAttacker->GiveGold(iTotalGoldAmount);
iTotalGold += iTotalGoldAmount;
}
}
else
{
int iGold = number(GetMobTable().dwGoldMin, GetMobTable().dwGoldMax);
iGold = iGold * CHARACTER_MANAGER::instance().GetMobGoldAmountRate(pkAttacker) / 100;
iGold *= iGoldMultipler;
int iSplitCount;
if (iGold >= 3)
iSplitCount = number(1, 3);
else if (GetMobRank() >= MOB_RANK_BOSS)
{
iSplitCount = number(3, 10);
if ((iGold / iSplitCount) == 0)
iSplitCount = 1;
}
else
iSplitCount = 1;
if (iGold != 0)
{
pkAttacker->GiveGold(iGold);
iTotalGold += iGold;
}
}
DBManager::instance().SendMoneyLog(MONEY_LOG_MONSTER, GetRaceNum(), iTotalGold);
}





