diff --git a/server/gameserver/metadata.cc b/server/gameserver/metadata.cc index 8079e67c..b5e854d7 100644 --- a/server/gameserver/metadata.cc +++ b/server/gameserver/metadata.cc @@ -353,13 +353,18 @@ namespace MetaData a8::XValue(strings2[1]).GetDouble(), strings2.size() > 2 ? a8::XValue(strings2[2]).GetDouble() : 0, strings2.size() > 3 ? a8::XValue(strings2[3]).GetInt() : 0, - strings2.size() > 4 ? a8::XValue(strings2[4]).GetInt() : 0 + strings2.size() > 4 ? a8::XValue(strings2[4]).GetInt() : 0, + strings2.size() > 5 ? a8::XValue(strings2[5]).GetInt() : 0 ) ); - lock_time += strings2.size() > 3 ? a8::XValue(strings2[3]).GetInt() : 0; + if (std::get<5>(bullet_born_offset[bullet_born_offset.size() - 1]) != 0) { + lock_time = std::max(lock_time, strings2.size()>3 ? a8::XValue(strings2[3]).GetInt() : 0); + } +#if 0 if (strings2.size() > 4 && a8::XValue(strings2[4]).GetInt() == 1) { lock_time = 0; } +#endif } } { diff --git a/server/gameserver/metadata.h b/server/gameserver/metadata.h index 95efe434..b8adc58d 100644 --- a/server/gameserver/metadata.h +++ b/server/gameserver/metadata.h @@ -96,8 +96,8 @@ namespace MetaData const metatable::Equip* i = nullptr; int lock_time = 0; - //0,0,0,0,后座力 - std::vector> bullet_born_offset; + //0,0,0,0,后座力,是否取消定身 + std::vector> bullet_born_offset; std::vector> shoot_offsets; std::shared_ptr> gun_muzzle_position; std::shared_ptr> movex_position;