car_weapon->spec_weapon
This commit is contained in:
parent
4c12596090
commit
9a857a0720
@ -84,7 +84,7 @@ void Car::GetDown(Human* passenger)
|
||||
}
|
||||
passenger->SetCar(nullptr);
|
||||
passenger->SetSeat(0);
|
||||
passenger->car_weapon = Weapon();
|
||||
passenger->spec_weapon = Weapon();
|
||||
passenger->CancelAction();
|
||||
passenger->RemoveBuffByEffectId(kBET_Driver);
|
||||
passenger->RemoveBuffByEffectId(kBET_Passenger);
|
||||
|
@ -698,14 +698,14 @@ void Creature::ProcBuffEffect(Creature* caster, Buff* buff)
|
||||
equip_meta->i->equip_type() == EQUIP_TYPE_CAR &&
|
||||
equip_meta->i->equip_subtype() == 1
|
||||
) {
|
||||
MetaData::Equip* car_weapon_meta = MetaMgr::Instance()->GetEquip(equip_meta->int_param1);
|
||||
if (car_weapon_meta) {
|
||||
car_weapon.weapon_idx = 100;
|
||||
car_weapon.weapon_id = car_weapon_meta->i->id();
|
||||
car_weapon.weapon_lv = 1;
|
||||
car_weapon.meta = car_weapon_meta;
|
||||
car_weapon.Recalc();
|
||||
car_weapon.ammo = car_weapon.GetClipVolume();
|
||||
MetaData::Equip* spec_weapon_meta = MetaMgr::Instance()->GetEquip(equip_meta->int_param1);
|
||||
if (spec_weapon_meta) {
|
||||
spec_weapon.weapon_idx = 100;
|
||||
spec_weapon.weapon_id = spec_weapon_meta->i->id();
|
||||
spec_weapon.weapon_lv = 1;
|
||||
spec_weapon.meta = spec_weapon_meta;
|
||||
spec_weapon.Recalc();
|
||||
spec_weapon.ammo = spec_weapon.GetClipVolume();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1243,8 +1243,8 @@ void Creature::Shot(a8::Vec2& target_dir, bool& shot_ok, float fly_distance)
|
||||
void Creature::AutoLoadingBullet(bool manual)
|
||||
{
|
||||
Weapon* p_weapon = GetCurrWeapon();
|
||||
if (car_weapon.meta) {
|
||||
p_weapon = &car_weapon;
|
||||
if (spec_weapon.meta) {
|
||||
p_weapon = &spec_weapon;
|
||||
}
|
||||
if (p_weapon->weapon_idx != 0 &&
|
||||
(p_weapon->ammo <= 0 ||
|
||||
|
@ -47,7 +47,7 @@ class Creature : public MoveableEntity
|
||||
long long poisoning_time = 0;
|
||||
bool playing_skill = false;
|
||||
|
||||
Weapon car_weapon;
|
||||
Weapon spec_weapon;
|
||||
a8::Vec2 buff_vec2_param1;
|
||||
|
||||
bool need_sync_active_player = false;
|
||||
|
@ -46,8 +46,8 @@ void FrameEvent::AddShot(Creature* sender)
|
||||
auto& p = std::get<1>(tuple);
|
||||
|
||||
p.set_player_id(sender->GetEntityUniId());
|
||||
if (sender->car_weapon.meta) {
|
||||
sender->car_weapon.ToPB(p.mutable_weapon());
|
||||
if (sender->spec_weapon.meta) {
|
||||
sender->spec_weapon.ToPB(p.mutable_weapon());
|
||||
} else {
|
||||
sender->GetCurrWeapon()->ToPB(p.mutable_weapon());
|
||||
}
|
||||
|
@ -411,12 +411,12 @@ void Human::FillMFTeamData(cs::MFTeamData* team_data, bool is_game_over)
|
||||
|
||||
void Human::CarShot(a8::Vec2& target_dir)
|
||||
{
|
||||
if (!car_weapon.meta) {
|
||||
if (!spec_weapon.meta) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (car_weapon.weapon_idx != 0 &&
|
||||
car_weapon.ammo <= 0) {
|
||||
if (spec_weapon.weapon_idx != 0 &&
|
||||
spec_weapon.ammo <= 0) {
|
||||
AutoLoadingBullet();
|
||||
return;
|
||||
}
|
||||
@ -432,15 +432,15 @@ void Human::CarShot(a8::Vec2& target_dir)
|
||||
}
|
||||
|
||||
InternalShot(this,
|
||||
car_weapon.meta,
|
||||
car_weapon.GetUpgradeMeta(),
|
||||
car_weapon.bullet_meta,
|
||||
car_weapon.weapon_lv,
|
||||
spec_weapon.meta,
|
||||
spec_weapon.GetUpgradeMeta(),
|
||||
spec_weapon.bullet_meta,
|
||||
spec_weapon.weapon_lv,
|
||||
0,
|
||||
5,
|
||||
false);
|
||||
|
||||
--car_weapon.ammo;
|
||||
--spec_weapon.ammo;
|
||||
last_shot_frameno_ = room->GetFrameNo();
|
||||
}
|
||||
|
||||
@ -3157,8 +3157,8 @@ void Human::OnChgToTerminator()
|
||||
void Human::ProcReloadAction()
|
||||
{
|
||||
Weapon* p_weapon = GetCurrWeapon();
|
||||
if (car_weapon.meta) {
|
||||
p_weapon = &car_weapon;
|
||||
if (spec_weapon.meta) {
|
||||
p_weapon = &spec_weapon;
|
||||
}
|
||||
|
||||
if (p_weapon->weapon_idx == action_target_id &&
|
||||
@ -3297,8 +3297,8 @@ void Human::NextReload(int prev_weapon_id, int prev_weapon_idx)
|
||||
return;
|
||||
}
|
||||
Weapon* p_weapon = GetCurrWeapon();
|
||||
if (car_weapon.meta) {
|
||||
p_weapon = &car_weapon;
|
||||
if (spec_weapon.meta) {
|
||||
p_weapon = &spec_weapon;
|
||||
}
|
||||
if (p_weapon &&
|
||||
p_weapon->weapon_id == prev_weapon_id &&
|
||||
|
@ -194,8 +194,8 @@ void Player::UpdateShot()
|
||||
return;
|
||||
}
|
||||
Weapon* p_weapon = GetCurrWeapon();
|
||||
if (car_weapon.meta) {
|
||||
p_weapon = &car_weapon;
|
||||
if (spec_weapon.meta) {
|
||||
p_weapon = &spec_weapon;
|
||||
}
|
||||
if (shot_hold) {
|
||||
++series_shot_frames;
|
||||
@ -402,7 +402,7 @@ void Player::UpdateUseSkill()
|
||||
|
||||
void Player::Shot()
|
||||
{
|
||||
if (car_weapon.meta) {
|
||||
if (spec_weapon.meta) {
|
||||
CarShot(attack_dir);
|
||||
return;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user