1
This commit is contained in:
parent
1c8c2745bf
commit
dfe106e953
@ -552,6 +552,15 @@ bool Human::IsCollisionInMapService()
|
|||||||
DropItems(obstacle);
|
DropItems(obstacle);
|
||||||
}
|
}
|
||||||
obstacle->BroadcastFullState(room);
|
obstacle->BroadcastFullState(room);
|
||||||
|
if (obstacle->IsEntitySubType(EST_RoomObstacle)) {
|
||||||
|
bool is_terminator_airdrop_box = ((RoomObstacle*)obstacle)->is_terminator_airdrop_box;
|
||||||
|
if (is_terminator_airdrop_box && GetRace() == kHumanRace) {
|
||||||
|
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(TERMINATOR_BUFF_ID);
|
||||||
|
if (buff_meta) {
|
||||||
|
AddBuff(this, buff_meta, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
Global::last_collider = collider;
|
Global::last_collider = collider;
|
||||||
return true;
|
return true;
|
||||||
@ -3042,6 +3051,21 @@ void Human::ProcBuffEffect(Human* caster, Buff* buff)
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case kBET_Terminator:
|
||||||
|
{
|
||||||
|
if (GetRace() == kHumanRace &&
|
||||||
|
MetaMgr::Instance()->terminator_meta &&
|
||||||
|
meta != MetaMgr::Instance()->terminator_meta) {
|
||||||
|
WinExp(this, MetaMgr::Instance()->terminator_meta->i->exp() + 1);
|
||||||
|
room->NotifySysPiao("终结者出现", a8::MkRgb(255, 0, 0), 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case kBET_PlayShotAni:
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -345,6 +345,7 @@ public:
|
|||||||
if (!MetaMgr::Instance()->android_meta) {
|
if (!MetaMgr::Instance()->android_meta) {
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
MetaMgr::Instance()->terminator_meta = MetaMgr::Instance()->GetPlayer(5005);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
Check();
|
Check();
|
||||||
|
@ -131,6 +131,7 @@ class MetaMgr : public a8::Singleton<MetaMgr>
|
|||||||
int map_cell_width = 64 * 8;
|
int map_cell_width = 64 * 8;
|
||||||
MetaData::Player* human_meta = nullptr;
|
MetaData::Player* human_meta = nullptr;
|
||||||
MetaData::Player* android_meta = nullptr;
|
MetaData::Player* android_meta = nullptr;
|
||||||
|
MetaData::Player* terminator_meta = nullptr;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
MetaDataLoader* loader_ = nullptr;
|
MetaDataLoader* loader_ = nullptr;
|
||||||
|
@ -1415,8 +1415,8 @@ void Room::AirDrop(int appear_time, int box_id, int airdrop_id)
|
|||||||
{
|
{
|
||||||
Room* room = (Room*)param.sender.GetUserData();
|
Room* room = (Room*)param.sender.GetUserData();
|
||||||
if (!room->IsGameOver()) {
|
if (!room->IsGameOver()) {
|
||||||
int airdrop_id = a8::Low32(param.param1.GetInt());
|
int airdrop_id = a8::Low32(param.param1.GetInt64());
|
||||||
int box_id = a8::High32(param.param1.GetInt());
|
int box_id = a8::High32(param.param1.GetInt64());
|
||||||
RoomObstacle* obstacle = room->CreateObstacle
|
RoomObstacle* obstacle = room->CreateObstacle
|
||||||
(
|
(
|
||||||
box_id,
|
box_id,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user