1
This commit is contained in:
parent
a9fc65206d
commit
c26b2c05f3
@ -526,10 +526,15 @@ bool Human::IsCollisionInMapService()
|
|||||||
if (!collider->owner->dead && TestCollision((ColliderComponent*)collider)) {
|
if (!collider->owner->dead && TestCollision((ColliderComponent*)collider)) {
|
||||||
#endif
|
#endif
|
||||||
if (last_collision_door_ != collider->owner) {
|
if (last_collision_door_ != collider->owner) {
|
||||||
|
bool is_terminator_airdrop_box = false;
|
||||||
|
if (obstacle->IsEntitySubType(EST_RoomObstacle)) {
|
||||||
|
is_terminator_airdrop_box = ((RoomObstacle*)obstacle)->is_terminator_airdrop_box;
|
||||||
|
}
|
||||||
if (!obstacle->IsDead(room) &&
|
if (!obstacle->IsDead(room) &&
|
||||||
obstacle->Attackable() &&
|
obstacle->Attackable() &&
|
||||||
obstacle->meta->i->drop() != 0 &&
|
obstacle->meta->i->drop() != 0 &&
|
||||||
room->GetGasData().gas_mode != GasInactive
|
room->GetGasData().gas_mode != GasInactive &&
|
||||||
|
(!is_terminator_airdrop_box || GetRace() == kHumanRace)
|
||||||
) {
|
) {
|
||||||
obstacle->Die(room);
|
obstacle->Die(room);
|
||||||
if (obstacle->IsDead(room)) {
|
if (obstacle->IsDead(room)) {
|
||||||
@ -542,15 +547,12 @@ 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) {
|
if (is_terminator_airdrop_box && GetRace() == kHumanRace) {
|
||||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(TERMINATOR_BUFF_ID);
|
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(TERMINATOR_BUFF_ID);
|
||||||
if (buff_meta) {
|
if (buff_meta) {
|
||||||
AddBuff(this, buff_meta, 1);
|
AddBuff(this, buff_meta, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
Global::last_collider = collider;
|
Global::last_collider = collider;
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user