当前位置: 首页>>代码示例>>C++>>正文


C++ CreatureObject::setPvpMercenaryFaction方法代码示例

本文整理汇总了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);
	}
}
开发者ID:Mesagoppinmypants,项目名称:NGELinux,代码行数:26,代码来源:PvpInternal.cpp


注:本文中的CreatureObject::setPvpMercenaryFaction方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。