Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Stump.Core.IO;
- using Stump.DofusProtocol.D2oClasses;
- using Stump.ORM;
- using Stump.ORM.SubSonic.SQLGeneration.Schema;
- using Stump.Server.WorldServer.Database.I18n;
- using Stump.Server.WorldServer.Game.Conditions;
- namespace Stump.Server.WorldServer.Database.Quests
- {
- public class QuestTemplateRelator
- {
- public static string FecthQuery = "SELECT * FROM quests";
- }
- [TableName("quests")]
- public class QuestTemplate : IAssignedByD2O, IAutoGeneratedRecord
- {
- private string m_name;
- private ConditionExpression m_startCriterion;
- private string m_startCriterionStr;
- private int[] m_stepIds;
- private string m_stepIdsCsv;
- public int Id
- {
- get;
- set;
- }
- private uint NameId
- {
- get;
- set;
- }
- [Ignore]
- public string Name => m_name ?? (m_name = TextManager.Instance.GetText(NameId));
- private string StepIdsCSV
- {
- get { return m_stepIdsCsv; }
- set
- {
- m_stepIdsCsv = value;
- m_stepIds = value?.FromCSV<int>(",");
- }
- }
- [Ignore]
- public int[] StepIds
- {
- get { return m_stepIds ?? (m_stepIds = StepIdsCSV.FromCSV<int>(",")); }
- set
- {
- m_stepIds = value;
- m_stepIdsCsv = value?.ToCSV(",");
- }
- }
- public QuestStepTemplate[] Steps
- {
- get;
- set;
- }
- public int CategoryId
- {
- get;
- set;
- }
- public bool IsPartyQuest
- {
- get;
- set;
- }
- public int RepeatType
- {
- get;
- set;
- }
- public int RepeatLimit
- {
- get;
- set;
- }
- public bool IsDungeonQuest
- {
- get;
- set;
- }
- public int LevelMin
- {
- get;
- set;
- }
- public int LevelMax
- {
- get;
- set;
- }
- [Column("StartCriterion")]
- private string StartCriterionStr
- {
- get { return m_startCriterionStr; }
- set
- {
- m_startCriterionStr = value;
- m_startCriterion = null;
- }
- }
- [Ignore]
- public ConditionExpression StartCriterion
- {
- get { return m_startCriterion ?? (m_startCriterion = ConditionExpression.Parse(StartCriterionStr)); }
- set
- {
- m_startCriterion = value;
- m_startCriterionStr = value.ToString();
- }
- }
- public void AssignFields(object d2oObject)
- {
- var quest = (Quest) d2oObject;
- Id = (int) quest.Id;
- NameId = quest.NameId;
- StepIdsCSV = quest.StepIds.ToCSV(",");
- CategoryId = (int) quest.categoryId;
- RepeatType = (int) quest.repeatType;
- RepeatLimit = (int) quest.RepeatLimit;
- IsPartyQuest = quest.IsPartyQuest;
- IsDungeonQuest = quest.isDungeonQuest;
- LevelMin = (int) quest.LevelMin;
- LevelMax = (int) quest.LevelMax;
- StartCriterionStr = quest.StartCriterion;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement