AionGermany / aion-germany

Aion Emulator
GNU General Public License v3.0
197 stars 184 forks source link

Asmo quest id 60009 is given instead of 70009 #209

Closed ChaosPower closed 1 year ago

ChaosPower commented 3 years ago

Currently Working on:

https://github.com/AionGermany/aion-germany/blob/11147568b3ce5bed2db7b0e093b33a06addb7cce/AL-Game/data/scripts/system/handlers/quest/ishalgen/_70009PreventingTheHaramelMission.java#L37-L52

I added couple of things in the register.

    @Override
    public void register() {
        qe.registerQuestNpc(703488).addOnTalkEvent(questId); // Third Odella Transport Track
        qe.registerQuestNpc(806883).addOnTalkEvent(questId); // Cheska
        qe.registerQuestNpc(820012).addOnTalkEvent(questId); // Transport Track
        qe.registerQuestNpc(799524).addOnTalkEvent(questId); // Gestanerk
        qe.registerQuestNpc(806814).addOnTalkEvent(questId); // Marko
        qe.registerQuestNpc(700834).addOnTalkEvent(questId); // Odella
        qe.registerOnLevelUp(questId);
        qe.registerOnEnterWorld(questId);
        qe.registerOnEnterZone(ZoneName.get("HARAMEL_TOWER_300200000"), questId);
        for (int mob : mobs) {
            qe.registerQuestNpc(mob).addOnKillEvent(questId);
        }
    }
    @Override
    public boolean onKillEvent(QuestEnv env) {
        Player player = env.getPlayer();
        QuestState qs = player.getQuestStateList().getQuestState(questId);

        if (qs != null && qs.getStatus() == QuestStatus.START) {
            int var = qs.getQuestVarById(0);

            // (0) Step: 3, Count: 1, Mobs : 653196
            // (1) Step: 5, Count: 1, Mobs : 653205
            // (2) Step: 8, Count: 1, Mobs : 653218

            switch (var) {
                case 3: {
                    updateQuestStatus(env);
                    return defaultOnKillEvent(env, 653196, 3, 4, 0);
                }
                case 5: {
                    return defaultOnKillEvent(env, 653205, 6, 7, 0);
                }
                case 8: {
                    qs.setQuestVar(9);
                    qs.setStatus(QuestStatus.REWARD);
                    updateQuestStatus(env);
                    return true;
                }
                default:
                    break;
            }
            return false;
        }
        return false;
    }

Adding these from 60009 as reference fix the bug for killing the first thing. Now I am figuring out how to trigger odella track. Right now it proceeds to the same thing as 60009.