1
This commit is contained in:
parent
0a15ec3288
commit
1ac96fa95f
@ -1180,6 +1180,7 @@ void Player::_CMRevive(f8::MsgHdr& hdr, const cs::CMRevive& msg)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
InternalAdOk();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1239,13 +1240,34 @@ void Player::_CMAdEnd(f8::MsgHdr& hdr, const cs::CMAdEnd& msg)
|
||||
if (GetBuffByEffectId(kBET_LordMode)) {
|
||||
return;
|
||||
}
|
||||
InternalAdOk();
|
||||
}
|
||||
|
||||
void Player::InternalAdCancel()
|
||||
{
|
||||
if (GetBuffByEffectId(kBET_AdPlaying)) {
|
||||
RemoveBuffByEffectId(kBET_AdPlaying);
|
||||
if (ad_timer_) {
|
||||
room->xtimer.DeleteTimer(ad_timer_);
|
||||
ad_timer_ = nullptr;
|
||||
}
|
||||
}
|
||||
if (GetBuffByEffectId(kBET_LordMode)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void Player::InternalAdOk()
|
||||
{
|
||||
if (a8::HasBitFlag(status, HS_AlreadyLordMode)) {
|
||||
return;
|
||||
}
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(ADPLAY_BUFFID);
|
||||
if (buff_meta) {
|
||||
MetaData::Buff* lord_buff_meta = nullptr;
|
||||
if (msg.param() == 1) {
|
||||
if (rand() % 2 < 1) {
|
||||
lord_buff_meta = MetaMgr::Instance()->GetBuff(buff_meta->param1);
|
||||
} else if (msg.param() == 2) {
|
||||
} else {
|
||||
lord_buff_meta = MetaMgr::Instance()->GetBuff(buff_meta->param2);
|
||||
}
|
||||
if (lord_buff_meta) {
|
||||
@ -1267,19 +1289,4 @@ void Player::_CMAdEnd(f8::MsgHdr& hdr, const cs::CMAdEnd& msg)
|
||||
room->xtimer.DeleteTimer(ad_timer_);
|
||||
ad_timer_ = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Player::InternalAdCancel()
|
||||
{
|
||||
if (GetBuffByEffectId(kBET_AdPlaying)) {
|
||||
RemoveBuffByEffectId(kBET_AdPlaying);
|
||||
if (ad_timer_) {
|
||||
room->xtimer.DeleteTimer(ad_timer_);
|
||||
ad_timer_ = nullptr;
|
||||
}
|
||||
}
|
||||
if (GetBuffByEffectId(kBET_LordMode)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -98,4 +98,5 @@ class Player : public Human
|
||||
|
||||
private:
|
||||
void InternalAdCancel();
|
||||
void InternalAdOk();
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user