Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
746
Server/RylServerProject/RylGameLibrary/quest/QuestMgr.cpp
Normal file
746
Server/RylServerProject/RylGameLibrary/quest/QuestMgr.cpp
Normal file
@@ -0,0 +1,746 @@
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
#include <Item/ItemConstants.h>
|
||||
|
||||
#include "QuestStruct.h"
|
||||
#include "QuestMgr.h"
|
||||
#include <Creature/CreatureManager.h>
|
||||
#include <Creature/Character/Character.h>
|
||||
|
||||
using namespace Quest;
|
||||
|
||||
const char* szQuestScriptFileName = "./Script/Game/Quest.mcf";
|
||||
|
||||
CQuestMgr CQuestMgr::ms_this;
|
||||
|
||||
|
||||
CQuestMgr::CQuestMgr()
|
||||
: m_lpQuestNode(NULL), m_lpPhaseNode(NULL), m_lpTriggerNode(NULL),
|
||||
m_bFalseEvent(false), m_bDangerousEvent(false), m_vecPendingQuest(NULL), m_vecSubPendingQuest(NULL), m_bPendingQuest(false)
|
||||
{
|
||||
}
|
||||
|
||||
CQuestMgr::~CQuestMgr()
|
||||
{
|
||||
ClearQuest();
|
||||
}
|
||||
|
||||
|
||||
bool CQuestMgr::AddQuest(QuestNode* questNode)
|
||||
{
|
||||
m_lpQuestNode = questNode;
|
||||
m_lstQuest.push_back(questNode);
|
||||
|
||||
m_lpPhaseNode = NULL;
|
||||
m_lpTriggerNode = NULL;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CQuestMgr::AddPhase(PhaseNode* phaseNode)
|
||||
{
|
||||
if (NULL == m_lpQuestNode)
|
||||
{
|
||||
SERLOG0(g_Log, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʽ<EFBFBD><CABD>ϴ<EFBFBD>.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (phaseNode->m_dwPhaseNumber != 1)
|
||||
{
|
||||
if (NULL == m_lpPhaseNode || phaseNode->m_dwPhaseNumber != m_lpPhaseNode->m_dwPhaseNumber + 1)
|
||||
{
|
||||
SERLOG1(g_Log, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߸<EFBFBD><DFB8>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD>ϴ<EFBFBD>. QuestID:0x%04x", m_lpQuestNode->m_wQuestID);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
m_lpPhaseNode = phaseNode;
|
||||
m_lpQuestNode->m_lstPhase.push_back(phaseNode);
|
||||
m_lpTriggerNode = NULL;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CQuestMgr::AddTrigger(TriggerNode* triggerNode)
|
||||
{
|
||||
if (NULL == m_lpPhaseNode)
|
||||
{
|
||||
SERLOG0(g_Log, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʽ<EFBFBD><CABD>ϴ<EFBFBD>.");
|
||||
return false;
|
||||
}
|
||||
|
||||
m_lpTriggerNode = triggerNode;
|
||||
m_lpPhaseNode->m_lstTrigger.push_back(triggerNode);
|
||||
|
||||
m_bFalseEvent = false;
|
||||
m_bDangerousEvent = false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CQuestMgr::AddEvent(EventNode* eventNode)
|
||||
{
|
||||
if (NULL == m_lpTriggerNode)
|
||||
{
|
||||
SERLOG0(g_Log, "Ʈ<EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʽ<EFBFBD><CABD>ϴ<EFBFBD>.");
|
||||
return false;
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20>̺<EFBFBD>Ʈ(Disappear, Get)<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̺<EFBFBD>Ʈ(Award) <20>ڿ<EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD>.
|
||||
if (EVENT_AWARD == eventNode->m_dwEventKind)
|
||||
{
|
||||
m_bDangerousEvent = true;
|
||||
}
|
||||
if (true == m_bDangerousEvent)
|
||||
{
|
||||
if (EVENT_DISAPPEAR == eventNode->m_dwEventKind || EVENT_GET == eventNode->m_dwEventKind)
|
||||
{
|
||||
SERLOG2(g_Log, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><>ũ<EFBFBD><C5A9>Ʈ <20><><EFBFBD><EFBFBD>. QuestID:0x%04x Phase:%d",
|
||||
m_lpQuestNode->m_wQuestID, m_lpPhaseNode->m_dwPhaseNumber);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Բ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ۼ<EFBFBD><DBBC>صд<D8B5>.
|
||||
if (EVENT_GET == eventNode->m_dwEventKind)
|
||||
{
|
||||
unsigned short wItemID = static_cast<unsigned short>(eventNode->m_dwEventNumber);
|
||||
unsigned char cItemNum = static_cast<unsigned char>(eventNode->m_dwEventAmount1);
|
||||
|
||||
m_lpPhaseNode->m_lstDeletedItem.push_back(PhaseNode::DeletedItem(wItemID, cItemNum));
|
||||
}
|
||||
|
||||
if (true == m_bFalseEvent)
|
||||
{
|
||||
m_lpTriggerNode->m_lstFalseEvent.push_back(eventNode);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_lpTriggerNode->m_lstEvent.push_back(eventNode);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CQuestMgr::AddPendingQuest(unsigned long dwGID, unsigned short wQuestID, unsigned char cPhase, unsigned char cTrigger, unsigned char cCount, Position Pos)
|
||||
{
|
||||
TriggerMsg triggerMsg;
|
||||
triggerMsg.m_dwCID = dwGID;
|
||||
triggerMsg.m_cCount = cCount;
|
||||
triggerMsg.m_cPhase = cPhase;
|
||||
triggerMsg.m_cTrigger = cTrigger;
|
||||
triggerMsg.m_wQuestID = wQuestID;
|
||||
triggerMsg.m_Pos(Pos);
|
||||
|
||||
if(!m_bPendingQuest)
|
||||
{
|
||||
m_vecPendingQuest.push_back(triggerMsg);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_vecSubPendingQuest.push_back(triggerMsg);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CQuestMgr::SwapPendingQuest()
|
||||
{
|
||||
std::swap(m_vecPendingQuest, m_vecSubPendingQuest);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void CQuestMgr::ProcessPendingQuest()
|
||||
{
|
||||
m_bPendingQuest = true;
|
||||
|
||||
while(!m_vecPendingQuest.empty() || !m_vecSubPendingQuest.empty())
|
||||
{
|
||||
// <20><><EFBFBD>ʿ<EFBFBD> ť<><C5A5> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
if(m_vecPendingQuest.empty() && m_vecSubPendingQuest.empty())
|
||||
{
|
||||
goto lb_exit;
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>Ʈ ó<><C3B3>.
|
||||
if(!m_vecPendingQuest.empty())
|
||||
{
|
||||
vector<Quest::TriggerMsg>::iterator pos = m_vecPendingQuest.begin();
|
||||
vector<Quest::TriggerMsg>::iterator end = m_vecPendingQuest.end();
|
||||
|
||||
for(; pos!=end; ++pos)
|
||||
{
|
||||
CCharacter* lpCharacter = CCreatureManager::GetInstance().GetCharacter((*pos).m_dwCID);
|
||||
|
||||
if(lpCharacter)
|
||||
{
|
||||
lpCharacter->PendingQuest(&(*pos));
|
||||
}
|
||||
|
||||
}
|
||||
// <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>.
|
||||
m_vecPendingQuest.clear();
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
if(m_vecPendingQuest.empty())
|
||||
{
|
||||
SwapPendingQuest();
|
||||
}
|
||||
}
|
||||
|
||||
lb_exit:
|
||||
|
||||
m_bPendingQuest = false;
|
||||
}
|
||||
|
||||
struct CompareQuestIDForSort
|
||||
{
|
||||
int operator() (const QuestNode* node1, const QuestNode* node2) { return (node1->m_wQuestID < node2->m_wQuestID); }
|
||||
};
|
||||
|
||||
void CQuestMgr::SortQuests(void)
|
||||
{
|
||||
std::sort(m_lstQuest.begin(), m_lstQuest.end(), CompareQuestIDForSort());
|
||||
}
|
||||
|
||||
|
||||
struct CompareQuestIDForSearch
|
||||
{
|
||||
bool operator () (const QuestNode* node, const unsigned short id) { return (node->m_wQuestID < id); }
|
||||
bool operator () (const unsigned short id, const QuestNode* node) { return (id < node->m_wQuestID); }
|
||||
};
|
||||
|
||||
Quest::QuestNode* CQuestMgr::GetQuestNode(unsigned short wQuestID)
|
||||
{
|
||||
vector<QuestNode *>::iterator itr =
|
||||
std::lower_bound(m_lstQuest.begin(), m_lstQuest.end(), wQuestID, CompareQuestIDForSearch());
|
||||
|
||||
return (itr != m_lstQuest.end() && (*itr)->m_wQuestID == wQuestID) ? *itr : NULL;
|
||||
}
|
||||
|
||||
|
||||
void CQuestMgr::ClearQuest(void)
|
||||
{
|
||||
vector<QuestNode *>::iterator itQuest;
|
||||
vector<PhaseNode *>::iterator itPhase;
|
||||
vector<TriggerNode *>::iterator itTrigger;
|
||||
vector<EventNode *>::iterator itEvent;
|
||||
|
||||
QuestNode* lpQuest = NULL;
|
||||
PhaseNode* lpPhase = NULL;
|
||||
TriggerNode* lpTrigger = NULL;
|
||||
EventNode* lpEvent = NULL;
|
||||
|
||||
for (itQuest = m_lstQuest.begin(); itQuest != m_lstQuest.end(); )
|
||||
{
|
||||
lpQuest = (*itQuest);
|
||||
itQuest = m_lstQuest.erase(itQuest);
|
||||
|
||||
for (itPhase = lpQuest->m_lstPhase.begin(); itPhase != lpQuest->m_lstPhase.end(); )
|
||||
{
|
||||
lpPhase = (*itPhase);
|
||||
itPhase = lpQuest->m_lstPhase.erase(itPhase);
|
||||
|
||||
for (itTrigger = lpPhase->m_lstTrigger.begin(); itTrigger != lpPhase->m_lstTrigger.end(); )
|
||||
{
|
||||
lpTrigger = (*itTrigger);
|
||||
itTrigger = lpPhase->m_lstTrigger.erase(itTrigger);
|
||||
|
||||
for (itEvent = lpTrigger->m_lstEvent.begin(); itEvent != lpTrigger->m_lstEvent.end(); )
|
||||
{
|
||||
lpEvent = (*itEvent);
|
||||
itEvent = lpTrigger->m_lstEvent.erase(itEvent);
|
||||
|
||||
delete lpEvent;
|
||||
}
|
||||
lpTrigger->m_lstEvent.clear();
|
||||
|
||||
for (itEvent = lpTrigger->m_lstFalseEvent.begin(); itEvent != lpTrigger->m_lstFalseEvent.end(); )
|
||||
{
|
||||
lpEvent = (*itEvent);
|
||||
itEvent = lpTrigger->m_lstFalseEvent.erase(itEvent);
|
||||
|
||||
delete lpEvent;
|
||||
}
|
||||
lpTrigger->m_lstFalseEvent.clear();
|
||||
|
||||
delete lpTrigger;
|
||||
}
|
||||
lpPhase->m_lstTrigger.clear();
|
||||
|
||||
delete lpPhase;
|
||||
}
|
||||
|
||||
lpQuest->m_lstPhase.clear();
|
||||
|
||||
delete lpQuest;
|
||||
}
|
||||
|
||||
m_lstQuest.clear();
|
||||
}
|
||||
|
||||
bool CQuestMgr::LoadQuestInfo(void)
|
||||
{
|
||||
CQuestMgr::GetInstance().ClearQuest();
|
||||
|
||||
_SE_SetMessageFunction(CQuestMgr::ScriptErrorMessage);
|
||||
|
||||
SCRIPT Script = _SE_Create(szQuestScriptFileName);
|
||||
if (NULL == Script) { return false; }
|
||||
|
||||
_SE_RegisterFunction(Script, ScriptQuestStartLevel, T_VOID, "QuestStartLevel", T_INT, T_INT, T_INT, T_INT, T_INT, T_INT, T_BOOL, 0);
|
||||
_SE_RegisterFunction(Script, ScriptQuestStartFame, T_VOID, "QuestStartFame", T_INT, T_INT, T_INT, T_INT, T_INT, T_INT, T_BOOL, 0);
|
||||
_SE_RegisterFunction(Script, ScriptQuestEnd, T_VOID, "QuestEnd", 0);
|
||||
_SE_RegisterFunction(Script, ScriptQuestType, T_VOID, "QuestType", T_INT, T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptQuestArea, T_VOID, "QuestArea", T_INT, T_FLOAT, T_FLOAT, T_FLOAT, T_FLOAT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptQuestTitle, T_VOID, "QuestTitle", T_STRING, 0);
|
||||
_SE_RegisterFunction(Script, ScriptQuestDesc, T_VOID, "QuestDesc", T_STRING, 0);
|
||||
_SE_RegisterFunction(Script, ScriptQuestShortDesc, T_VOID, "QuestShortDesc", T_STRING, 0);
|
||||
_SE_RegisterFunction(Script, ScriptQuestIcon, T_VOID, "QuestIcon", T_STRING, T_INT, T_INT, T_INT, T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptQuestCompleteSave, T_VOID, "QuestCompleteSave", T_BOOL, 0);
|
||||
_SE_RegisterFunction(Script, ScriptQuestLevel, T_VOID, "QuestLevel", T_STRING, 0);
|
||||
_SE_RegisterFunction(Script, ScriptQuestAward, T_VOID, "QuestAward", T_STRING, 0);
|
||||
_SE_RegisterFunction(Script, ScriptQuestSkillPointBonus, T_VOID, "QuestSkillPointBonus", T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptQuestCancelItemDel, T_VOID, "QuestCancelItemDel", T_BOOL, 0);
|
||||
|
||||
_SE_RegisterFunction(Script, ScriptAddPhase, T_VOID, "AddPhase", T_INT, T_INT, T_STRING, 0);
|
||||
_SE_RegisterFunction(Script, ScriptPhaseTarget, T_VOID, "Phase_Target", T_INT, T_INT, T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptTriggerStart, T_VOID, "Trigger_Start", 0);
|
||||
_SE_RegisterFunction(Script, ScriptTriggerPuton, T_VOID, "Trigger_Puton", T_INT, T_INT, T_FLOAT, T_FLOAT, T_FLOAT, T_FLOAT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptTriggerGeton, T_VOID, "Trigger_Geton", T_INT, T_INT, T_FLOAT, T_FLOAT, T_FLOAT, T_FLOAT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptTriggerTalk, T_VOID, "Trigger_Talk", T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptTriggerKill, T_VOID, "Trigger_Kill", T_INT, T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptTriggerPick, T_VOID, "Trigger_Pick", T_INT, T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptTriggerFame, T_VOID, "Trigger_Fame", T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptTriggerLevelTalk, T_VOID, "Trigger_LevelTalk", T_INT, T_INT, T_STRING, 0);
|
||||
_SE_RegisterFunction(Script, ScriptTriggerFameTalk, T_VOID, "Trigger_FameTalk", T_INT, T_INT, T_STRING, 0);
|
||||
_SE_RegisterFunction(Script, ScriptElse, T_VOID, "Else", 0);
|
||||
|
||||
_SE_RegisterFunction(Script, ScriptEventDisappear, T_VOID, "Event_Disappear", T_INT, T_INT, T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventGet, T_VOID, "Event_Get", T_INT, T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventSpawn, T_VOID, "Event_Spawn", T_INT, T_FLOAT, T_FLOAT, T_FLOAT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventMonsterDrop, T_VOID, "Event_MonsterDrop", T_INT, T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventAward, T_VOID, "Event_Award", T_INT, T_INT, T_INT, T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventMsgBox, T_VOID, "Event_MsgBox", T_STRING, 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventPhase, T_VOID, "Event_Phase", T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventEnd, T_VOID, "Event_End", T_VOID, 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventAddQuest, T_VOID, "Event_AddQuest", T_INT, T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventAwardItem, T_VOID, "Event_AwardItem", T_INT, T_INT, T_INT, T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventAwardItemID, T_VOID, "Event_AwardItemID", T_INT, T_INT, T_INT, T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventAwardItemClass, T_VOID, "Event_AwardItemClass", T_INT, T_INT, T_INT, T_INT, T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventMove, T_VOID, "Event_Move", T_INT, T_FLOAT, T_FLOAT, T_FLOAT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventTheaterMode, T_VOID, "Event_TheaterMode", 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventAlarmBox, T_VOID, "Event_AlarmBox", T_STRING, 0);
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ <20>ý<EFBFBD><C3BD><EFBFBD>
|
||||
_SE_RegisterFunction(Script, ScriptQuestAbilityPoint, T_VOID, "QuestAbilityPoint", T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptEventAwardAbility, T_VOID, "Event_AwardAbility", T_INT, T_INT, 0);
|
||||
_SE_RegisterFunction(Script, ScriptTriggerAbilityTalk, T_VOID, "Trigger_AbilityTalk", T_INT, T_INT, T_INT, T_STRING, 0);
|
||||
|
||||
|
||||
_SE_Execute(Script);
|
||||
_SE_Destroy(Script);
|
||||
|
||||
CQuestMgr::GetInstance().SortQuests();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptErrorMessage(const char *msg)
|
||||
{
|
||||
MessageBox(NULL, msg, "Script Error", MB_OK);
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestStartLevel(int nQuestID, int nMinLevel, int nMaxLevel, int nClass, int nCompleteQuest, int nNation, bool bNationDependent)
|
||||
{
|
||||
// Quest<73><74> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
QuestNode* questNode = new QuestNode(nQuestID, 0, 0, nMinLevel, nMaxLevel, 0, 0, nClass, nCompleteQuest, false, nNation, bNationDependent);
|
||||
|
||||
CQuestMgr::GetInstance().AddQuest(questNode);
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestStartFame(int nQuestID, int nMinFame, int nMaxFame, int nClass, int nCompleteQuest, int nNation, bool bNationDependent)
|
||||
{
|
||||
// Quest<73><74> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
QuestNode* questNode = new QuestNode(nQuestID, 0, 0, 0, 0, nMinFame, nMaxFame, nClass, nCompleteQuest, false, nNation, bNationDependent);
|
||||
|
||||
CQuestMgr::GetInstance().AddQuest(questNode);
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestEnd()
|
||||
{
|
||||
CQuestMgr::GetInstance().QuestEnd();
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestType(unsigned short wQuestType, unsigned short wPartyQuest)
|
||||
{
|
||||
if (0 != wPartyQuest)
|
||||
{
|
||||
wQuestType |= Quest::PARTY_QUEST_BIT;
|
||||
}
|
||||
|
||||
CQuestMgr::GetInstance().QuestType(wQuestType);
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestArea(int nZone, float fPosX, float fPosY, float fPosZ, float fDistance)
|
||||
{
|
||||
CQuestMgr::GetInstance().QuestArea(nZone, fPosX, fPosY, fPosZ, fDistance);
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestTitle(const char *strQuestTitle)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestDesc(const char *strQuestDesc)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestShortDesc(const char *strQuestShortDesc)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestIcon(const char *strIconTexture, int nPosX1, int nPosY1, int nPosX2, int nPosY2)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestCompleteSave(bool bSave)
|
||||
{
|
||||
CQuestMgr::GetInstance().QuestCompleteSave(bSave);
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestLevel(const char *strQuestLevel)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestAward(const char *strQuestAward)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestSkillPointBonus(int nBonusNum)
|
||||
{
|
||||
CQuestMgr::GetInstance().QuestSkillPointBonus(nBonusNum);
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestAbilityPoint(int nBonusNum)
|
||||
{
|
||||
CQuestMgr::GetInstance().QuestAbilityPoint(nBonusNum);
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptQuestCancelItemDel(bool bDelLinkItem)
|
||||
{
|
||||
CQuestMgr::GetInstance().QuestSetDelLinkItem(bDelLinkItem);
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptAddPhase(int nZoneID, int nPhaseNumber, const char* strQuestDesc)
|
||||
{
|
||||
PhaseNode* phaseNode = new PhaseNode(nZoneID, nPhaseNumber);
|
||||
if (false == CQuestMgr::GetInstance().AddPhase(phaseNode))
|
||||
{
|
||||
SERLOG3(g_Log, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><>ũ<EFBFBD><C5A9>Ʈ <20><><EFBFBD><EFBFBD>. AddPhase(%d, %d, %s)",
|
||||
nZoneID, nPhaseNumber, strQuestDesc);
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
|
||||
delete phaseNode;
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptPhaseTarget(int nType, int nPosX, int nPosY)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptTriggerStart(void)
|
||||
{
|
||||
TriggerNode* triggerNode = new TriggerNode(TRIGGER_START, 0, 0, 1, 0, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddTrigger(triggerNode))
|
||||
{
|
||||
delete triggerNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptTriggerPuton(int nItemID, int nZoneID, float fPosX, float fPosY, float fPosZ, float fDistance)
|
||||
{
|
||||
TriggerNode* triggerNode = new TriggerNode(TRIGGER_PUTON, nItemID, nZoneID, 1, 0, fPosX, fPosY, fPosZ, fDistance);
|
||||
if (false == CQuestMgr::GetInstance().AddTrigger(triggerNode))
|
||||
{
|
||||
delete triggerNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptTriggerGeton(int nItemID, int nZoneID, float fPosX, float fPosY, float fPosZ, float fDistance)
|
||||
{
|
||||
TriggerNode* triggerNode = new TriggerNode(TRIGGER_GETON, nItemID, nZoneID, 1, 0, fPosX, fPosY, fPosZ, fDistance);
|
||||
if (false == CQuestMgr::GetInstance().AddTrigger(triggerNode))
|
||||
{
|
||||
delete triggerNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptTriggerTalk(int nNpcID)
|
||||
{
|
||||
TriggerNode* triggerNode = new TriggerNode(TRIGGER_TALK, nNpcID, 0, 1, 0, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddTrigger(triggerNode))
|
||||
{
|
||||
delete triggerNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptTriggerKill(int nCount, int nMonsterID)
|
||||
{
|
||||
TriggerNode* triggerNode = new TriggerNode(TRIGGER_KILL, nMonsterID, 0, nCount, 0, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddTrigger(triggerNode))
|
||||
{
|
||||
delete triggerNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptTriggerPick(int nCount, int nItemID)
|
||||
{
|
||||
TriggerNode* triggerNode = new TriggerNode(TRIGGER_PICK, nItemID, 0, nCount, 0, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddTrigger(triggerNode))
|
||||
{
|
||||
delete triggerNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptTriggerFame(int nFame)
|
||||
{
|
||||
TriggerNode* triggerNode = new TriggerNode(TRIGGER_FAME, nFame, 0, 1, 0, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddTrigger(triggerNode))
|
||||
{
|
||||
delete triggerNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptTriggerLevelTalk(int nLevel, int nNPCID, const char* strElesMsg)
|
||||
{
|
||||
TriggerNode* triggerNode = new TriggerNode(TRIGGER_LEVEL_TALK, nNPCID, 0, 1, nLevel, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddTrigger(triggerNode))
|
||||
{
|
||||
delete triggerNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptTriggerFameTalk(int nFame, int nNPCID, const char* strElesMsg)
|
||||
{
|
||||
TriggerNode* triggerNode = new TriggerNode(TRIGGER_FAME_TALK, nNPCID, 0, 1, nFame, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddTrigger(triggerNode))
|
||||
{
|
||||
delete triggerNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptTriggerAbilityTalk(int nAbilityID, int nAbilityLV, int nNPCID, const char* strElesMsg)
|
||||
{
|
||||
TriggerNode* triggerNode = new TriggerNode(TRIGGER_ABILITY_TALK, nNPCID, nAbilityID, 1, nAbilityLV, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddTrigger(triggerNode))
|
||||
{
|
||||
delete triggerNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CQuestMgr::ScriptElse(void)
|
||||
{
|
||||
CQuestMgr::GetInstance().Else();
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventDisappear(int nAmount, int nItemID, int nGold)
|
||||
{
|
||||
EventNode* eventNode = new EventNode(EVENT_DISAPPEAR, nItemID, nAmount, nGold, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventGet(int nAmount, int nItemID)
|
||||
{
|
||||
EventNode* eventNode = new EventNode(EVENT_GET, nItemID, nAmount, 0, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventSpawn(int nMonsterID, float fPosX, float fPosY, float fPosZ)
|
||||
{
|
||||
EventNode* eventNode = new EventNode(EVENT_SPAWN, nMonsterID, 0, 0, 0, fPosX, fPosY, fPosZ);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventMonsterDrop(int nAmount, int nItemID)
|
||||
{
|
||||
EventNode* eventNode = new EventNode(EVENT_MONSTERDROP, nItemID, nAmount, 0, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventAward(int nExp, int nGold, int nFame, int nMileage)
|
||||
{
|
||||
EventNode* eventNode = new EventNode(EVENT_AWARD, nExp, nGold, nFame, nMileage, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventMsgBox(const char *strMessage)
|
||||
{
|
||||
EventNode* eventNode = new EventNode(EVENT_MSGBOX, 0, 0, 0, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventAlarmBox(const char *strMessage)
|
||||
{
|
||||
EventNode* eventNode = new EventNode(EVENT_ALARMBOX, 0, 0, 0, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventPhase(int nPhaseNumber)
|
||||
{
|
||||
EventNode* eventNode = new EventNode(EVENT_PHASE, nPhaseNumber, 0, 0, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventEnd(void)
|
||||
{
|
||||
EventNode* eventNode = new EventNode(EVENT_END, 0, 0, 0, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventAddQuest(int nNpcID, int nQuestID)
|
||||
{
|
||||
EventNode* eventNode = new EventNode(EVENT_ADDQUEST, nNpcID, nQuestID, 0, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventAwardAbility(int nAbilityID, int nAbilityLV)
|
||||
{
|
||||
EventNode* eventNode = new EventNode(EVENT_AWARDABILITY, nAbilityID, nAbilityLV, 0, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventAwardItem(int nOptionType, int nLevel, int nGrade, int nBaseNum)
|
||||
{
|
||||
if (Item::MAX_OPTION_BASE_NUM < nBaseNum)
|
||||
{
|
||||
ERRLOG4(g_Log, "<EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD> <20>ɼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD>ġ<EFBFBD><C4A1> <20>ʰ<EFBFBD><CAB0>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD>ϴ<EFBFBD>. Event_AwardItem(%d, %d, %d, %d)",
|
||||
nOptionType, nLevel, nGrade, nBaseNum);
|
||||
nBaseNum = Item::MAX_OPTION_BASE_NUM;
|
||||
};
|
||||
|
||||
EventNode* eventNode = new EventNode(EVENT_AWARDITEM, nOptionType, nLevel, nGrade, nBaseNum, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventAwardItemID(int nOptionType, int nID, int nGrade, int nBaseNum)
|
||||
{
|
||||
if (Item::MAX_OPTION_BASE_NUM < nBaseNum)
|
||||
{
|
||||
ERRLOG4(g_Log, "<EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD> <20>ɼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD>ġ<EFBFBD><C4A1> <20>ʰ<EFBFBD><CAB0>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD>ϴ<EFBFBD>. Event_AwardItem(%d, %d, %d, %d)",
|
||||
nOptionType, nID, nGrade, nBaseNum);
|
||||
nBaseNum = Item::MAX_OPTION_BASE_NUM;
|
||||
};
|
||||
|
||||
EventNode* eventNode = new EventNode(EVENT_AWARDITEMID, nOptionType, nID, nGrade, nBaseNum, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventAwardItemClass(int nOptionType, int nClass, int nLevel, int nGrade, int nBaseNum)
|
||||
{
|
||||
if (Item::MAX_OPTION_BASE_NUM < nBaseNum)
|
||||
{
|
||||
ERRLOG5(g_Log, "<EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD> <20>ɼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD>ġ<EFBFBD><C4A1> <20>ʰ<EFBFBD><CAB0>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD>ϴ<EFBFBD>. Event_AwardItem(%d, %d, %d, %d, %d)",
|
||||
nOptionType, nClass, nLevel, nGrade, nBaseNum);
|
||||
nBaseNum = Item::MAX_OPTION_BASE_NUM;
|
||||
};
|
||||
|
||||
EventNode* eventNode = new EventNode(EVENT_AWARDITEMCLASS, nOptionType, nClass, nLevel, nGrade, (float)nBaseNum, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventMove(int nZoneID, float fPosX, float fPosY, float fPosZ)
|
||||
{
|
||||
EventNode* eventNode = new EventNode(EVENT_MOVE, nZoneID, 0, 0, 0, fPosX, fPosY, fPosZ);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
|
||||
void CQuestMgr::ScriptEventTheaterMode(void)
|
||||
{
|
||||
EventNode* eventNode = new EventNode(EVENT_THEATERMODE, 0, 0, 0, 0, 0, 0, 0);
|
||||
if (false == CQuestMgr::GetInstance().AddEvent(eventNode))
|
||||
{
|
||||
delete eventNode;
|
||||
assert(false && "Quest <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ڼ<EFBFBD><DABC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>.");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user