本文整理汇总了C++中CreatureObject::setPvpMercenaryFaction方法的典型用法代码示例。如果您正苦于以下问题:C++ CreatureObject::setPvpMercenaryFaction方法的具体用法?C++ CreatureObject::setPvpMercenaryFaction怎么用?C++ CreatureObject::setPvpMercenaryFaction使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CreatureObject
的用法示例。
在下文中一共展示了CreatureObject::setPvpMercenaryFaction方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setNeutralMercenaryFaction
void PvpInternal::setNeutralMercenaryFaction(CreatureObject &dest, Pvp::FactionId align, Pvp::PvpType pvpType)
{
// this only applies to neutral
if (!PvpData::isNeutralFactionId(getAlignedFaction(dest)) && !PvpData::isNeutralFactionId(align))
return;
if ((dest.getPvpMercenaryFaction() != align) || (dest.getPvpMercenaryType() != pvpType))
{
if (!dest.isAuthoritative())
{
forwardPvpMessage(dest, PvpMessages::setMercenaryFaction.getCrc(), NetworkId::cms_invalid, align, pvpType);
return;
}
bool const wasDeclared = (!PvpData::isNeutralFactionId(dest.getPvpMercenaryFaction()) && (dest.getPvpMercenaryType() == PvpType_Declared));
PvpUpdateObserver o(&dest, Archive::ADOO_generic);
dest.setPvpMercenaryFaction(align, pvpType);
bool const isDeclared = (!PvpData::isNeutralFactionId(dest.getPvpMercenaryFaction()) && (dest.getPvpMercenaryType() == PvpType_Declared));
if (wasDeclared != isDeclared)
setPermFactionEnemyFlags(dest);
}
}