dword GetRewardValue(dword function, dword amount, CWorldClient* client, word nDupCNT){ switch(function){ case 0: { dword tempVal = amount + 0x1E; tempVal *= client->GetStat(sCharm) + 0x0a; tempVal *= (100 & 0xFFFF);//World Rate tempVal *= 0x14;//Fame + 0x14 tempVal = ((tempVal / (client->stats_base[sLevel] + 0x46)) / 0x7530) + amount; return tempVal; } break; case 1: { dword tempVal = (client->stats_base[sLevel] + 3) * amount; tempVal *= (client->GetStat(sCharm) >> 1) + client->stats_base[sLevel] + 0x28; tempVal *= (100 & 0xFFFF);//World Rate return tempVal / 0x2710; } break; case 2: return (amount * nDupCNT); break; case 3: case 5: { dword tempVal = amount + 0x14; tempVal *= client->GetStat(sCharm) + 0x0a; tempVal *= (100 & 0xFFFF);//World Rate tempVal *= 0x14;//Fame + 0x14 tempVal = ((tempVal / (client->stats_base[sLevel] + 0x46)) / 0x7530) + amount; return tempVal; } break; case 4: { dword tempVal = amount + 0x2; tempVal *= (client->GetStat(sCharm) + client->stats_base[sLevel] + 0x28); tempVal *= 0x28;//Fame + 0x28 tempVal *= (100 & 0xFFFF);//World Rate return tempVal / 0x222E0; } break; case 6: { dword tempVal = amount + 0x14; tempVal *= client->GetStat(sCharm) + client->stats_base[sLevel]; tempVal *= 0x14;//Fame + 0x14 tempVal *= (100 & 0xFFFF);//World Rate return (tempVal / 0x2DC6C0) + amount; } break; } return amount; }