📄 helprequestmanager.cpp
字号:
// HelpRequestManager.cpp: implementation of the CHelpRequestManager class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "HelpRequestManager.h"
#include "Monster.h"
#include "AISystem.h"
#include "RegenPrototype.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CHelpRequestManager::CHelpRequestManager()
{
}
CHelpRequestManager::~CHelpRequestManager()
{
}
// µ¥¹ÌÁö¸¦ ¹ÞÀ» ¶§¿¡ È£Ãâ
void CHelpRequestManager::MonsterRequestProcess(CMonster * pMonster)
{
CRegenObject * pORInfo = GROUPMGR->GetRegenObject(pMonster->GetMonsterGroupNum(), pMonster->GetGridID(), pMonster->GetID());
if(!pORInfo) return;/*¼ÒȯµÈ ¸ó½ºÅÍ*/
switch(pORInfo->GetCurHelpType())
{
case HELPREQUEST_NONE: { } break;
case HELPREQUEST_ONETIMEIFHP50:
{
if( pMonster->GetLife() < pMonster->GetMaxLife()/2 )
{
// µµ¿ò ¿äû
//g_pAISystem->SendMsg(eMK_HelpShout, pMonster->GetID(), pMonster->GetID(),0,0);
g_pAISystem->SendMsg(eMK_HelpRequest, pMonster->GetID(), 0, 0, 0);
// HelpType ÃʱâÈ
pORInfo->SetCurHelpType(HELPREQUEST_NONE);
}
}
break;
case HELPREQUEST_ALWAYSIFHP30:
{
if( pMonster->GetLife() < pMonster->GetMaxLife()*0.3 )
{
// µµ¿ò ¿äû
//g_pAISystem->SendMsg(eMK_HelpShout, pMonster->GetID(), pMonster->GetID(),0,0);
g_pAISystem->SendMsg(eMK_HelpRequest, pMonster->GetID(), 0, 0, 0);
}
}
break;
case HELPREQUEST_DIE:
{
// taiyo ok?
if(pMonster->GetLife() == 0)
{
// µµ¿ò ¿äû
//g_pAISystem->SendMsg(eMK_HelpShout, pMonster->GetID(), pMonster->GetID(),0,0);
g_pAISystem->SendMsg(eMK_HelpRequest, pMonster->GetID(), 0, 0, 0);
}
}
break;
case HELPREQUEST_ALWAYS:
{
// Ç×»ó µµ¿ò ¿äû
//g_pAISystem->SendMsg(eMK_HelpShout, pMonster->GetID(), pMonster->GetID(),0,0);
g_pAISystem->SendMsg(eMK_HelpRequest, pMonster->GetID(), 0, 0, 0);
}
break;
}
}
void CHelpRequestManager::SetHelperMonster(CMonster * pHelper, CPlayer * pTargeter)
{
RESULTINFO DamageInfo;
// LBS ÀÏ´Ü ¸·¾Æº¾´Ï´Ù.
if( pHelper->GetGridID() != ((CObject*)pTargeter)->GetGridID() )
{
// ASSERT(0);
return;
}
DamageInfo.RealDamage = 0;
DamageInfo.ShieldDamage = 0;
(pHelper)->AddChat("!");
pHelper->Damage((CObject *)pTargeter, &DamageInfo);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -