root/trunk/AE-go_GameServer/data/scripts/system/handlers/quest/ascension/_2008Ascension.java

15081514
37
import com.aionemu.gameserver.questEngine.model.QuestEnv;
37
import com.aionemu.gameserver.questEngine.model.QuestEnv;
38
import com.aionemu.gameserver.questEngine.model.QuestState;
38
import com.aionemu.gameserver.questEngine.model.QuestState;
39
import com.aionemu.gameserver.questEngine.model.QuestStatus;
39
import com.aionemu.gameserver.questEngine.model.QuestStatus;
40
import com.aionemu.gameserver.services.InstanceService;
40
import com.aionemu.gameserver.services.ItemService;
41
import com.aionemu.gameserver.services.ItemService;
41
import com.aionemu.gameserver.services.TeleportService;
42
import com.aionemu.gameserver.services.TeleportService;
42
import com.aionemu.gameserver.utils.PacketSendUtility;
43
import com.aionemu.gameserver.utils.PacketSendUtility;
...
...
59
	TeleportService	teleportService;
60
	TeleportService	teleportService;
60
	@Inject
61
	@Inject
61
	ItemService itemService;
62
	ItemService itemService;
63
	@Inject
64
	InstanceService instanceService;
62
65
63
	public _2008Ascension()
66
	public _2008Ascension()
64
	{
67
	{
...
...
192
							updateQuestStatus(player, qs);
195
							updateQuestStatus(player, qs);
193
							PacketSendUtility.sendPacket(player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 0));
196
							PacketSendUtility.sendPacket(player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 0));
194
							// Create instance
197
							// Create instance
195
							WorldMapInstance newInstance = player.getPosition().getWorld().getNextAvailableInstance(320010000);
198
							WorldMapInstance newInstance = instanceService.getNextAvailableInstance(320010000, 60 * 20);
196
							newInstance.setDestroyTime(60 * 20); // 20 min
199
							instanceService.registerPlayerWithInstance(newInstance, player);
197
							teleportService.teleportTo(player, 320010000, newInstance.getInstanceId(), 457.65f, 426.8f, 230.4f, 0);
200
							teleportService.teleportTo(player, 320010000, newInstance.getInstanceId(), 457.65f, 426.8f, 230.4f, 0);
198
							return true;
201
							return true;
199
						}
202
						}
...
...
365
	public boolean onEnterWorldEvent(QuestEnv env)
368
	public boolean onEnterWorldEvent(QuestEnv env)
366
	{
369
	{
367
		Player player = env.getPlayer();
370
		Player player = env.getPlayer();
368
		int instanceId = player.getInstanceId();
369
		QuestState qs = player.getQuestStateList().getQuestState(questId);
371
		QuestState qs = player.getQuestStateList().getQuestState(questId);
370
		if(qs != null && qs.getStatus() == QuestStatus.START)
372
		if(qs != null && qs.getStatus() == QuestStatus.START)
371
		{
373
		{
372
			int var = qs.getQuestVars().getQuestVars();
374
			int var = qs.getQuestVars().getQuestVars();
373
			if(var == 5 || (var >= 50 && var <= 55) || var == 99)
375
			if(var == 5 || (var >= 50 && var <= 55) || var == 99)
374
			{
376
			{
375
				WorldMap worldMap = world.getWorldMap(320010000);
377
				if(player.getWorldId() != 320010000)
376
				int id = -1;
377
				if (worldMap != null)
378
					id = worldMap.getWorldMapScriptInstanceIdByPlyerObjId(player.getObjectId());
379
				if(id == -1 || player.getWorldId() != 320010000)
380
				{
378
				{
381
					qs.setQuestVar(4);
379
					qs.setQuestVar(4);
382
					updateQuestStatus(player, qs);
380
					updateQuestStatus(player, qs);
383
					PacketSendUtility.sendPacket(player, new SM_SYSTEM_MESSAGE(SystemMessageId.QUEST_FAILED_$1, DataManager.QUEST_DATA.getQuestById(questId).getName()));
381
					PacketSendUtility.sendPacket(player, new SM_SYSTEM_MESSAGE(SystemMessageId.QUEST_FAILED_$1, DataManager.QUEST_DATA.getQuestById(questId).getName()));
384
					teleportService.teleportTo(player, 220010000, 1, 378.9f, 1895.39f, 330.0f, 1000);
385
				}
382
				}
386
				else if(id != instanceId)
387
					teleportService.changeChannel(player, id-1);
388
			}
383
			}
389
		}
384
		}
390
		return false;
385
		return false;