For people who want comments: (also cleaned up code and added defines)
Code:
#include "StdAfx.h"
#include "Setup.h"
// Gold values -- multiplied with current level
#define GOLD1 5 // lvl 1-40
#define GOLD2 10 // lvl 40-60
#define GOLD3 15 // lvl 60+
// Example: A level 45 would get 450G (45*GOLD2) by default
/* MADE BY */
/* LINK_S */
void LevelUp(Player * plr)
{
uint32 player_coinage = plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
uint32 player_coinage_gain;
if(plr->getLevel() > 60) // lvl 60+
player_coinage_gain = plr->getLevel() * (GOLD1*10000);
else if(plr->getLevel() > 40) // lvl 40-60
player_coinage_gain = plr->getLevel() * (GOLD2*10000);
else // lvl 1-40
player_coinage_gain = plr->getLevel() * (GOLD3*10000);
// Add the gold
plr->SetUInt32Value(PLAYER_FIELD_COINAGE, player_coinage + player_coinage_gain);
}
void SetupLevelUpMoney(ScriptMgr * mgr)
{
mgr->register_hook(SERVER_HOOK_EVENT_ON_POST_LEVELUP, &LevelUp);
}
I haven't tested as I don't use ascent, but it should work.