forked from mirror/openmw-tes3mp
[General] Use doubles instead of ints for enchantmentCharge
Additionally, include enchantmentCharges for items in PlayerEquipment packets.
This commit is contained in:
parent
f746958afa
commit
9935f56d46
9 changed files with 25 additions and 23 deletions
|
@ -163,7 +163,7 @@ int ActorFunctions::GetActorEquipmentItemCharge(unsigned int i, unsigned short s
|
||||||
return readActorList->baseActors.at(i).equipedItems[slot].charge;
|
return readActorList->baseActors.at(i).equipedItems[slot].charge;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ActorFunctions::GetActorEquipmentItemEnchantmentCharge(unsigned int i, unsigned short slot) noexcept
|
double ActorFunctions::GetActorEquipmentItemEnchantmentCharge(unsigned int i, unsigned short slot) noexcept
|
||||||
{
|
{
|
||||||
return readActorList->baseActors.at(i).equipedItems[slot].enchantmentCharge;
|
return readActorList->baseActors.at(i).equipedItems[slot].enchantmentCharge;
|
||||||
}
|
}
|
||||||
|
@ -267,7 +267,7 @@ void ActorFunctions::SetActorFatigueModified(double value) noexcept
|
||||||
tempActor.creatureStats.mDynamic[2].mMod = value;
|
tempActor.creatureStats.mDynamic[2].mMod = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ActorFunctions::EquipActorItem(unsigned short slot, const char *refId, unsigned int count, int charge, int enchantmentCharge) noexcept
|
void ActorFunctions::EquipActorItem(unsigned short slot, const char *refId, unsigned int count, int charge, double enchantmentCharge) noexcept
|
||||||
{
|
{
|
||||||
tempActor.equipedItems[slot].refId = refId;
|
tempActor.equipedItems[slot].refId = refId;
|
||||||
tempActor.equipedItems[slot].count = count;
|
tempActor.equipedItems[slot].count = count;
|
||||||
|
|
|
@ -308,7 +308,7 @@ public:
|
||||||
* \param slot The slot of the equipment item.
|
* \param slot The slot of the equipment item.
|
||||||
* \return The enchantment charge.
|
* \return The enchantment charge.
|
||||||
*/
|
*/
|
||||||
static int GetActorEquipmentItemEnchantmentCharge(unsigned int i, unsigned short slot) noexcept;
|
static double GetActorEquipmentItemEnchantmentCharge(unsigned int i, unsigned short slot) noexcept;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Check whether there is any positional data for the actor at a certain index in
|
* \brief Check whether there is any positional data for the actor at a certain index in
|
||||||
|
@ -492,7 +492,7 @@ public:
|
||||||
* \param enchantmentCharge The enchantment charge of the item.
|
* \param enchantmentCharge The enchantment charge of the item.
|
||||||
* \return void
|
* \return void
|
||||||
*/
|
*/
|
||||||
static void EquipActorItem(unsigned short slot, const char* refId, unsigned int count, int charge, int enchantmentCharge = -1) noexcept;
|
static void EquipActorItem(unsigned short slot, const char* refId, unsigned int count, int charge, double enchantmentCharge = -1) noexcept;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Unequip the item in a certain slot of the equipment of the temporary actor stored
|
* \brief Unequip the item in a certain slot of the equipment of the temporary actor stored
|
||||||
|
|
|
@ -35,7 +35,7 @@ unsigned int ItemFunctions::GetInventoryChangesSize(unsigned short pid) noexcept
|
||||||
return player->inventoryChanges.count;
|
return player->inventoryChanges.count;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ItemFunctions::EquipItem(unsigned short pid, unsigned short slot, const char *refId, unsigned int count, int charge, int enchantmentCharge) noexcept
|
void ItemFunctions::EquipItem(unsigned short pid, unsigned short slot, const char *refId, unsigned int count, int charge, double enchantmentCharge) noexcept
|
||||||
{
|
{
|
||||||
Player *player;
|
Player *player;
|
||||||
GET_PLAYER(pid, player,);
|
GET_PLAYER(pid, player,);
|
||||||
|
@ -54,7 +54,7 @@ void ItemFunctions::UnequipItem(unsigned short pid, unsigned short slot) noexcep
|
||||||
ItemFunctions::EquipItem(pid, slot, "", 0, -1, -1);
|
ItemFunctions::EquipItem(pid, slot, "", 0, -1, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ItemFunctions::AddItem(unsigned short pid, const char* refId, unsigned int count, int charge, int enchantmentCharge) noexcept
|
void ItemFunctions::AddItem(unsigned short pid, const char* refId, unsigned int count, int charge, double enchantmentCharge) noexcept
|
||||||
{
|
{
|
||||||
Player *player;
|
Player *player;
|
||||||
GET_PLAYER(pid, player, );
|
GET_PLAYER(pid, player, );
|
||||||
|
@ -117,7 +117,7 @@ int ItemFunctions::GetEquipmentItemCharge(unsigned short pid, unsigned short slo
|
||||||
return player->equipedItems[slot].charge;
|
return player->equipedItems[slot].charge;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ItemFunctions::GetEquipmentItemEnchantmentCharge(unsigned short pid, unsigned short slot) noexcept
|
double ItemFunctions::GetEquipmentItemEnchantmentCharge(unsigned short pid, unsigned short slot) noexcept
|
||||||
{
|
{
|
||||||
Player *player;
|
Player *player;
|
||||||
GET_PLAYER(pid, player, 0);
|
GET_PLAYER(pid, player, 0);
|
||||||
|
@ -152,7 +152,7 @@ int ItemFunctions::GetInventoryItemCharge(unsigned short pid, unsigned int i) no
|
||||||
return player->inventoryChanges.items.at(i).charge;
|
return player->inventoryChanges.items.at(i).charge;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ItemFunctions::GetInventoryItemEnchantmentCharge(unsigned short pid, unsigned int i) noexcept
|
double ItemFunctions::GetInventoryItemEnchantmentCharge(unsigned short pid, unsigned int i) noexcept
|
||||||
{
|
{
|
||||||
Player *player;
|
Player *player;
|
||||||
GET_PLAYER(pid, player, 0);
|
GET_PLAYER(pid, player, 0);
|
||||||
|
|
|
@ -41,10 +41,10 @@ public:
|
||||||
static int GetEquipmentSize() noexcept;
|
static int GetEquipmentSize() noexcept;
|
||||||
static unsigned int GetInventoryChangesSize(unsigned short pid) noexcept;
|
static unsigned int GetInventoryChangesSize(unsigned short pid) noexcept;
|
||||||
|
|
||||||
static void EquipItem(unsigned short pid, unsigned short slot, const char* refId, unsigned int count, int charge, int enchantmentCharge = -1) noexcept;
|
static void EquipItem(unsigned short pid, unsigned short slot, const char* refId, unsigned int count, int charge, double enchantmentCharge = -1) noexcept;
|
||||||
static void UnequipItem(unsigned short pid, unsigned short slot) noexcept;
|
static void UnequipItem(unsigned short pid, unsigned short slot) noexcept;
|
||||||
|
|
||||||
static void AddItem(unsigned short pid, const char* refId, unsigned int count, int charge, int enchantmentCharge = -1) noexcept;
|
static void AddItem(unsigned short pid, const char* refId, unsigned int count, int charge, double enchantmentCharge = -1) noexcept;
|
||||||
static void RemoveItem(unsigned short pid, const char* refId, unsigned short count) noexcept;
|
static void RemoveItem(unsigned short pid, const char* refId, unsigned short count) noexcept;
|
||||||
|
|
||||||
static bool HasItemEquipped(unsigned short pid, const char* refId);
|
static bool HasItemEquipped(unsigned short pid, const char* refId);
|
||||||
|
@ -52,12 +52,12 @@ public:
|
||||||
static const char *GetEquipmentItemRefId(unsigned short pid, unsigned short slot) noexcept;
|
static const char *GetEquipmentItemRefId(unsigned short pid, unsigned short slot) noexcept;
|
||||||
static int GetEquipmentItemCount(unsigned short pid, unsigned short slot) noexcept;
|
static int GetEquipmentItemCount(unsigned short pid, unsigned short slot) noexcept;
|
||||||
static int GetEquipmentItemCharge(unsigned short pid, unsigned short slot) noexcept;
|
static int GetEquipmentItemCharge(unsigned short pid, unsigned short slot) noexcept;
|
||||||
static int GetEquipmentItemEnchantmentCharge(unsigned short pid, unsigned short slot) noexcept;
|
static double GetEquipmentItemEnchantmentCharge(unsigned short pid, unsigned short slot) noexcept;
|
||||||
|
|
||||||
static const char *GetInventoryItemRefId(unsigned short pid, unsigned int i) noexcept;
|
static const char *GetInventoryItemRefId(unsigned short pid, unsigned int i) noexcept;
|
||||||
static int GetInventoryItemCount(unsigned short pid, unsigned int i) noexcept;
|
static int GetInventoryItemCount(unsigned short pid, unsigned int i) noexcept;
|
||||||
static int GetInventoryItemCharge(unsigned short pid, unsigned int i) noexcept;
|
static int GetInventoryItemCharge(unsigned short pid, unsigned int i) noexcept;
|
||||||
static int GetInventoryItemEnchantmentCharge(unsigned short pid, unsigned int i) noexcept;
|
static double GetInventoryItemEnchantmentCharge(unsigned short pid, unsigned int i) noexcept;
|
||||||
|
|
||||||
static void SendEquipment(unsigned short pid) noexcept;
|
static void SendEquipment(unsigned short pid) noexcept;
|
||||||
static void SendInventoryChanges(unsigned short pid, bool toOthers = false) noexcept;
|
static void SendInventoryChanges(unsigned short pid, bool toOthers = false) noexcept;
|
||||||
|
|
|
@ -69,7 +69,7 @@ int WorldFunctions::GetObjectCharge(unsigned int i) noexcept
|
||||||
return readEvent->worldObjects.at(i).charge;
|
return readEvent->worldObjects.at(i).charge;
|
||||||
}
|
}
|
||||||
|
|
||||||
int WorldFunctions::GetObjectEnchantmentCharge(unsigned int i) noexcept
|
double WorldFunctions::GetObjectEnchantmentCharge(unsigned int i) noexcept
|
||||||
{
|
{
|
||||||
return readEvent->worldObjects.at(i).enchantmentCharge;
|
return readEvent->worldObjects.at(i).enchantmentCharge;
|
||||||
}
|
}
|
||||||
|
@ -152,7 +152,7 @@ int WorldFunctions::GetContainerItemCharge(unsigned int objectIndex, unsigned in
|
||||||
.containerItems.at(itemIndex).charge;
|
.containerItems.at(itemIndex).charge;
|
||||||
}
|
}
|
||||||
|
|
||||||
int WorldFunctions::GetContainerItemEnchantmentCharge(unsigned int objectIndex, unsigned int itemIndex) noexcept
|
double WorldFunctions::GetContainerItemEnchantmentCharge(unsigned int objectIndex, unsigned int itemIndex) noexcept
|
||||||
{
|
{
|
||||||
return readEvent->worldObjects.at(objectIndex)
|
return readEvent->worldObjects.at(objectIndex)
|
||||||
.containerItems.at(itemIndex).enchantmentCharge;
|
.containerItems.at(itemIndex).enchantmentCharge;
|
||||||
|
@ -204,7 +204,7 @@ void WorldFunctions::SetObjectCharge(int charge) noexcept
|
||||||
tempWorldObject.charge = charge;
|
tempWorldObject.charge = charge;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WorldFunctions::SetObjectEnchantmentCharge(int enchantmentCharge) noexcept
|
void WorldFunctions::SetObjectEnchantmentCharge(double enchantmentCharge) noexcept
|
||||||
{
|
{
|
||||||
tempWorldObject.enchantmentCharge = enchantmentCharge;
|
tempWorldObject.enchantmentCharge = enchantmentCharge;
|
||||||
}
|
}
|
||||||
|
@ -282,7 +282,7 @@ void WorldFunctions::SetContainerItemCharge(int charge) noexcept
|
||||||
tempContainerItem.charge = charge;
|
tempContainerItem.charge = charge;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WorldFunctions::SetContainerItemEnchantmentCharge(int enchantmentCharge) noexcept
|
void WorldFunctions::SetContainerItemEnchantmentCharge(double enchantmentCharge) noexcept
|
||||||
{
|
{
|
||||||
tempContainerItem.enchantmentCharge = enchantmentCharge;
|
tempContainerItem.enchantmentCharge = enchantmentCharge;
|
||||||
}
|
}
|
||||||
|
|
|
@ -158,7 +158,7 @@ public:
|
||||||
* \param i The index of the object.
|
* \param i The index of the object.
|
||||||
* \return The enchantment charge.
|
* \return The enchantment charge.
|
||||||
*/
|
*/
|
||||||
static int GetObjectEnchantmentCharge(unsigned int i) noexcept;
|
static double GetObjectEnchantmentCharge(unsigned int i) noexcept;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Get the gold value of the object at a certain index in the read event's object
|
* \brief Get the gold value of the object at a certain index in the read event's object
|
||||||
|
@ -307,7 +307,7 @@ public:
|
||||||
* \param itemIndex The index of the container item.
|
* \param itemIndex The index of the container item.
|
||||||
* \return The enchantment charge.
|
* \return The enchantment charge.
|
||||||
*/
|
*/
|
||||||
static int GetContainerItemEnchantmentCharge(unsigned int objectIndex, unsigned int itemIndex) noexcept;
|
static double GetContainerItemEnchantmentCharge(unsigned int objectIndex, unsigned int itemIndex) noexcept;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Get the action count of the container item at a certain itemIndex in the container
|
* \brief Get the action count of the container item at a certain itemIndex in the container
|
||||||
|
@ -414,7 +414,7 @@ public:
|
||||||
* \param charge The enchantment charge.
|
* \param charge The enchantment charge.
|
||||||
* \return void
|
* \return void
|
||||||
*/
|
*/
|
||||||
static void SetObjectEnchantmentCharge(int enchantmentCharge) noexcept;
|
static void SetObjectEnchantmentCharge(double enchantmentCharge) noexcept;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Set the gold value of the temporary world object stored on the server.
|
* \brief Set the gold value of the temporary world object stored on the server.
|
||||||
|
@ -542,7 +542,7 @@ public:
|
||||||
* \param charge The enchantment charge.
|
* \param charge The enchantment charge.
|
||||||
* \return void
|
* \return void
|
||||||
*/
|
*/
|
||||||
static void SetContainerItemEnchantmentCharge(int enchantmentCharge) noexcept;
|
static void SetContainerItemEnchantmentCharge(double enchantmentCharge) noexcept;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Add a copy of the server's temporary world object to the server's temporary event.
|
* \brief Add a copy of the server's temporary world object to the server's temporary event.
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace mwmp
|
||||||
std::string refId;
|
std::string refId;
|
||||||
int count;
|
int count;
|
||||||
int charge;
|
int charge;
|
||||||
int enchantmentCharge;
|
double enchantmentCharge;
|
||||||
|
|
||||||
int actionCount;
|
int actionCount;
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ namespace mwmp
|
||||||
int mpNum;
|
int mpNum;
|
||||||
int count;
|
int count;
|
||||||
int charge;
|
int charge;
|
||||||
int enchantmentCharge;
|
double enchantmentCharge;
|
||||||
int goldValue;
|
int goldValue;
|
||||||
|
|
||||||
ESM::Position position;
|
ESM::Position position;
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace mwmp
|
||||||
std::string refId;
|
std::string refId;
|
||||||
int count;
|
int count;
|
||||||
int charge;
|
int charge;
|
||||||
int enchantmentCharge;
|
double enchantmentCharge;
|
||||||
|
|
||||||
inline bool operator==(const Item& rhs)
|
inline bool operator==(const Item& rhs)
|
||||||
{
|
{
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "PacketPlayerEquipment.hpp"
|
#include "PacketPlayerEquipment.hpp"
|
||||||
#include <components/openmw-mp/NetworkMessages.hpp>
|
#include <components/openmw-mp/NetworkMessages.hpp>
|
||||||
|
|
||||||
|
|
||||||
using namespace mwmp;
|
using namespace mwmp;
|
||||||
|
|
||||||
PacketPlayerEquipment::PacketPlayerEquipment(RakNet::RakPeerInterface *peer) : PlayerPacket(peer)
|
PacketPlayerEquipment::PacketPlayerEquipment(RakNet::RakPeerInterface *peer) : PlayerPacket(peer)
|
||||||
|
@ -21,5 +22,6 @@ void PacketPlayerEquipment::Packet(RakNet::BitStream *bs, bool send)
|
||||||
RW(player->equipedItems[i].refId, send, 1);
|
RW(player->equipedItems[i].refId, send, 1);
|
||||||
RW(player->equipedItems[i].count, send);
|
RW(player->equipedItems[i].count, send);
|
||||||
RW(player->equipedItems[i].charge, send);
|
RW(player->equipedItems[i].charge, send);
|
||||||
|
RW(player->equipedItems[i].enchantmentCharge, send);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue