Advertisement
Guest User

Fichier émulateur

a guest
Jan 19th, 2020
453
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.48 KB | None | 0 0
  1. using Stump.Core.IO;
  2. using Stump.DofusProtocol.D2oClasses;
  3. using Stump.ORM;
  4. using Stump.ORM.SubSonic.SQLGeneration.Schema;
  5. using Stump.Server.WorldServer.Database.I18n;
  6. using Stump.Server.WorldServer.Game.Conditions;
  7.  
  8. namespace Stump.Server.WorldServer.Database.Quests
  9. {
  10. public class QuestTemplateRelator
  11. {
  12. public static string FecthQuery = "SELECT * FROM quests";
  13. }
  14.  
  15. [TableName("quests")]
  16. public class QuestTemplate : IAssignedByD2O, IAutoGeneratedRecord
  17. {
  18. private string m_name;
  19. private ConditionExpression m_startCriterion;
  20. private string m_startCriterionStr;
  21. private int[] m_stepIds;
  22. private string m_stepIdsCsv;
  23.  
  24. public int Id
  25. {
  26. get;
  27. set;
  28. }
  29.  
  30. private uint NameId
  31. {
  32. get;
  33. set;
  34. }
  35.  
  36. [Ignore]
  37. public string Name => m_name ?? (m_name = TextManager.Instance.GetText(NameId));
  38.  
  39. private string StepIdsCSV
  40. {
  41. get { return m_stepIdsCsv; }
  42. set
  43. {
  44. m_stepIdsCsv = value;
  45. m_stepIds = value?.FromCSV<int>(",");
  46. }
  47. }
  48.  
  49. [Ignore]
  50. public int[] StepIds
  51. {
  52. get { return m_stepIds ?? (m_stepIds = StepIdsCSV.FromCSV<int>(",")); }
  53. set
  54. {
  55. m_stepIds = value;
  56. m_stepIdsCsv = value?.ToCSV(",");
  57. }
  58. }
  59.  
  60. public QuestStepTemplate[] Steps
  61. {
  62. get;
  63. set;
  64. }
  65.  
  66. public int CategoryId
  67. {
  68. get;
  69. set;
  70. }
  71.  
  72. public bool IsPartyQuest
  73. {
  74. get;
  75. set;
  76. }
  77.  
  78. public int RepeatType
  79. {
  80. get;
  81. set;
  82. }
  83.  
  84. public int RepeatLimit
  85. {
  86. get;
  87. set;
  88. }
  89.  
  90. public bool IsDungeonQuest
  91. {
  92. get;
  93. set;
  94. }
  95.  
  96. public int LevelMin
  97. {
  98. get;
  99. set;
  100. }
  101.  
  102. public int LevelMax
  103. {
  104. get;
  105. set;
  106. }
  107.  
  108. [Column("StartCriterion")]
  109. private string StartCriterionStr
  110. {
  111. get { return m_startCriterionStr; }
  112. set
  113. {
  114. m_startCriterionStr = value;
  115. m_startCriterion = null;
  116. }
  117. }
  118.  
  119. [Ignore]
  120. public ConditionExpression StartCriterion
  121. {
  122. get { return m_startCriterion ?? (m_startCriterion = ConditionExpression.Parse(StartCriterionStr)); }
  123. set
  124. {
  125. m_startCriterion = value;
  126. m_startCriterionStr = value.ToString();
  127. }
  128. }
  129.  
  130. public void AssignFields(object d2oObject)
  131. {
  132. var quest = (Quest) d2oObject;
  133. Id = (int) quest.Id;
  134. NameId = quest.NameId;
  135. StepIdsCSV = quest.StepIds.ToCSV(",");
  136. CategoryId = (int) quest.categoryId;
  137. RepeatType = (int) quest.repeatType;
  138. RepeatLimit = (int) quest.RepeatLimit;
  139. IsPartyQuest = quest.IsPartyQuest;
  140. IsDungeonQuest = quest.isDungeonQuest;
  141. LevelMin = (int) quest.LevelMin;
  142. LevelMax = (int) quest.LevelMax;
  143. StartCriterionStr = quest.StartCriterion;
  144. }
  145. }
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement