Exemplo n.º 1
0
        public override void Handle(GameSession session, PacketReader packet)
        {
            QuestMode mode = (QuestMode)packet.ReadByte();

            switch (mode)
            {
            case QuestMode.AcceptQuest:
                HandleAcceptQuest(session, packet);
                break;

            case QuestMode.CompleteQuest:
                HandleCompleteQuest(session, packet);
                break;

            case QuestMode.ExplorationQuests:
                HandleAddExplorationQuests(session, packet);
                break;

            case QuestMode.CompleteNavigator:
                HandleCompleteNavigator(session, packet);
                break;

            default:
                IPacketHandler <GameSession> .LogUnknownMode(mode);

                break;
            }
        }
Exemplo n.º 2
0
        public override void Handle(GameSession session, PacketReader packet) // TODO: Refactor when DB is implemented
        {
            QuestMode mode = (QuestMode)packet.ReadByte();

            switch (mode)
            {
            case QuestMode.AcceptQuest:
            {
                int questid  = packet.ReadInt();
                int objectid = packet.ReadInt();
                session.Send(QuestPacket.AcceptQuest(questid));
                break;
            }

            case QuestMode.CompleteQuest:
            {
                int questid  = packet.ReadInt();
                int objectid = packet.ReadInt();
                session.Send(QuestPacket.CompleteQuest(questid));
                QuestReward quest = QuestMetadataStorage.GetMetadata(questid).Reward;
                session.Player.Levels.GainExp(quest.Exp);
                session.Player.Wallet.Meso.Modify(quest.Money);
                break;
            }

            case QuestMode.ExplorationGoals:
                List <QuestMetadata> list = new List <QuestMetadata>();

                int listSize = packet.ReadInt();

                for (int i = 0; i < listSize; i++)
                {
                    list.Add(QuestMetadataStorage.GetMetadata(packet.ReadInt()));
                }

                session.Send(QuestPacket.SendQuests(list));
                break;

            case QuestMode.CompleteNavigator:
                int questId = packet.ReadInt();

                foreach (QuestRewardItem item in QuestMetadataStorage.GetMetadata(questId).RewardItem)
                {
                    InventoryController.Add(session, new Types.Item(item.Code), true);
                }

                session.Send(QuestPacket.CompleteQuest(questId));
                break;

            default:
                IPacketHandler <GameSession> .LogUnknownMode(mode);

                break;
            }
        }
Exemplo n.º 3
0
    public override void Handle(GameSession session, PacketReader packet)
    {
        QuestMode mode = (QuestMode)packet.ReadByte();

        switch (mode)
        {
        case QuestMode.AcceptQuest:
            HandleAcceptQuest(session, packet);
            break;

        case QuestMode.CompleteQuest:
            HandleCompleteQuest(session, packet);
            break;

        case QuestMode.ExplorationQuests:
            HandleAddExplorationQuests(session, packet);
            break;

        case QuestMode.CompleteNavigator:
            HandleCompleteNavigator(session, packet);
            break;

        case QuestMode.ResumeDungeon:
            HandleResumeDungeon(session, packet);
            break;

        case QuestMode.DispatchMode:
            HandleDispatchMode(session, packet);
            break;

        case QuestMode.ToggleTracking:
            HandleToggleTracking(session, packet);
            break;

        case QuestMode.SkyFortress:
            HandleSkyFortressTeleport(session);
            break;

        default:
            LogUnknownMode(mode);
            break;
        }
    }
Exemplo n.º 4
0
 public Quest(string name, string desc, bool isRepeatable, bool isContract, int expReward, int moneyReward, QuestMode questMode = QuestMode.AllAtOnce)
 {
     Name               = name;
     Description        = desc;
     ExpReward          = expReward;
     MoneyReward        = moneyReward;
     IsContract         = isContract;
     IsRepeatable       = isRepeatable;
     Cancellable        = true;
     Conditions         = new List <QuestCondition>();
     AdditionalRewards  = new List <QuestReward>();
     BlipObjects        = new List <BlipObject>();
     QuestMode          = questMode;
     OnComplete         = q => { };
     OnStart            = q => { };
     AmountToSpawn      = -1;
     CreateHandInBlip   = false;
     HandInBlipPosition = Vector3.Zero;
     HasSpawnedTargets  = false;
 }
Exemplo n.º 5
0
 public Quest(string name, string desc,bool isRepeatable, bool isContract, int expReward, int moneyReward, QuestMode questMode = QuestMode.AllAtOnce)
 {
     Name = name;
     Description = desc;
     ExpReward = expReward;
     MoneyReward = moneyReward;
     IsContract = isContract;
     IsRepeatable = isRepeatable;
     Cancellable = true;
     Conditions = new List<QuestCondition>();
     AdditionalRewards = new List<QuestReward>();
     BlipObjects = new List<BlipObject>();
     QuestMode = questMode;
     OnComplete = q => { };
     OnStart = q => { };
     AmountToSpawn = -1;
     CreateHandInBlip = false;
     HandInBlipPosition = Vector3.Zero;
     HasSpawnedTargets = false;
 }
Exemplo n.º 6
0
 public Quest(string name, string desc,bool isRepeatable, bool isContract, int expReward, int moneyReward, QuestMode questMode = QuestMode.AllAtOnce)
 {
     Name = name;
     Description = desc;
     ExpReward = expReward;
     MoneyReward = moneyReward;
     IsContract = isContract;
     IsRepeatable = isRepeatable;
     Conditions = new List<QuestCondition>();
     AdditionalRewards = new List<QuestReward>();
     BlipObjects = new List<BlipObject>();
     QuestMode = questMode;
     OnComplete = q => { };
     OnStart = q => { };
     AmountToSpawn = -1;
 }