mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-12-24 21:53:06 +00:00
[General] Add creature soul values to RecordDynamic packets
This commit is contained in:
parent
8c7b07b9c8
commit
44d037c078
5 changed files with 33 additions and 0 deletions
|
|
@ -1344,6 +1344,21 @@ void RecordsDynamicFunctions::SetRecordFatigue(int fatigue) noexcept
|
||||||
tempOverrides.hasFatigue = true;
|
tempOverrides.hasFatigue = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RecordsDynamicFunctions::SetRecordSoulValue(int soulValue) noexcept
|
||||||
|
{
|
||||||
|
unsigned short writeRecordsType = WorldstateFunctions::writeWorldstate.recordsType;
|
||||||
|
|
||||||
|
if (writeRecordsType == mwmp::RECORD_TYPE::CREATURE)
|
||||||
|
tempCreature.data.mData.mSoul = soulValue;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LOG_MESSAGE_SIMPLE(TimedLog::LOG_ERROR, "Tried to set soul value for record type %i which lacks that property", writeRecordsType);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
tempOverrides.hasSoulValue = true;
|
||||||
|
}
|
||||||
|
|
||||||
void RecordsDynamicFunctions::SetRecordAIFight(int aiFight) noexcept
|
void RecordsDynamicFunctions::SetRecordAIFight(int aiFight) noexcept
|
||||||
{
|
{
|
||||||
unsigned short writeRecordsType = WorldstateFunctions::writeWorldstate.recordsType;
|
unsigned short writeRecordsType = WorldstateFunctions::writeWorldstate.recordsType;
|
||||||
|
|
|
||||||
|
|
@ -93,6 +93,8 @@
|
||||||
{"SetRecordMagicka", RecordsDynamicFunctions::SetRecordMagicka},\
|
{"SetRecordMagicka", RecordsDynamicFunctions::SetRecordMagicka},\
|
||||||
{"SetRecordFatigue", RecordsDynamicFunctions::SetRecordFatigue},\
|
{"SetRecordFatigue", RecordsDynamicFunctions::SetRecordFatigue},\
|
||||||
\
|
\
|
||||||
|
{"SetRecordSoulValue", RecordsDynamicFunctions::SetRecordSoulValue},\
|
||||||
|
\
|
||||||
{"SetRecordAIFight", RecordsDynamicFunctions::SetRecordAIFight},\
|
{"SetRecordAIFight", RecordsDynamicFunctions::SetRecordAIFight},\
|
||||||
{"SetRecordAIFlee", RecordsDynamicFunctions::SetRecordAIFlee},\
|
{"SetRecordAIFlee", RecordsDynamicFunctions::SetRecordAIFlee},\
|
||||||
{"SetRecordAIAlarm", RecordsDynamicFunctions::SetRecordAIAlarm},\
|
{"SetRecordAIAlarm", RecordsDynamicFunctions::SetRecordAIAlarm},\
|
||||||
|
|
@ -807,6 +809,15 @@ public:
|
||||||
*/
|
*/
|
||||||
static void SetRecordFatigue(int fatigue) noexcept;
|
static void SetRecordFatigue(int fatigue) noexcept;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Set the soul value of the temporary record stored on the server for the
|
||||||
|
* currently specified record type.
|
||||||
|
*
|
||||||
|
* \param soulValue The soul value of the record.
|
||||||
|
* \return void
|
||||||
|
*/
|
||||||
|
static void SetRecordSoulValue(int soulValue) noexcept;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Set the AI fight value of the temporary record stored on the server for the
|
* \brief Set the AI fight value of the temporary record stored on the server for the
|
||||||
* currently specified record type.
|
* currently specified record type.
|
||||||
|
|
|
||||||
|
|
@ -564,6 +564,9 @@ void RecordHelper::overrideRecord(const mwmp::CreatureRecord& record)
|
||||||
if (record.baseOverrides.hasFatigue)
|
if (record.baseOverrides.hasFatigue)
|
||||||
finalData.mData.mFatigue = recordData.mData.mFatigue;
|
finalData.mData.mFatigue = recordData.mData.mFatigue;
|
||||||
|
|
||||||
|
if (record.baseOverrides.hasSoulValue)
|
||||||
|
finalData.mData.mSoul = recordData.mData.mSoul;
|
||||||
|
|
||||||
if (record.baseOverrides.hasAiFight)
|
if (record.baseOverrides.hasAiFight)
|
||||||
finalData.mAiData.mFight = recordData.mAiData.mFight;
|
finalData.mAiData.mFight = recordData.mAiData.mFight;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -132,6 +132,8 @@ namespace mwmp
|
||||||
bool hasMagicka = false;
|
bool hasMagicka = false;
|
||||||
bool hasFatigue = false;
|
bool hasFatigue = false;
|
||||||
|
|
||||||
|
bool hasSoulValue = false;
|
||||||
|
|
||||||
bool hasAiFight = false;
|
bool hasAiFight = false;
|
||||||
bool hasAiFlee = false;
|
bool hasAiFlee = false;
|
||||||
bool hasAiAlarm = false;
|
bool hasAiAlarm = false;
|
||||||
|
|
|
||||||
|
|
@ -551,6 +551,7 @@ void PacketRecordDynamic::Packet(RakNet::BitStream *newBitstream, bool send)
|
||||||
RW(recordData.mData.mHealth, send);
|
RW(recordData.mData.mHealth, send);
|
||||||
RW(recordData.mData.mMana, send);
|
RW(recordData.mData.mMana, send);
|
||||||
RW(recordData.mData.mFatigue, send);
|
RW(recordData.mData.mFatigue, send);
|
||||||
|
RW(recordData.mData.mSoul, send);
|
||||||
RW(recordData.mAiData.mFight, send);
|
RW(recordData.mAiData.mFight, send);
|
||||||
RW(recordData.mAiData.mFlee, send);
|
RW(recordData.mAiData.mFlee, send);
|
||||||
RW(recordData.mAiData.mAlarm, send);
|
RW(recordData.mAiData.mAlarm, send);
|
||||||
|
|
@ -571,6 +572,7 @@ void PacketRecordDynamic::Packet(RakNet::BitStream *newBitstream, bool send)
|
||||||
RW(overrides.hasHealth, send);
|
RW(overrides.hasHealth, send);
|
||||||
RW(overrides.hasMagicka, send);
|
RW(overrides.hasMagicka, send);
|
||||||
RW(overrides.hasFatigue, send);
|
RW(overrides.hasFatigue, send);
|
||||||
|
RW(overrides.hasSoulValue, send);
|
||||||
RW(overrides.hasAiFight, send);
|
RW(overrides.hasAiFight, send);
|
||||||
RW(overrides.hasAiFlee, send);
|
RW(overrides.hasAiFlee, send);
|
||||||
RW(overrides.hasAiAlarm, send);
|
RW(overrides.hasAiAlarm, send);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue