[General] Make ActorAttack packet consistent with PlayerAttack

Additionally, fix a typo in PlayerAttack where a boolean argument was outside of the parentheses it should have been in.
This commit is contained in:
David Cernat 2018-07-24 22:43:00 +03:00
parent b79221efcc
commit ea8a41160c
2 changed files with 18 additions and 12 deletions
components/openmw-mp/Packets

View file

@ -24,22 +24,28 @@ void PacketActorAttack::Actor(BaseActor &actor, bool send)
RW(actor.attack.target.mpNum, send);
}
RW(actor.attack.pressed, send);
RW(actor.attack.instant, send);
RW(actor.attack.success, send);
RW(actor.attack.type, send);
if (actor.attack.type == mwmp::Attack::MELEE)
if (actor.attack.type == mwmp::Attack::MELEE || actor.attack.type == mwmp::Attack::MAGIC)
{
RW(actor.attack.damage, send);
RW(actor.attack.block, send);
RW(actor.attack.knockdown, send);
RW(actor.attack.pressed, send);
RW(actor.attack.success, send);
RW(actor.attack.applyWeaponEnchantment, send);
RW(actor.attack.applyProjectileEnchantment, send);
if (actor.attack.type == mwmp::Attack::MELEE)
{
RW(actor.attack.damage, send);
RW(actor.attack.block, send);
RW(actor.attack.knockdown, send);
RW(actor.attack.applyWeaponEnchantment, send);
RW(actor.attack.applyProjectileEnchantment, send);
}
else if (actor.attack.type == mwmp::Attack::MAGIC)
{
RW(actor.attack.instant, send);
RW(actor.attack.spellId, send, true);
}
}
else if (actor.attack.type == mwmp::Attack::MAGIC)
RW(actor.attack.spellId, send, true);
else if (actor.attack.type == mwmp::Attack::ITEM_MAGIC)
RW(actor.attack.itemId, send, true);
}

View file

@ -48,5 +48,5 @@ void PacketPlayerAttack::Packet(RakNet::BitStream *bs, bool send)
}
}
else if (player->attack.type == mwmp::Attack::ITEM_MAGIC)
RW(player->attack.itemId, send), true;
RW(player->attack.itemId, send, true);
}