添加保护逻辑
This commit is contained in:
parent
f9100e209a
commit
4277ae2f99
@ -2206,7 +2206,7 @@ void Human::GenBattleReportData(a8::MutableXObject* params)
|
||||
}
|
||||
}
|
||||
}//end if rank_reward_meta
|
||||
params->SetVal("items", items_str);
|
||||
params->SetVal("items", items_str != "|" ? items_str : "");
|
||||
}
|
||||
{
|
||||
stats.pass_score = MetaMgr::Instance()->GetKillPointParam1(stats.kills);
|
||||
@ -3208,6 +3208,38 @@ void Human::CancelRevive()
|
||||
}
|
||||
}
|
||||
|
||||
void Human::ProcNewBieLogic()
|
||||
{
|
||||
if (a8::HasBitFlag(status, HS_AlreadyProcNewBieLogic)) {
|
||||
return;
|
||||
}
|
||||
a8::SetBitFlag(status, HS_AlreadyProcNewBieLogic);
|
||||
//刷一个机器人
|
||||
room->xtimer.AddDeadLineTimerAndAttach
|
||||
(SERVER_FRAME_RATE * MetaMgr::Instance()->newbie_first_robot_appeartime,
|
||||
a8::XParams()
|
||||
.SetSender(this),
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
Human* hum = (Human*)param.sender.GetUserData();
|
||||
hum->room->ShuaNewBieAndroid(hum);
|
||||
},
|
||||
&xtimer_attacher.timer_list_
|
||||
);
|
||||
//6秒后出现空投
|
||||
room->xtimer.AddDeadLineTimerAndAttach
|
||||
(SERVER_FRAME_RATE * MetaMgr::Instance()->newbie_airdrop_appeartime,
|
||||
a8::XParams()
|
||||
.SetSender(this),
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
Human* hum = (Human*)param.sender.GetUserData();
|
||||
hum->room->InitAirDrop();
|
||||
},
|
||||
&xtimer_attacher.timer_list_
|
||||
);
|
||||
}
|
||||
|
||||
void Human::ClearLordMode()
|
||||
{
|
||||
Buff* buff = GetBuffByEffectId(kBET_LordMode);
|
||||
|
@ -21,6 +21,7 @@ enum HumanStatus
|
||||
HS_NewBieNpc = 3,
|
||||
HS_AlreadyShow = 4,
|
||||
HS_AlreadyEquip = 5,
|
||||
HS_AlreadyProcNewBieLogic = 6,
|
||||
HS_End
|
||||
};
|
||||
|
||||
@ -252,6 +253,7 @@ class Human : public MoveableEntity
|
||||
bool IsPlayer();
|
||||
bool IsAndroid();
|
||||
void DropItems(Obstacle* obstacle);
|
||||
void ProcNewBieLogic();
|
||||
|
||||
protected:
|
||||
void _UpdateMove(int speed);
|
||||
|
@ -575,30 +575,7 @@ void Player::LootInteraction(Loot* entity)
|
||||
if (room->room_type == RT_NewBrid &&
|
||||
!a8::HasBitFlag(status, HS_AlreadyEquip)) {
|
||||
a8::SetBitFlag(status, HS_AlreadyEquip);
|
||||
//刷一个机器人
|
||||
room->xtimer.AddDeadLineTimerAndAttach
|
||||
(SERVER_FRAME_RATE * MetaMgr::Instance()->newbie_first_robot_appeartime,
|
||||
a8::XParams()
|
||||
.SetSender(this),
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
Human* hum = (Human*)param.sender.GetUserData();
|
||||
hum->room->ShuaNewBieAndroid(hum);
|
||||
},
|
||||
&xtimer_attacher.timer_list_
|
||||
);
|
||||
//6秒后出现空投
|
||||
room->xtimer.AddDeadLineTimerAndAttach
|
||||
(SERVER_FRAME_RATE * MetaMgr::Instance()->newbie_airdrop_appeartime,
|
||||
a8::XParams()
|
||||
.SetSender(this),
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
Human* hum = (Human*)param.sender.GetUserData();
|
||||
hum->room->InitAirDrop();
|
||||
},
|
||||
&xtimer_attacher.timer_list_
|
||||
);
|
||||
ProcNewBieLogic();
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -1702,6 +1702,20 @@ void Room::NotifyGameStart()
|
||||
room->waiting_start = false;
|
||||
},
|
||||
&xtimer_attacher_.timer_list_);
|
||||
if (room_type == RT_NewBrid) {
|
||||
xtimer.AddDeadLineTimerAndAttach
|
||||
(SERVER_FRAME_RATE * MetaMgr::Instance()->level0room_robot_protect_time,
|
||||
a8::XParams()
|
||||
.SetSender(this),
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
Room* room = (Room*)param.sender.GetUserData();
|
||||
if (room->first_newbie) {
|
||||
room->first_newbie->ProcNewBieLogic();
|
||||
}
|
||||
},
|
||||
&xtimer_attacher_.timer_list_);
|
||||
}
|
||||
if (room_type == RT_MidBrid) {
|
||||
ShuaAndroidTimerFunc();
|
||||
DieAndroidTimerFunc();
|
||||
|
Loading…
x
Reference in New Issue
Block a user