Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- using Stump.DofusProtocol.Types;
- using Stump.Server.WorldServer.Database.Quests;
- using Stump.Server.WorldServer.Game.Actors.RolePlay.Characters;
- using Stump.Server.WorldServer.Game.Interactives;
- using Stump.Server.WorldServer.Database.Interactives;
- using Stump.Server.WorldServer.Database.Items.Templates;
- namespace Stump.Server.WorldServer.Game.Quests.Objectives
- {
- public class FreeFormObjective : QuestObjective
- {
- private int m_completion;
- public FreeFormObjective(Character character, QuestObjectiveTemplate template, bool finished, int elementId, int amount) : base(character, template, finished)
- {
- Element = InteractiveManager.Instance.GetInteractive(elementId);
- Amount = amount;
- }
- public FreeFormObjective(Character character, QuestObjectiveTemplate template, QuestObjectiveStatus finished, int elementId,int amount) : base(character, template, finished)
- {
- Element = InteractiveManager.Instance.GetInteractive(elementId);
- Amount = amount;
- }
- public InteractiveSpawn Element
- {
- get;
- }
- public int Amount
- {
- get;
- }
- public int Completions
- {
- get { return ObjectiveRecord.Completion; }
- private set
- {
- m_completion = value;
- ObjectiveRecord.Completion = value;
- }
- }
- public override bool CanSee()
- {
- return true;
- }
- public override void EnableObjective()
- {
- Character.InteractiveObject += OnInteractiveObject;
- }
- private void OnInteractiveObject(InteractiveSpawn ElementId, int amount)
- {
- if (ElementId.Id != ElementId.Id)
- return;
- if (Completions + amount >= Amount)
- {
- Completions += amount;
- CompleteObjective();
- }
- else
- Completions += amount;
- }
- public override void DisableObjective()
- {
- }
- public override QuestObjectiveInformations GetQuestObjectiveInformations()
- {
- return new QuestObjectiveInformations((ushort)Template.Id, ObjectiveRecord.Status ? false : true, new string[0]);
- }
- public override int Completion()
- {
- return Completions;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement