car_weapon->spec_weapon

This commit is contained in:
aozhiwei 2021-04-28 10:32:53 +08:00
parent 4c12596090
commit 9a857a0720
6 changed files with 29 additions and 29 deletions

View File

@ -84,7 +84,7 @@ void Car::GetDown(Human* passenger)
} }
passenger->SetCar(nullptr); passenger->SetCar(nullptr);
passenger->SetSeat(0); passenger->SetSeat(0);
passenger->car_weapon = Weapon(); passenger->spec_weapon = Weapon();
passenger->CancelAction(); passenger->CancelAction();
passenger->RemoveBuffByEffectId(kBET_Driver); passenger->RemoveBuffByEffectId(kBET_Driver);
passenger->RemoveBuffByEffectId(kBET_Passenger); passenger->RemoveBuffByEffectId(kBET_Passenger);

View File

@ -698,14 +698,14 @@ void Creature::ProcBuffEffect(Creature* caster, Buff* buff)
equip_meta->i->equip_type() == EQUIP_TYPE_CAR && equip_meta->i->equip_type() == EQUIP_TYPE_CAR &&
equip_meta->i->equip_subtype() == 1 equip_meta->i->equip_subtype() == 1
) { ) {
MetaData::Equip* car_weapon_meta = MetaMgr::Instance()->GetEquip(equip_meta->int_param1); MetaData::Equip* spec_weapon_meta = MetaMgr::Instance()->GetEquip(equip_meta->int_param1);
if (car_weapon_meta) { if (spec_weapon_meta) {
car_weapon.weapon_idx = 100; spec_weapon.weapon_idx = 100;
car_weapon.weapon_id = car_weapon_meta->i->id(); spec_weapon.weapon_id = spec_weapon_meta->i->id();
car_weapon.weapon_lv = 1; spec_weapon.weapon_lv = 1;
car_weapon.meta = car_weapon_meta; spec_weapon.meta = spec_weapon_meta;
car_weapon.Recalc(); spec_weapon.Recalc();
car_weapon.ammo = car_weapon.GetClipVolume(); 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) void Creature::AutoLoadingBullet(bool manual)
{ {
Weapon* p_weapon = GetCurrWeapon(); Weapon* p_weapon = GetCurrWeapon();
if (car_weapon.meta) { if (spec_weapon.meta) {
p_weapon = &car_weapon; p_weapon = &spec_weapon;
} }
if (p_weapon->weapon_idx != 0 && if (p_weapon->weapon_idx != 0 &&
(p_weapon->ammo <= 0 || (p_weapon->ammo <= 0 ||

View File

@ -47,7 +47,7 @@ class Creature : public MoveableEntity
long long poisoning_time = 0; long long poisoning_time = 0;
bool playing_skill = false; bool playing_skill = false;
Weapon car_weapon; Weapon spec_weapon;
a8::Vec2 buff_vec2_param1; a8::Vec2 buff_vec2_param1;
bool need_sync_active_player = false; bool need_sync_active_player = false;

View File

@ -46,8 +46,8 @@ void FrameEvent::AddShot(Creature* sender)
auto& p = std::get<1>(tuple); auto& p = std::get<1>(tuple);
p.set_player_id(sender->GetEntityUniId()); p.set_player_id(sender->GetEntityUniId());
if (sender->car_weapon.meta) { if (sender->spec_weapon.meta) {
sender->car_weapon.ToPB(p.mutable_weapon()); sender->spec_weapon.ToPB(p.mutable_weapon());
} else { } else {
sender->GetCurrWeapon()->ToPB(p.mutable_weapon()); sender->GetCurrWeapon()->ToPB(p.mutable_weapon());
} }

View File

@ -411,12 +411,12 @@ void Human::FillMFTeamData(cs::MFTeamData* team_data, bool is_game_over)
void Human::CarShot(a8::Vec2& target_dir) void Human::CarShot(a8::Vec2& target_dir)
{ {
if (!car_weapon.meta) { if (!spec_weapon.meta) {
return; return;
} }
if (car_weapon.weapon_idx != 0 && if (spec_weapon.weapon_idx != 0 &&
car_weapon.ammo <= 0) { spec_weapon.ammo <= 0) {
AutoLoadingBullet(); AutoLoadingBullet();
return; return;
} }
@ -432,15 +432,15 @@ void Human::CarShot(a8::Vec2& target_dir)
} }
InternalShot(this, InternalShot(this,
car_weapon.meta, spec_weapon.meta,
car_weapon.GetUpgradeMeta(), spec_weapon.GetUpgradeMeta(),
car_weapon.bullet_meta, spec_weapon.bullet_meta,
car_weapon.weapon_lv, spec_weapon.weapon_lv,
0, 0,
5, 5,
false); false);
--car_weapon.ammo; --spec_weapon.ammo;
last_shot_frameno_ = room->GetFrameNo(); last_shot_frameno_ = room->GetFrameNo();
} }
@ -3157,8 +3157,8 @@ void Human::OnChgToTerminator()
void Human::ProcReloadAction() void Human::ProcReloadAction()
{ {
Weapon* p_weapon = GetCurrWeapon(); Weapon* p_weapon = GetCurrWeapon();
if (car_weapon.meta) { if (spec_weapon.meta) {
p_weapon = &car_weapon; p_weapon = &spec_weapon;
} }
if (p_weapon->weapon_idx == action_target_id && if (p_weapon->weapon_idx == action_target_id &&
@ -3297,8 +3297,8 @@ void Human::NextReload(int prev_weapon_id, int prev_weapon_idx)
return; return;
} }
Weapon* p_weapon = GetCurrWeapon(); Weapon* p_weapon = GetCurrWeapon();
if (car_weapon.meta) { if (spec_weapon.meta) {
p_weapon = &car_weapon; p_weapon = &spec_weapon;
} }
if (p_weapon && if (p_weapon &&
p_weapon->weapon_id == prev_weapon_id && p_weapon->weapon_id == prev_weapon_id &&

View File

@ -194,8 +194,8 @@ void Player::UpdateShot()
return; return;
} }
Weapon* p_weapon = GetCurrWeapon(); Weapon* p_weapon = GetCurrWeapon();
if (car_weapon.meta) { if (spec_weapon.meta) {
p_weapon = &car_weapon; p_weapon = &spec_weapon;
} }
if (shot_hold) { if (shot_hold) {
++series_shot_frames; ++series_shot_frames;
@ -402,7 +402,7 @@ void Player::UpdateUseSkill()
void Player::Shot() void Player::Shot()
{ {
if (car_weapon.meta) { if (spec_weapon.meta) {
CarShot(attack_dir); CarShot(attack_dir);
return; return;
} }