This commit is contained in:
aozhiwei 2021-04-28 11:27:41 +08:00
parent 9a857a0720
commit af3149b4b3
6 changed files with 31 additions and 31 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->spec_weapon = Weapon(); passenger->second_weapon = Weapon();
passenger->CancelAction(); passenger->CancelAction();
passenger->RemoveBuffByEffectId(kBET_Driver); passenger->RemoveBuffByEffectId(kBET_Driver);
passenger->RemoveBuffByEffectId(kBET_Passenger); passenger->RemoveBuffByEffectId(kBET_Passenger);

View File

@ -700,12 +700,12 @@ void Creature::ProcBuffEffect(Creature* caster, Buff* buff)
) { ) {
MetaData::Equip* spec_weapon_meta = MetaMgr::Instance()->GetEquip(equip_meta->int_param1); MetaData::Equip* spec_weapon_meta = MetaMgr::Instance()->GetEquip(equip_meta->int_param1);
if (spec_weapon_meta) { if (spec_weapon_meta) {
spec_weapon.weapon_idx = 100; second_weapon.weapon_idx = 100;
spec_weapon.weapon_id = spec_weapon_meta->i->id(); second_weapon.weapon_id = spec_weapon_meta->i->id();
spec_weapon.weapon_lv = 1; second_weapon.weapon_lv = 1;
spec_weapon.meta = spec_weapon_meta; second_weapon.meta = spec_weapon_meta;
spec_weapon.Recalc(); second_weapon.Recalc();
spec_weapon.ammo = spec_weapon.GetClipVolume(); second_weapon.ammo = second_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 (spec_weapon.meta) { if (second_weapon.meta) {
p_weapon = &spec_weapon; p_weapon = &second_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 spec_weapon; Weapon second_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->spec_weapon.meta) { if (sender->second_weapon.meta) {
sender->spec_weapon.ToPB(p.mutable_weapon()); sender->second_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 (!spec_weapon.meta) { if (!second_weapon.meta) {
return; return;
} }
if (spec_weapon.weapon_idx != 0 && if (second_weapon.weapon_idx != 0 &&
spec_weapon.ammo <= 0) { second_weapon.ammo <= 0) {
AutoLoadingBullet(); AutoLoadingBullet();
return; return;
} }
@ -432,15 +432,15 @@ void Human::CarShot(a8::Vec2& target_dir)
} }
InternalShot(this, InternalShot(this,
spec_weapon.meta, second_weapon.meta,
spec_weapon.GetUpgradeMeta(), second_weapon.GetUpgradeMeta(),
spec_weapon.bullet_meta, second_weapon.bullet_meta,
spec_weapon.weapon_lv, second_weapon.weapon_lv,
0, 0,
5, 5,
false); false);
--spec_weapon.ammo; --second_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 (spec_weapon.meta) { if (second_weapon.meta) {
p_weapon = &spec_weapon; p_weapon = &second_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 (spec_weapon.meta) { if (second_weapon.meta) {
p_weapon = &spec_weapon; p_weapon = &second_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 (spec_weapon.meta) { if (second_weapon.meta) {
p_weapon = &spec_weapon; p_weapon = &second_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 (spec_weapon.meta) { if (second_weapon.meta) {
CarShot(attack_dir); CarShot(attack_dir);
return; return;
} }
@ -903,7 +903,7 @@ void Player::ProcPrepareItems(const ::google::protobuf::RepeatedField< ::google:
} }
} }
for (auto& spec_weapon : spec_weapons) { for (auto& spec_weapon : spec_weapons) {
MetaData::Equip* item_meta = MetaMgr::Instance()->GetEquip(spec_weapon.weapon_id); MetaData::Equip* item_meta = MetaMgr::Instance()->GetEquip(second_weapon.weapon_id);
if (item_meta && if (item_meta &&
item_meta->i->equip_type() == EQUIP_TYPE_WEAPON) { item_meta->i->equip_type() == EQUIP_TYPE_WEAPON) {
if (item_meta->i->equip_subtype() != 1) { if (item_meta->i->equip_subtype() != 1) {
@ -914,9 +914,9 @@ void Player::ProcPrepareItems(const ::google::protobuf::RepeatedField< ::google:
if (weapons[weapon_idx].weapon_id == 0) { if (weapons[weapon_idx].weapon_id == 0) {
Weapon* weapon = &weapons[weapon_idx]; Weapon* weapon = &weapons[weapon_idx];
weapon->weapon_idx = weapon_idx; weapon->weapon_idx = weapon_idx;
weapon->weapon_id = spec_weapon.weapon_id; weapon->weapon_id = second_weapon.weapon_id;
weapon->weapon_lv = spec_weapon.weapon_lv; weapon->weapon_lv = second_weapon.weapon_lv;
weapon->ammo = spec_weapon.ammo; weapon->ammo = second_weapon.ammo;
weapon->meta = item_meta; weapon->meta = item_meta;
weapon->Recalc(); weapon->Recalc();
SetCurrWeapon(&weapons[GUN_SLOT1]); SetCurrWeapon(&weapons[GUN_SLOT1]);