本文整理汇总了C++中player::fire_gun方法的典型用法代码示例。如果您正苦于以下问题:C++ player::fire_gun方法的具体用法?C++ player::fire_gun怎么用?C++ player::fire_gun使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类player
的用法示例。
在下文中一共展示了player::fire_gun方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fire
int turret_data::fire( player &p, const tripoint &target )
{
if( !veh || !part ) {
return 0;
}
int shots = 0;
p.add_effect( effect_on_roof, 1 );
p.recoil = abs( veh->velocity ) / 100 / 4;
auto mode = base()->gun_current_mode();
auto ammo = ammo_current();
long qty = mode->ammo_required();
if( part->info().has_flag( "USE_TANKS" ) ) {
mode->ammo_set( ammo, std::min( qty * mode.qty, long( veh->fuel_left( ammo ) ) ) );
}
shots = p.fire_gun( target, mode.qty, *mode );
if( part->info().has_flag( "USE_TANKS" ) ) {
veh->drain( ammo, qty * shots );
mode->ammo_unset();
}
veh->drain( fuel_type_battery, mode->get_gun_ups_drain() * shots );
p.remove_effect( effect_on_roof );
return shots;
}
示例2: fire
void game::fire(player &p, int tarx, int tary, std::vector<point> &, bool burst) {
p.fire_gun(tarx, tary, burst);
}