添加载具射击偏移量
This commit is contained in:
parent
39afdbe2c7
commit
4702500423
@ -221,6 +221,9 @@ void Buff::ProcDriver(Creature* caster)
|
|||||||
if (hum->GetCar() && hum->GetCar()->GetCurrWeapon()) {
|
if (hum->GetCar() && hum->GetCar()->GetCurrWeapon()) {
|
||||||
hold_weapons_.push_back(hum->weapons[hum->GetCar()->GetCurrWeapon()->weapon_idx]);
|
hold_weapons_.push_back(hum->weapons[hum->GetCar()->GetCurrWeapon()->weapon_idx]);
|
||||||
hum->weapons[hum->GetCar()->GetCurrWeapon()->weapon_idx] = *hum->GetCar()->GetCurrWeapon();
|
hum->weapons[hum->GetCar()->GetCurrWeapon()->weapon_idx] = *hum->GetCar()->GetCurrWeapon();
|
||||||
|
if (hum->GetCar()->meta && !hum->GetCar()->meta->shoot_offsets.empty()) {
|
||||||
|
hum->shoot_offset = hum->GetCar()->meta->shoot_offsets[0];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
caster->need_sync_active_player = true;
|
caster->need_sync_active_player = true;
|
||||||
@ -230,6 +233,7 @@ void Buff::ProcDriver(Creature* caster)
|
|||||||
void Buff::ProcRemoveDriver(Creature* caster)
|
void Buff::ProcRemoveDriver(Creature* caster)
|
||||||
{
|
{
|
||||||
RecoverHoldWeapons(caster);
|
RecoverHoldWeapons(caster);
|
||||||
|
caster->shoot_offset = a8::Vec2();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Buff::RecoverHoldWeapons(Creature* caster)
|
void Buff::RecoverHoldWeapons(Creature* caster)
|
||||||
|
@ -1330,6 +1330,8 @@ void Human::FillMFActivePlayerData(cs::MFActivePlayerData* player_data)
|
|||||||
FillBodyState(player_data->mutable_states());
|
FillBodyState(player_data->mutable_states());
|
||||||
FillItemList(player_data->mutable_items());
|
FillItemList(player_data->mutable_items());
|
||||||
FillSkillList(player_data->mutable_skill_list());
|
FillSkillList(player_data->mutable_skill_list());
|
||||||
|
player_data->set_shoot_offset_x(shoot_offset.x);
|
||||||
|
player_data->set_shoot_offset_y(shoot_offset.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Human::FillMFGasData(cs::MFGasData* gas_data)
|
void Human::FillMFGasData(cs::MFGasData* gas_data)
|
||||||
|
@ -160,6 +160,19 @@ namespace MetaData
|
|||||||
int_param2 = a8::XValue(i->param2());
|
int_param2 = a8::XValue(i->param2());
|
||||||
float_param2 = a8::XValue(i->param2()).GetDouble();
|
float_param2 = a8::XValue(i->param2()).GetDouble();
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
std::vector<std::string> strings;
|
||||||
|
a8::Split(i->volume(), strings, '|');
|
||||||
|
for (auto& str : strings) {
|
||||||
|
std::vector<std::string> strings2;
|
||||||
|
a8::Split(str, strings2, ':');
|
||||||
|
assert(strings2.size() == 2);
|
||||||
|
if (strings2.size() >= 2) {
|
||||||
|
shoot_offsets.push_back(a8::Vec2((float)a8::XValue(strings2[0]).GetDouble(),
|
||||||
|
(float)a8::XValue(strings2[1]).GetDouble()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int Equip::GetWeaponIdx()
|
int Equip::GetWeaponIdx()
|
||||||
|
@ -62,6 +62,7 @@ namespace MetaData
|
|||||||
const metatable::Equip* i = nullptr;
|
const metatable::Equip* i = nullptr;
|
||||||
|
|
||||||
std::vector<std::tuple<float, float, float>> bullet_born_offset;
|
std::vector<std::tuple<float, float, float>> bullet_born_offset;
|
||||||
|
std::vector<a8::Vec2> shoot_offsets;
|
||||||
std::array<int, IS_END> volume = {};
|
std::array<int, IS_END> volume = {};
|
||||||
int int_param1 = 0;
|
int int_param1 = 0;
|
||||||
float float_param1 = 0;
|
float float_param1 = 0;
|
||||||
|
@ -115,6 +115,7 @@ message Equip
|
|||||||
optional float recoil_force = 47;
|
optional float recoil_force = 47;
|
||||||
optional int32 missiles_time = 48;
|
optional int32 missiles_time = 48;
|
||||||
optional int32 heroid = 49;
|
optional int32 heroid = 49;
|
||||||
|
optional string launch_dev = 50;
|
||||||
|
|
||||||
optional string inventory_slot = 31; //库存槽位
|
optional string inventory_slot = 31; //库存槽位
|
||||||
optional int32 _inventory_slot = 32; //库存槽位
|
optional int32 _inventory_slot = 32; //库存槽位
|
||||||
|
Loading…
x
Reference in New Issue
Block a user