1
This commit is contained in:
parent
35fd26271d
commit
88bb1919e3
@ -33,8 +33,14 @@ void Bullet::Update(int delta_time)
|
|||||||
float distance = (pos - born_pos).Norm();
|
float distance = (pos - born_pos).Norm();
|
||||||
if (meta->i->_inventory_slot() == 5 ||
|
if (meta->i->_inventory_slot() == 5 ||
|
||||||
meta->i->_inventory_slot() == 6) {
|
meta->i->_inventory_slot() == 6) {
|
||||||
if (distance >= fly_distance) {
|
std::vector<Entity*> objects;
|
||||||
//炸弹烟雾弹飞到目的地
|
int detection_flags = 0;
|
||||||
|
{
|
||||||
|
a8::SetBitFlag(detection_flags, ET_Obstacle);
|
||||||
|
a8::SetBitFlag(detection_flags, ET_Building);
|
||||||
|
}
|
||||||
|
room->CollisionDetection(this, detection_flags, objects);
|
||||||
|
if (!objects.empty() || distance >= fly_distance) {
|
||||||
ProcBomb();
|
ProcBomb();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -118,7 +124,12 @@ void Bullet::ProcBomb()
|
|||||||
explosions = &itr->second;
|
explosions = &itr->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector2D bomb_pos = born_pos + born_dir * fly_distance;
|
#if 1
|
||||||
|
Vector2D bomb_pos = pos;
|
||||||
|
#else
|
||||||
|
float distance = (pos - born_pos).Norm();
|
||||||
|
Vector2D bomb_pos = born_pos + born_dir * distance;
|
||||||
|
#endif
|
||||||
cs::MFExplosion* explosion = explosions->Add();
|
cs::MFExplosion* explosion = explosions->Add();
|
||||||
explosion->set_item_id(meta->i->id());
|
explosion->set_item_id(meta->i->id());
|
||||||
bomb_pos.ToPB(explosion->mutable_pos());
|
bomb_pos.ToPB(explosion->mutable_pos());
|
||||||
@ -138,7 +149,12 @@ void Bullet::ProcBomb()
|
|||||||
smokes = &itr->second;
|
smokes = &itr->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector2D bomb_pos = born_pos + born_dir * fly_distance;
|
#if 1
|
||||||
|
Vector2D bomb_pos = pos;
|
||||||
|
#else
|
||||||
|
float distance = (pos - born_pos).Norm();
|
||||||
|
Vector2D bomb_pos = born_pos + born_dir * distance;
|
||||||
|
#endif
|
||||||
cs::MFSmoke* smoke = smokes->Add();
|
cs::MFSmoke* smoke = smokes->Add();
|
||||||
smoke->set_item_id(meta->i->id());
|
smoke->set_item_id(meta->i->id());
|
||||||
bomb_pos.ToPB(smoke->mutable_pos());
|
bomb_pos.ToPB(smoke->mutable_pos());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user