MCPcopy Create free account
hub / github.com/Segs/Segs / cmdHandler_LevelUpXp

Function cmdHandler_LevelUpXp

Projects/CoX/Servers/MapServer/SlashCommand.cpp:983–1007  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

981}
982
983void cmdHandler_LevelUpXp(const QStringList &params, MapClientSession &sess)
984{
985 GameDataStore &data(getGameData());
986
987 // must adjust level for 0-index array, capped at 49
988 uint32_t level = params.value(0).toUInt();
989 uint32_t max_level = data.expMaxLevel();
990 level = std::max(uint32_t(0), std::min(level, max_level));
991
992 // XP must be high enough for the level you're advancing to
993 // since this slash command is forcing a levelup, let's
994 // increase xp accordingly
995 if(getXP(*sess.m_ent->m_char) < data.expForLevel(level))
996 setXP(*sess.m_ent->m_char, data.expForLevel(level));
997 else
998 return;
999
1000 qCDebug(logPowers) << "LEVELUP" << sess.m_ent->name() << "to" << level + 1
1001 << "NumPowers:" << countAllOwnedPowers(sess.m_ent->m_char->m_char_data, false) // no temps
1002 << "NumPowersAtLevel:" << data.countForLevel(level, data.m_pi_schedule.m_Power);
1003
1004 // send levelup pkt to client
1005 sess.m_ent->m_char->m_client_window_state = ClientWindowState::Training; // flag character so we can handle dialog response
1006 sendLevelUp(sess);
1007}
1008
1009void cmdHandler_FaceEntity(const QStringList &params, MapClientSession &sess)
1010{

Callers

nothing calls this directly

Calls 9

getXPFunction · 0.85
setXPFunction · 0.85
countAllOwnedPowersFunction · 0.85
sendLevelUpFunction · 0.85
expMaxLevelMethod · 0.80
expForLevelMethod · 0.80
countForLevelMethod · 0.80
valueMethod · 0.45
nameMethod · 0.45

Tested by

no test coverage detected