1
This commit is contained in:
parent
1ce91113b9
commit
a001cd6468
@ -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__);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user