本文整理汇总了C++中CNpc::isMonster方法的典型用法代码示例。如果您正苦于以下问题:C++ CNpc::isMonster方法的具体用法?C++ CNpc::isMonster怎么用?C++ CNpc::isMonster使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CNpc
的用法示例。
在下文中一共展示了CNpc::isMonster方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnDeath
/**
* @brief Executes the death action.
*
* @param pKiller The killer.
*/
void CNpc::OnDeath(Unit *pKiller)
{
if (m_NpcState == NPC_DEAD)
return;
ASSERT(GetMap() != nullptr);
ASSERT(GetRegion() != nullptr);
m_NpcState = NPC_DEAD;
if (m_byObjectType == SPECIAL_OBJECT)
{
_OBJECT_EVENT *pEvent = GetMap()->GetObjectEvent(GetProtoID());
if (pEvent != nullptr)
pEvent->byLife = 0;
}
Unit::OnDeath(pKiller);
CNpc * pNpc = TO_NPC(this);
CUser * pUser = TO_USER(pKiller);
if (pNpc != nullptr && pUser != nullptr)
{
if (pNpc->isMonster() && pUser->isPlayer())
{
if (pNpc->m_sSid == 700 || pNpc->m_sSid == 750)
{
if (pUser->CheckExistEvent(STARTER_SEED_QUEST, 0) || pUser->CheckExistEvent(STARTER_SEED_QUEST, 1))
pUser->SaveEvent(STARTER_SEED_QUEST, 2);
}
}
}
GetRegion()->Remove(TO_NPC(this));
SetRegion();
}