1
This commit is contained in:
parent
627b32badf
commit
f81d20b4b7
@ -169,32 +169,43 @@ void Bullet::ProcBomb()
|
||||
}
|
||||
});
|
||||
|
||||
switch (meta->i->_inventory_slot()) {
|
||||
case 4:
|
||||
{
|
||||
//榴弹炮
|
||||
a8::Vec2 bomb_pos = GetPos();
|
||||
room->frame_event.AddExplosionEx(player, meta->i->id(), bomb_pos,
|
||||
gun_meta->i->explosion_effect());
|
||||
OnHit(objects);
|
||||
if (objects.empty()) {
|
||||
float bullet_range = gun_meta->i->range();
|
||||
if (gun_upgrade_meta && gun_upgrade_meta->GetAttrValue(gun_lv, kHAT_ShotRange) > 0) {
|
||||
bullet_range += gun_upgrade_meta->GetAttrValue(gun_lv, kHAT_ShotRange);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
{
|
||||
//手雷
|
||||
a8::Vec2 bomb_pos = GetPos();
|
||||
room->frame_event.AddExplosion(this, meta->i->id(), bomb_pos);
|
||||
OnHit(objects);
|
||||
float distance = (GetPos() - born_pos).Norm();
|
||||
if (distance >= bullet_range) {
|
||||
player->SummonObstacle(0, GetPos());
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
{
|
||||
//烟雾弹
|
||||
a8::Vec2 bomb_pos = GetPos();
|
||||
room->frame_event.AddSmoke(this, meta->i->id(), bomb_pos);
|
||||
ProcSmokeBomb();
|
||||
} else {
|
||||
switch (meta->i->_inventory_slot()) {
|
||||
case 4:
|
||||
{
|
||||
//榴弹炮
|
||||
a8::Vec2 bomb_pos = GetPos();
|
||||
room->frame_event.AddExplosionEx(player, meta->i->id(), bomb_pos,
|
||||
gun_meta->i->explosion_effect());
|
||||
OnHit(objects);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
{
|
||||
//手雷
|
||||
a8::Vec2 bomb_pos = GetPos();
|
||||
room->frame_event.AddExplosion(this, meta->i->id(), bomb_pos);
|
||||
OnHit(objects);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
{
|
||||
//烟雾弹
|
||||
a8::Vec2 bomb_pos = GetPos();
|
||||
room->frame_event.AddSmoke(this, meta->i->id(), bomb_pos);
|
||||
ProcSmokeBomb();
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
room->RemoveObjectLater(this);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user