1
This commit is contained in:
parent
ab2f33eafd
commit
bb0cbc1c0b
@ -1,6 +1,7 @@
|
||||
#include "precompile.h"
|
||||
|
||||
#include "car.h"
|
||||
#include "collider.h"
|
||||
#include "human.h"
|
||||
#include "room.h"
|
||||
#include "metamgr.h"
|
||||
@ -249,4 +250,28 @@ void Car::BeKill(int killer_id, const std::string& killer_name, int weapon_id)
|
||||
BroadcastDeleteState(room);
|
||||
RemoveFromAroundPlayers(room);
|
||||
room->grid_service->RemoveCreature(this);
|
||||
room->RemoveObjectLater(this);
|
||||
for (Human* passenger : passengers_) {
|
||||
if (meta->i->buffid()) {
|
||||
passenger->RemoveBuffById(meta->i->buffid());
|
||||
passenger->RecalcSelfCollider();
|
||||
}
|
||||
passenger->SetCar(nullptr);
|
||||
passenger->SetSeat(0);
|
||||
passenger->second_weapon = Weapon();
|
||||
passenger->CancelAction();
|
||||
passenger->RemoveBuffByEffectId(kBET_Driver);
|
||||
passenger->RemoveBuffByEffectId(kBET_Passenger);
|
||||
room->frame_event.AddCarChg(passenger);
|
||||
}
|
||||
}
|
||||
|
||||
void Car::GetAabbBox(AabbCollider& aabb_box)
|
||||
{
|
||||
aabb_box.active = true;
|
||||
aabb_box.owner = this;
|
||||
aabb_box._min.x = -hero_meta_->i->radius();
|
||||
aabb_box._min.y = -hero_meta_->i->radius();
|
||||
aabb_box._max.x = hero_meta_->i->radius();
|
||||
aabb_box._max.y = hero_meta_->i->radius();
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ class Car : public Creature
|
||||
virtual void FillMFObjectPart(Room* room, Human* hum, cs::MFObjectPart* part_data) override;
|
||||
virtual void FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_data) override;
|
||||
virtual void OnBulletHit(Bullet* bullet) override;
|
||||
virtual void GetAabbBox(AabbCollider& aabb_box) override;
|
||||
|
||||
bool IsDriver(Human* hum) { return driver_ == hum && driver_; }
|
||||
void GetDown(Human* passenger);
|
||||
|
Loading…
x
Reference in New Issue
Block a user