diff --git a/server/gameserver/buff.cc b/server/gameserver/buff.cc index b463706..7ead95c 100644 --- a/server/gameserver/buff.cc +++ b/server/gameserver/buff.cc @@ -171,7 +171,6 @@ bool Buff::NeedSync(Human* hum) void Buff::ProcBecome(Creature* caster) { - caster->second_weapon = Weapon(); if (caster->IsHuman() && meta->param2 > 0.01) { std::vector strings; a8::Split(meta->i->buff_param2(), strings, ':'); @@ -179,10 +178,9 @@ void Buff::ProcBecome(Creature* caster) int weapon_id = a8::XValue(strings[i]); MetaData::Equip* weapon_meta = MetaMgr::Instance()->GetEquip(weapon_id); if (weapon_meta && i < caster->weapons.size()) { - Weapon* weapon = &caster->weapons[GUN_SLOT2]; + Weapon* weapon = &caster->weapons[i]; hold_weapons_.push_back(*weapon); - weapon->weapon_idx = i; weapon->weapon_id = weapon_meta->i->id(); weapon->weapon_lv = 1; weapon->meta = weapon_meta;