This commit is contained in:
aozhiwei 2021-06-09 15:51:37 +08:00
parent 9a6370b894
commit ebbb7de703
3 changed files with 16 additions and 25 deletions

View File

@ -3775,3 +3775,17 @@ void Human::SendRollMsgEx(KillInfo& info,
} }
); );
} }
void Human::ProcUseItem(int item_id)
{
if (downed) {
return;
}
MetaData::Equip* item_meta = MetaMgr::Instance()->GetEquip(item_id);
if (item_meta && GetItemNum(item_id) > 0) {
if (item_meta->i->buffid() != 0) {
TryAddBuff(this, item_meta->i->buffid());
}
DecItem(item_id, 1);
}
}

View File

@ -244,6 +244,7 @@ class Human : public Creature
virtual std::string GetName() override { return name;}; virtual std::string GetName() override { return name;};
void UpdateViewObjects(); void UpdateViewObjects();
void GMAddItem(int item_id, int item_num); void GMAddItem(int item_id, int item_num);
void ProcUseItem(int item_id);
protected: protected:
void _InternalUpdateMove(float speed); void _InternalUpdateMove(float speed);

View File

@ -337,31 +337,7 @@ void Player::UpdateUseItemIdx()
void Player::UpdateUseItemId() void Player::UpdateUseItemId()
{ {
if (downed) { ProcUseItem(use_item_id);
return;
}
MetaData::Equip* item_meta = MetaMgr::Instance()->GetEquip(use_item_id);
if (item_meta && item_meta->i->equip_type() == EQUIP_TYPE_CAMOUFLAGE) {
int item_num = GetItemNum(use_item_id);
if (JsonDataMgr::Instance()->channel == kTouTiaoChannelId) {
item_num = 1;
}
#ifdef DEBUG
if (channel == kTouTiaoChannelId) {
item_num = 1;
}
#endif
if (item_num > 0) {
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(item_meta->i->buffid());
if (buff_meta && !GetBuffById(item_meta->i->buffid())) {
if (HasBuffEffect(kBET_Camouflage)) {
RemoveBuffByEffectId(kBET_Camouflage);
}
AddBuff(this, buff_meta, 1);
DecItem(use_item_id, 1);
}
}
}
use_item_id = 0; use_item_id = 0;
has_use_item_id = false; has_use_item_id = false;
} }