aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-01-23 20:31:52 +0100
committerShauren <shauren.trinity@gmail.com>2022-01-23 20:31:52 +0100
commit596bf2b77218e6b959c1bf7de848c6f09d5a91f0 (patch)
treea129c1cf5e01ce8ba04d70348a01790b14105bf2 /src/server/game/Entities
parent770fbcca0cae18faac981a326d73996afc20b9ba (diff)
Core/Misc: Replace boost::optional with std::optional part 2
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/AreaTrigger/AreaTrigger.cpp12
-rw-r--r--src/server/game/Entities/Item/Item.cpp10
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateField.h10
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.cpp8
-rw-r--r--src/server/game/Entities/Player/Player.cpp17
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp6
6 files changed, 31 insertions, 32 deletions
diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
index 6fe0243d662..ffc1e16751f 100644
--- a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
+++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
@@ -777,7 +777,7 @@ void AreaTrigger::InitSplines(std::vector<G3D::Vector3> splinePoints, uint32 tim
WorldPackets::AreaTrigger::AreaTriggerRePath reshape;
reshape.TriggerGUID = GetGUID();
- reshape.AreaTriggerSpline = boost::in_place();
+ reshape.AreaTriggerSpline.emplace();
reshape.AreaTriggerSpline->ElapsedTimeForMovement = GetElapsedTimeForMovement();
reshape.AreaTriggerSpline->TimeToTarget = timeToTarget;
for (G3D::Vector3 const& vec : splinePoints)
@@ -797,7 +797,7 @@ bool AreaTrigger::HasSplines() const
void AreaTrigger::InitOrbit(AreaTriggerOrbitInfo const& orbit, uint32 timeToTarget)
{
// Circular movement requires either a center position or an attached unit
- ASSERT(orbit.Center.is_initialized() || orbit.PathTarget.is_initialized());
+ ASSERT(orbit.Center.has_value() || orbit.PathTarget.has_value());
// should be sent in object create packets only
DoWithSuppressingObjectUpdates([&]()
@@ -823,19 +823,19 @@ void AreaTrigger::InitOrbit(AreaTriggerOrbitInfo const& orbit, uint32 timeToTarg
bool AreaTrigger::HasOrbit() const
{
- return _orbitInfo.is_initialized();
+ return _orbitInfo.has_value();
}
Position const* AreaTrigger::GetOrbitCenterPosition() const
{
- if (!_orbitInfo.is_initialized())
+ if (!_orbitInfo)
return nullptr;
- if (_orbitInfo->PathTarget.is_initialized())
+ if (_orbitInfo->PathTarget)
if (WorldObject* center = ObjectAccessor::GetWorldObject(*this, *_orbitInfo->PathTarget))
return center;
- if (_orbitInfo->Center.is_initialized())
+ if (_orbitInfo->Center)
return &_orbitInfo->Center->Pos;
return nullptr;
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp
index 683114e3f80..83725a16a78 100644
--- a/src/server/game/Entities/Item/Item.cpp
+++ b/src/server/game/Entities/Item/Item.cpp
@@ -316,7 +316,7 @@ void ItemAdditionalLoadInfo::Init(std::unordered_map<ObjectGuid::LowType, ItemAd
Field* fields = artifactResult->Fetch();
ItemAdditionalLoadInfo& info = (*loadInfo)[fields[0].GetUInt64()];
if (!info.Artifact)
- info.Artifact = boost::in_place();
+ info.Artifact.emplace();
info.Artifact->Xp = fields[1].GetUInt64();
info.Artifact->ArtifactAppearanceId = fields[2].GetUInt32();
info.Artifact->ArtifactTierId = fields[3].GetUInt32();
@@ -359,7 +359,7 @@ void ItemAdditionalLoadInfo::Init(std::unordered_map<ObjectGuid::LowType, ItemAd
Field* fields = azeriteItemResult->Fetch();
ItemAdditionalLoadInfo& info = (*loadInfo)[fields[0].GetUInt64()];
if (!info.AzeriteItem)
- info.AzeriteItem = boost::in_place();
+ info.AzeriteItem.emplace();
info.AzeriteItem->Xp = fields[1].GetUInt64();
info.AzeriteItem->Level = fields[2].GetUInt32();
info.AzeriteItem->KnowledgeLevel = fields[3].GetUInt32();
@@ -392,7 +392,7 @@ void ItemAdditionalLoadInfo::Init(std::unordered_map<ObjectGuid::LowType, ItemAd
Field* fields = azeriteItemMilestonePowersResult->Fetch();
ItemAdditionalLoadInfo& info = (*loadInfo)[fields[0].GetUInt64()];
if (!info.AzeriteItem)
- info.AzeriteItem = boost::in_place();
+ info.AzeriteItem.emplace();
info.AzeriteItem->AzeriteItemMilestonePowers.push_back(fields[1].GetUInt32());
}
while (azeriteItemMilestonePowersResult->NextRow());
@@ -409,7 +409,7 @@ void ItemAdditionalLoadInfo::Init(std::unordered_map<ObjectGuid::LowType, ItemAd
{
ItemAdditionalLoadInfo& info = (*loadInfo)[fields[0].GetUInt64()];
if (!info.AzeriteItem)
- info.AzeriteItem = boost::in_place();
+ info.AzeriteItem.emplace();
info.AzeriteItem->UnlockedAzeriteEssences.push_back(azeriteEssencePower);
}
@@ -426,7 +426,7 @@ void ItemAdditionalLoadInfo::Init(std::unordered_map<ObjectGuid::LowType, ItemAd
Field* fields = azeriteEmpoweredItemResult->Fetch();
ItemAdditionalLoadInfo& info = (*loadInfo)[fields[0].GetUInt64()];
if (!info.AzeriteEmpoweredItem)
- info.AzeriteEmpoweredItem = boost::in_place();
+ info.AzeriteEmpoweredItem.emplace();
for (uint32 i = 0; i < MAX_AZERITE_EMPOWERED_TIER; ++i)
if (sAzeritePowerStore.LookupEntry(fields[1 + i].GetInt32()))
diff --git a/src/server/game/Entities/Object/Updates/UpdateField.h b/src/server/game/Entities/Object/Updates/UpdateField.h
index e0129556486..edb07858d30 100644
--- a/src/server/game/Entities/Object/Updates/UpdateField.h
+++ b/src/server/game/Entities/Object/Updates/UpdateField.h
@@ -238,7 +238,7 @@ namespace UF
private:
void RemoveValue()
{
- if (_field.is_initialized())
+ if (_field.has_value())
_field.DestroyValue();
}
@@ -329,7 +329,7 @@ namespace UF
std::conditional_t<PublicSet, UpdateFieldPublicSetter<V>, UpdateFieldSetter<V>>>>>
ModifyValue(OptionalUpdateField<V, BlockBit, Bit>(T::* field), uint32 /*dummy*/)
{
- if (!(_value.*field).is_initialized())
+ if (!(_value.*field).has_value())
(_value.*field).ConstructValue();
_value._changesMask.Set(BlockBit);
@@ -433,7 +433,7 @@ namespace UF
std::conditional_t<PublicSet, UpdateFieldPublicSetter<value_type>, UpdateFieldSetter<value_type>>>>>
ModifyValue(uint32 /*dummy*/)
{
- if (!_value.is_initialized())
+ if (!_value.has_value())
_value.ConstructValue();
return { *(_value._value) };
@@ -639,7 +639,7 @@ namespace UF
template<typename T, uint32 BlockBit, uint32 Bit>
void ClearChangesMask(OptionalUpdateField<T, BlockBit, Bit>& field, std::true_type)
{
- if (field.is_initialized())
+ if (field.has_value())
field._value->ClearChangesMask();
}
@@ -905,7 +905,7 @@ namespace UF
DestroyValue();
}
- bool is_initialized() const
+ bool has_value() const
{
return !!_value;
}
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.cpp b/src/server/game/Entities/Object/Updates/UpdateFields.cpp
index bbff91bd710..230216889ad 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.cpp
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.cpp
@@ -3181,9 +3181,9 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f
data.WriteBit(BankAutoSortDisabled);
data.WriteBit(SortBagsRightToLeft);
data.WriteBit(InsertItemsLeftToRight);
- data.WriteBits(QuestSession.is_initialized(), 1);
+ data.WriteBits(QuestSession.has_value(), 1);
Field_1410->WriteCreate(data, owner, receiver);
- if (QuestSession.is_initialized())
+ if (QuestSession.has_value())
{
QuestSession->WriteCreate(data, owner, receiver);
}
@@ -3949,14 +3949,14 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
}
if (changesMask[98])
{
- data.WriteBits(QuestSession.is_initialized(), 1);
+ data.WriteBits(QuestSession.has_value(), 1);
if (changesMask[106])
{
Field_1410->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
if (changesMask[105])
{
- if (QuestSession.is_initialized())
+ if (QuestSession.has_value())
{
QuestSession->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 37fa5a0109f..c187baebbb7 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -438,7 +438,7 @@ bool Player::Create(ObjectGuid::LowType guidlow, WorldPackets::Character::Charac
return false;
}
- PlayerInfo::CreatePosition const& position = createInfo->UseNPE && info->createPositionNPE ? info->createPositionNPE.get() : info->createPosition;
+ PlayerInfo::CreatePosition const& position = createInfo->UseNPE && info->createPositionNPE ? *info->createPositionNPE : info->createPosition;
m_createTime = GameTime::GetGameTime();
m_createMode = createInfo->UseNPE && info->createPositionNPE ? PlayerCreateMode::NPE : PlayerCreateMode::Normal;
@@ -1513,7 +1513,7 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati
transferPending.OldMapPosition = GetPosition();
if (Transport* transport = GetTransport())
{
- transferPending.Ship = boost::in_place();
+ transferPending.Ship.emplace();
transferPending.Ship->ID = transport->GetEntry();
transferPending.Ship->OriginMapID = GetMapId();
}
@@ -20382,7 +20382,7 @@ bool Player::_LoadHomeBind(PreparedQueryResult result)
if (!ok && HasAtLoginFlag(AT_LOGIN_FIRST))
{
- PlayerInfo::CreatePosition const& createPosition = m_createMode == PlayerCreateMode::NPE && info->createPositionNPE ? info->createPositionNPE.get() : info->createPosition;
+ PlayerInfo::CreatePosition const& createPosition = m_createMode == PlayerCreateMode::NPE && info->createPositionNPE ? *info->createPositionNPE : info->createPosition;
m_homebind.WorldRelocate(createPosition.Loc);
if (createPosition.TransportGuid)
@@ -28007,7 +28007,7 @@ void Player::SendItemRefundResult(Item* item, ItemExtendedCostEntry const* iece,
itemPurchaseRefundResult.Result = error;
if (!error)
{
- itemPurchaseRefundResult.Contents = boost::in_place();
+ itemPurchaseRefundResult.Contents.emplace();
itemPurchaseRefundResult.Contents->Money = item->GetPaidMoney();
for (uint8 i = 0; i < MAX_ITEM_EXT_COST_ITEMS; ++i) // item cost data
{
@@ -28404,7 +28404,7 @@ void Player::SendPlayerChoice(ObjectGuid sender, int32 choiceId)
if (playerChoiceResponseTemplate.Reward)
{
- playerChoiceResponse.Reward = boost::in_place();
+ playerChoiceResponse.Reward.emplace();
playerChoiceResponse.Reward->TitleID = playerChoiceResponseTemplate.Reward->TitleId;
playerChoiceResponse.Reward->PackageID = playerChoiceResponseTemplate.Reward->PackageId;
playerChoiceResponse.Reward->SkillLineID = playerChoiceResponseTemplate.Reward->SkillLineId;
@@ -28421,7 +28421,7 @@ void Player::SendPlayerChoice(ObjectGuid sender, int32 choiceId)
rewardEntry.Quantity = item.Quantity;
if (!item.BonusListIDs.empty())
{
- rewardEntry.Item.ItemBonus = boost::in_place();
+ rewardEntry.Item.ItemBonus.emplace();
rewardEntry.Item.ItemBonus->BonusListIDs = item.BonusListIDs;
}
}
@@ -28447,7 +28447,7 @@ void Player::SendPlayerChoice(ObjectGuid sender, int32 choiceId)
rewardEntry.Quantity = item.Quantity;
if (!item.BonusListIDs.empty())
{
- rewardEntry.Item.ItemBonus = boost::in_place();
+ rewardEntry.Item.ItemBonus.emplace();
rewardEntry.Item.ItemBonus->BonusListIDs = item.BonusListIDs;
}
}
@@ -28457,8 +28457,7 @@ void Player::SendPlayerChoice(ObjectGuid sender, int32 choiceId)
if (playerChoiceResponseTemplate.MawPower)
{
- playerChoiceResponse.MawPower.emplace();
- WorldPackets::Quest::PlayerChoiceResponseMawPower& mawPower = playerChoiceResponse.MawPower.get();
+ WorldPackets::Quest::PlayerChoiceResponseMawPower& mawPower = playerChoiceResponse.MawPower.emplace();
mawPower.TypeArtFileID = playerChoiceResponse.MawPower->TypeArtFileID;
mawPower.Rarity = playerChoiceResponse.MawPower->Rarity;
mawPower.RarityColor = playerChoiceResponse.MawPower->RarityColor;
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index a88ee60ea88..583edc58015 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -5249,7 +5249,7 @@ void Unit::SendAttackStateUpdate(CalcDamageInfo* damageInfo)
int32 overkill = damageInfo->Damage - damageInfo->Target->GetHealth();
packet.OverDamage = (overkill < 0 ? -1 : overkill);
- packet.SubDmg = boost::in_place();
+ packet.SubDmg.emplace();
packet.SubDmg->SchoolMask = damageInfo->DamageSchoolMask; // School of sub damage
packet.SubDmg->FDamage = damageInfo->Damage; // sub damage
packet.SubDmg->Damage = damageInfo->Damage; // Sub Damage
@@ -12271,7 +12271,7 @@ void Unit::SendClearTarget()
int32 Unit::GetResistance(SpellSchoolMask mask) const
{
- Optional<int32> resist = boost::make_optional(false, 0);
+ Optional<int32> resist;
for (int32 i = SPELL_SCHOOL_NORMAL; i < MAX_SPELL_SCHOOL; ++i)
{
int32 schoolResistance = GetResistance(SpellSchools(i));
@@ -12279,7 +12279,7 @@ int32 Unit::GetResistance(SpellSchoolMask mask) const
resist = schoolResistance;
}
- return resist ? *resist : 0;
+ return resist.value_or(0);
}
void CharmInfo::SetIsCommandAttack(bool val)