47 lines
1.1 KiB
C#
47 lines
1.1 KiB
C#
using System.Text;
|
|
|
|
|
|
|
|
using Microsoft.Extensions.Primitives;
|
|
|
|
|
|
using ServerCore;
|
|
using ServerBase;
|
|
|
|
|
|
|
|
namespace ServerCommon;
|
|
|
|
|
|
/*
|
|
* Rule
|
|
* TASK, ACTIVED 1
|
|
* QUEST, COMPLETE (questId) 는 무조건 존재해야 한다.
|
|
*
|
|
*/
|
|
public class QuestValidatorForMustHave : QuestScriptValidatorBase
|
|
{
|
|
private UInt32 m_quest_id = 0;
|
|
public QuestValidatorForMustHave(QuestMetaValidateHandler handler, UInt32 questId) : base(handler)
|
|
{
|
|
m_quest_id = questId;
|
|
init();
|
|
}
|
|
|
|
public override void init()
|
|
{
|
|
StringBuilder str_builder_task = new();
|
|
str_builder_task
|
|
.Append(EQuestEventTargetType.TASK.ToString())
|
|
.Append(EQuestEventNameType.ACTIVED.ToString())
|
|
.Append("1");
|
|
m_handler.addEventChecker(str_builder_task.ToString());
|
|
|
|
StringBuilder str_builder_quest = new();
|
|
str_builder_quest
|
|
.Append(EQuestFunctionTargetType.QUEST.ToString())
|
|
.Append(EQuestFunctionNameType.COMPLETE.ToString())
|
|
.Append(m_quest_id.ToString());
|
|
m_handler.addFunctionChecker(str_builder_quest.ToString());
|
|
}
|
|
} |