添加保护逻辑
This commit is contained in:
parent
f9100e209a
commit
4277ae2f99
@ -2206,7 +2206,7 @@ void Human::GenBattleReportData(a8::MutableXObject* params)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}//end if rank_reward_meta
|
}//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);
|
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()
|
void Human::ClearLordMode()
|
||||||
{
|
{
|
||||||
Buff* buff = GetBuffByEffectId(kBET_LordMode);
|
Buff* buff = GetBuffByEffectId(kBET_LordMode);
|
||||||
|
@ -21,6 +21,7 @@ enum HumanStatus
|
|||||||
HS_NewBieNpc = 3,
|
HS_NewBieNpc = 3,
|
||||||
HS_AlreadyShow = 4,
|
HS_AlreadyShow = 4,
|
||||||
HS_AlreadyEquip = 5,
|
HS_AlreadyEquip = 5,
|
||||||
|
HS_AlreadyProcNewBieLogic = 6,
|
||||||
HS_End
|
HS_End
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -252,6 +253,7 @@ class Human : public MoveableEntity
|
|||||||
bool IsPlayer();
|
bool IsPlayer();
|
||||||
bool IsAndroid();
|
bool IsAndroid();
|
||||||
void DropItems(Obstacle* obstacle);
|
void DropItems(Obstacle* obstacle);
|
||||||
|
void ProcNewBieLogic();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void _UpdateMove(int speed);
|
void _UpdateMove(int speed);
|
||||||
|
@ -575,30 +575,7 @@ void Player::LootInteraction(Loot* entity)
|
|||||||
if (room->room_type == RT_NewBrid &&
|
if (room->room_type == RT_NewBrid &&
|
||||||
!a8::HasBitFlag(status, HS_AlreadyEquip)) {
|
!a8::HasBitFlag(status, HS_AlreadyEquip)) {
|
||||||
a8::SetBitFlag(status, HS_AlreadyEquip);
|
a8::SetBitFlag(status, HS_AlreadyEquip);
|
||||||
//刷一个机器人
|
ProcNewBieLogic();
|
||||||
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_
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1702,6 +1702,20 @@ void Room::NotifyGameStart()
|
|||||||
room->waiting_start = false;
|
room->waiting_start = false;
|
||||||
},
|
},
|
||||||
&xtimer_attacher_.timer_list_);
|
&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) {
|
if (room_type == RT_MidBrid) {
|
||||||
ShuaAndroidTimerFunc();
|
ShuaAndroidTimerFunc();
|
||||||
DieAndroidTimerFunc();
|
DieAndroidTimerFunc();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user