1
This commit is contained in:
parent
e96243a29a
commit
b8c85a3959
@ -78,5 +78,43 @@ void Car::GetOn(Human* passenger)
|
||||
if (later_removed_) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (meta->int_param2 <= 0) {
|
||||
abort();
|
||||
}
|
||||
if (meta->int_param2 <= passengers_.size()) {
|
||||
return;
|
||||
}
|
||||
if (passengers_.find(passenger) != passengers_.end()) {
|
||||
return;
|
||||
}
|
||||
if (passenger->GetCar()) {
|
||||
return;
|
||||
}
|
||||
for (auto hum : passengers_) {
|
||||
if (hum->team_id != passenger->team_id) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
passengers_.insert(passenger);
|
||||
if (!driver_) {
|
||||
driver_ = passenger;
|
||||
}
|
||||
passenger->SetCar(this);
|
||||
passenger->SetPos(GetPos());
|
||||
{
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff
|
||||
(driver_ == passenger ? DRIVER_BUFFID : PASSENGER_BUFFID);
|
||||
if (buff_meta) {
|
||||
passenger->AddBuff(passenger, buff_meta, 1);
|
||||
}
|
||||
}
|
||||
{
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(meta->i->buffid());
|
||||
if (buff_meta) {
|
||||
passenger->AddBuff(passenger, buff_meta, 1);
|
||||
}
|
||||
}
|
||||
passenger->CancelAction();
|
||||
room->frame_event.AddCarChg(passenger);
|
||||
SyncAroundPlayers(__FILE__, __LINE__, __func__);
|
||||
}
|
||||
|
@ -4243,67 +4243,9 @@ void Human::DoGetOnWithLoot(Loot* entity)
|
||||
);
|
||||
car_->GetOn(this);
|
||||
room->NotifyUiUpdate();
|
||||
#if 0
|
||||
SetCar(car_);
|
||||
SetSeat(0);
|
||||
SetPos(entity->GetPos());
|
||||
{
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(DRIVER_BUFFID);
|
||||
if (buff_meta) {
|
||||
AddBuff(this, buff_meta, 1);
|
||||
}
|
||||
}
|
||||
{
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(car_->meta->i->buffid());
|
||||
if (buff_meta) {
|
||||
AddBuff(this, buff_meta, 1);
|
||||
}
|
||||
}
|
||||
CancelAction();
|
||||
SyncAroundPlayers(__FILE__, __LINE__, __func__);
|
||||
room->TakeOnCarObject(car_->car_uniid);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Human::DoGetOnWithCar(Car* car)
|
||||
{
|
||||
car->GetOn(this);
|
||||
#if 0
|
||||
if (teammate->team_id != team_id) {
|
||||
return;
|
||||
}
|
||||
if (teammate->GetEntityUniId() == GetEntityUniId()) {
|
||||
return;
|
||||
}
|
||||
if (teammate->IsDead(room)) {
|
||||
return;
|
||||
}
|
||||
if (!teammate->HasBuffEffect(kBET_Driver)) {
|
||||
return;
|
||||
}
|
||||
if (GetCar()) {
|
||||
return;
|
||||
}
|
||||
if (!teammate->GetCar()) {
|
||||
return;
|
||||
}
|
||||
teammate->GetCar()->PassengerGetOn(this);
|
||||
|
||||
SetCar(teammate->GetCar());
|
||||
SetPos(teammate->GetPos());
|
||||
{
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(PASSENGER_BUFFID);
|
||||
if (buff_meta) {
|
||||
AddBuff(this, buff_meta, 1);
|
||||
}
|
||||
}
|
||||
{
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(car_->meta->i->buffid());
|
||||
if (buff_meta) {
|
||||
AddBuff(this, buff_meta, 1);
|
||||
}
|
||||
}
|
||||
CancelAction();
|
||||
SyncAroundPlayers(__FILE__, __LINE__, __func__);
|
||||
#endif
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user