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; } }
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; } }
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; } }
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; }
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; }
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; }