修复机甲机器数量
This commit is contained in:
parent
d396d12c8f
commit
e47bcdd646
@ -1394,7 +1394,7 @@ void Creature::Shot(a8::Vec2& target_dir, bool& shot_ok, float fly_distance)
|
|||||||
AutoLoadingBullet();
|
AutoLoadingBullet();
|
||||||
}
|
}
|
||||||
last_shot_frameno_ = room->GetFrameNo();
|
last_shot_frameno_ = room->GetFrameNo();
|
||||||
if (!need_sync_active_player && IsPlayer()) {
|
if ((IsPlayer() || IsCar())) {
|
||||||
room->frame_event.AddBulletNumChg(GetWeakPtrRef());
|
room->frame_event.AddBulletNumChg(GetWeakPtrRef());
|
||||||
room->frame_event.AddWeaponAmmoChg(GetWeakPtrRef());
|
room->frame_event.AddWeaponAmmoChg(GetWeakPtrRef());
|
||||||
}
|
}
|
||||||
|
@ -142,10 +142,17 @@ void FrameEvent::AddExplosionEx(CreatureWeakPtr& sender, int item_id, a8::Vec2 b
|
|||||||
|
|
||||||
void FrameEvent::AddBulletNumChg(CreatureWeakPtr& sender)
|
void FrameEvent::AddBulletNumChg(CreatureWeakPtr& sender)
|
||||||
{
|
{
|
||||||
|
chged_bullet_nums_.push_back(sender);
|
||||||
|
int idx = chged_bullet_nums_.size() - 1;
|
||||||
if (sender.Get()->IsHuman()) {
|
if (sender.Get()->IsHuman()) {
|
||||||
chged_bullet_nums_.push_back(sender);
|
sender.Get()->AsHuman()->chged_bullet_nums_.push_back(idx);
|
||||||
int idx = chged_bullet_nums_.size() - 1;
|
} else {
|
||||||
((Human*)sender.Get())->chged_bullet_nums_.push_back(idx);
|
sender.Get()->TraverseAllLayerHumanList
|
||||||
|
(
|
||||||
|
[idx] (Human* hum, bool& stop)
|
||||||
|
{
|
||||||
|
hum->chged_bullet_nums_.push_back(idx);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -211,7 +218,7 @@ void FrameEvent::AddHpChg(CreatureWeakPtr& sender)
|
|||||||
|
|
||||||
void FrameEvent::AddWeaponAmmoChg(CreatureWeakPtr& sender)
|
void FrameEvent::AddWeaponAmmoChg(CreatureWeakPtr& sender)
|
||||||
{
|
{
|
||||||
if (sender.Get()->GetCurrWeapon() && sender.Get()->IsHuman()) {
|
if (sender.Get()->GetCurrWeapon()) {
|
||||||
chged_weapon_ammo_.push_back
|
chged_weapon_ammo_.push_back
|
||||||
(
|
(
|
||||||
std::make_tuple(sender,
|
std::make_tuple(sender,
|
||||||
@ -220,7 +227,16 @@ void FrameEvent::AddWeaponAmmoChg(CreatureWeakPtr& sender)
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
int idx = chged_weapon_ammo_.size() - 1;
|
int idx = chged_weapon_ammo_.size() - 1;
|
||||||
sender.Get()->AsHuman()->chged_weapon_ammo_.push_back(idx);
|
if (sender.Get()->IsHuman()) {
|
||||||
|
sender.Get()->AsHuman()->chged_weapon_ammo_.push_back(idx);
|
||||||
|
} else {
|
||||||
|
sender.Get()->TraverseAllLayerHumanList
|
||||||
|
(
|
||||||
|
[idx] (Human* hum, bool& stop)
|
||||||
|
{
|
||||||
|
hum->chged_weapon_ammo_.push_back(idx);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user