This commit is contained in:
aozhiwei 2021-03-04 19:58:45 +08:00
parent 1ce91113b9
commit a001cd6468

View File

@ -36,9 +36,15 @@ void Car::GetDown(Human* passenger)
if (passengers.find(passenger) == passengers.end()) {
return;
}
if (driver == passenger) {
driver = nullptr;
}
if (meta->i->buffid()) {
passenger->RemoveBuffById(meta->i->buffid());
passenger->RecalcSelfCollider();
}
passengers.erase(passenger);
if (passengers.empty()) {
driver = nullptr;
int loot_uniid = room->CreateLoot(meta->i->id(), GetPos(), 1, 1);
Entity* loot_entity = room->GetEntityByUniId(loot_uniid);
if (loot_entity && loot_entity->IsEntityType(ET_Loot)) {
@ -50,33 +56,13 @@ void Car::GetDown(Human* passenger)
loot_entity->GetPos());
}
room->TakeOffCarObject(loot_uniid, GetPos());
if (meta->i->buffid()) {
passenger->RemoveBuffById(meta->i->buffid());
passenger->RecalcSelfCollider();
}
passenger->SyncAroundPlayers(__FILE__, __LINE__, __func__);
passenger->room->NotifyUiUpdate();
passenger->SetCar(nullptr);
passenger->SetSeat(0);
passenger->car_weapon = Weapon();
passenger->CancelAction();
passenger->RemoveBuffByEffectId(kBET_Driver);
passenger->RemoveBuffByEffectId(kBET_Passenger);
room->frame_event.AddCarChg(passenger);
} else {
if (driver == passenger) {
driver = nullptr;
}
if (meta->i->buffid()) {
passenger->RemoveBuffById(meta->i->buffid());
passenger->RecalcSelfCollider();
}
passenger->SetCar(nullptr);
passenger->SetSeat(0);
passenger->car_weapon = Weapon();
passenger->CancelAction();
passenger->RemoveBuffByEffectId(kBET_Driver);
passenger->RemoveBuffByEffectId(kBET_Passenger);
room->frame_event.AddCarChg(passenger);
}
passenger->SetCar(nullptr);
passenger->SetSeat(0);
passenger->car_weapon = Weapon();
passenger->CancelAction();
passenger->RemoveBuffByEffectId(kBET_Driver);
passenger->RemoveBuffByEffectId(kBET_Passenger);
room->frame_event.AddCarChg(passenger);
SyncAroundPlayers(__FILE__, __LINE__, __func__);
}