This commit is contained in:
aozhiwei 2020-11-18 19:57:27 +08:00
parent 8963e9d982
commit c752c010b5
2 changed files with 17 additions and 1 deletions

View File

@ -414,7 +414,22 @@ void Guild::_CMGuildGainExp(f8::MsgHdr& hdr, const cs::CMGuildGainExp& msg)
if (!next_guild_meta || !curr_guild_meta) {
break;
}
int add_exp = std::max(curr_guild_meta->i->experience(), 0);
if (curr_guild_meta->i->experience() <= GuildExp()) {
++guild_lv_;
guild_exp_ = 0;
next_guild_meta = MetaMgr::Instance()->GetGuild(GuildLv() + 1);
} else {
int add_exp = curr_guild_meta->i->experience() - GuildExp();
if (exp < add_exp) {
guild_exp_ += std::min(add_exp, exp);
break;
} else {
exp -= add_exp;
++guild_lv_;
guild_exp_ = 0;
next_guild_meta = MetaMgr::Instance()->GetGuild(GuildLv() + 1);
}
}
} while (next_guild_meta && exp > 0);
}

View File

@ -32,6 +32,7 @@ public:
long long GuildId() { return guild_id_; }
int GuildLv() { return guild_lv_; }
int GuildExp() { return guild_exp_; }
const std::string GuildName() { return guild_name_; }
int GetMemberJob(const std::string& account_id);
int Status() { return guild_status_; }