테스트

aion-server 4.8

Gitteol
최고관리자 · 1 · 💬 0 클론/새로받기
 4.8 61f661d · 1 commits 새로받기(Pull)
game-server/data/handlers/quest/daevanion/_2993AnotherBeginning.java
package quest.daevanion;

import static com.aionemu.gameserver.model.DialogAction.*;

import com.aionemu.gameserver.model.DialogPage;
import com.aionemu.gameserver.model.gameobjects.player.Player;
import com.aionemu.gameserver.questEngine.handlers.AbstractQuestHandler;
import com.aionemu.gameserver.questEngine.model.QuestEnv;
import com.aionemu.gameserver.questEngine.model.QuestState;
import com.aionemu.gameserver.questEngine.model.QuestStatus;
import com.aionemu.gameserver.services.QuestService;

/**
 * @author Tiger, Wakizashi, Rolandas, Pad, Neon
 */
public class _2993AnotherBeginning extends AbstractQuestHandler {

	private final static int dialogs[] = { 1013, 1034, 1055, 1076, 5103, 1098, 1119, 1140, 1161, 5104, 1183, 1204, 1225, 1246, 5105, 1268, 1289, 1310,
		1331, 5106, 2376, 2461, 2546, 2631, 2632 };
	private final static int items[][] = { { 110600834, 110600835 }, { 113600800, 113600801 }, { 114600794, 114600795 }, { 112600785, 112600786 },
		{ 111600813, 111600814 }, // Plate
		{ 110300881, 110300882 }, { 113300860, 113300861 }, { 114300893, 114300894 }, { 112300784, 112300785 }, { 111300834, 111300835 }, // Leather
		{ 110100931, 110100932 }, { 113100843, 113100844 }, { 114100866, 114100867 }, { 112100790, 112100791 }, { 111100831, 111100832 }, // Cloth
		{ 110500849, 110500850 }, { 113500827, 113500828 }, { 114500837, 114500838 }, { 112500774, 112500775 }, { 111500821, 111500822 }, // Chain
		{ 110301532, 110301543 }, { 113301497, 113301509 }, { 114301526, 114301538 }, { 112301412, 112301421 }, { 111301470, 111301480 } };// Magical
																																																																				// Leather

	public _2993AnotherBeginning() {
		super(2993);
	}

	@Override
	public void register() {
		qe.registerQuestNpc(204076).addOnQuestStart(questId);
		qe.registerQuestNpc(204076).addOnTalkEvent(questId);
	}

	@Override
	public boolean onDialogEvent(QuestEnv env) {
		if (env.getTargetId() != 204076) // Narvi
			return false;
		Player player = env.getPlayer();
		QuestState qs = player.getQuestStateList().getQuestState(questId);
		int dialogActionId = env.getDialogActionId();

		if (qs == null || qs.isStartable()) {
			if (dialogActionId == EXCHANGE_COIN) {
				QuestService.startQuest(env);
				return sendQuestDialog(env, 1011);
			} else {
				return sendQuestStartDialog(env);
			}
		} else if (qs.getStatus() == QuestStatus.START) {
			if (dialogActionId == EXCHANGE_COIN)
				return sendQuestDialog(env, 1011);

			for (int dialogIndex = 0; dialogIndex < dialogs.length; dialogIndex++) {
				if (dialogs[dialogIndex] == dialogActionId) {
					for (int itemId : items[dialogIndex]) {
						if (player.getInventory().getItemCountByItemId(itemId) > 0) {
							qs.setRewardGroup(dialogIndex);
							return sendQuestDialog(env, 1013);
						}
					}
					return sendQuestDialog(env, 1352);
				}
			}

			switch (dialogActionId) {
				case SETPRO1: // get plate
				case SETPRO2: // get leather
				case SETPRO3: // get cloth
				case SETPRO4: // get chain
				case SETPRO5: // get magic leather
					if (player.getInventory().getItemCountByItemId(186000041) == 0) // Daevanion's Light
						return sendQuestDialog(env, 1009);
					Integer savedData = qs.getRewardGroup();
					int itemIdToRemove = 0;
					for (int itemId : items[savedData]) {
						if (player.getInventory().getItemCountByItemId(itemId) > 0)
							itemIdToRemove = itemId;
					}
					if (itemIdToRemove == 0)
						return sendQuestDialog(env, 1352);
					changeQuestStep(env, 0, 0, true);
					removeQuestItem(env, 186000041, 1);
					removeQuestItem(env, itemIdToRemove, 1);
					qs.setRewardGroup(dialogActionId - SETPRO1); // 0 - 4
					return sendQuestDialog(env, DialogPage.getRewardPageByIndex(qs.getRewardGroup()).id());
			}
			return super.onDialogEvent(env);
		} else if (qs.getStatus() == QuestStatus.REWARD) {
			return sendQuestEndDialog(env);
		}
		return false;
	}
}

📎 첨부파일

댓글 작성 권한이 없습니다.
🏆 포인트 랭킹 TOP 10
순위 닉네임 포인트
1 no_profile 타키야겐지쪽지보내기 자기소개 아이디로 검색 전체게시물 102,949
2 no_profile 동가리쪽지보내기 자기소개 아이디로 검색 전체게시물 63,733
3 no_profile 라프텔쪽지보내기 자기소개 아이디로 검색 전체게시물 51,771
4 no_profile 불멸의행복쪽지보내기 자기소개 아이디로 검색 전체게시물 36,923
5 서번트쪽지보내기 자기소개 아이디로 검색 전체게시물 35,011
6 no_profile 닥터스쪽지보내기 자기소개 아이디로 검색 전체게시물 29,470
7 no_profile 검은고양이쪽지보내기 자기소개 아이디로 검색 전체게시물 29,077
8 no_profile Revolution쪽지보내기 자기소개 아이디로 검색 전체게시물 28,199
9 no_profile 보거스쪽지보내기 자기소개 아이디로 검색 전체게시물 26,731
10 no_profile 호롤롤로쪽지보내기 자기소개 아이디로 검색 전체게시물 17,020
알림 0