ImportantNoticeBoard.lua 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. --[[
  2. Script Name : SpawnScripts/Generic/ImportantNoticeBoard.lua
  3. Script Author : Dorbin
  4. Script Date : 2022.11.18 11:11:22
  5. Script Purpose : FACILITATES FAQ BOARDS
  6. :
  7. --]]
  8. function spawn(NPC)
  9. end
  10. function respawn(NPC)
  11. spawn(NPC)
  12. end
  13. function casted_on(NPC, Spawn, SpellName)
  14. if SpellName == 'Read' then
  15. MainMenu(NPC,Spawn)
  16. end
  17. end
  18. function CloseConvo(NPC,Spawn)
  19. CloseConversation(NPC,Spawn)
  20. end
  21. function MainMenu(NPC,Spawn)
  22. local con = CreateConversation()
  23. AddConversationOption(con, "[ Discord ]", "Discord")
  24. AddConversationOption(con, "[ Goal ]", "Goal")
  25. AddConversationOption(con, "[ Server Status ]", "CurrentStatus")
  26. AddConversationOption(con, "[ Content Status ]", "ContentStatus")
  27. AddConversationOption(con, "[ Report a Bug? ]", "Bugs")
  28. AddConversationOption(con, "[ Exit ]","CloseConvo")
  29. StartDialogConversation(con, 1, NPC, Spawn, "This board contains FAQ and Status information about the EQ2EMU Content Development")
  30. end
  31. function Discord(NPC,Spawn)
  32. local con = CreateConversation()
  33. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  34. AddConversationOption(con, "[ Goal ]", "Goal")
  35. AddConversationOption(con, "[ Server Status ]", "CurrentStatus")
  36. AddConversationOption(con, "[ Content Status ]", "ContentStatus")
  37. AddConversationOption(con, "[ Report a Bug? ]", "Bugs")
  38. AddConversationOption(con, "[ Exit ]","CloseConvo")
  39. StartDialogConversation(con, 1, NPC, Spawn, "There is 1 EQ2EMU Discord server (EQ2EMU & EQ2PVP), but 2 playable EQ2EMU test servers in the production process\n\nZekLabs and ContentLabs\n\nBoth use the same Discord server.\n\n- Zeklabs handles hard coding / server stability.\n\n- ContentLabs handles most Content updates.\n\nBoth servers exchange data frequently to coordinate the best testing server experiences.\n\nChoose your test server accordingly.")
  40. end
  41. function Goal(NPC,Spawn)
  42. local con = CreateConversation()
  43. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  44. AddConversationOption(con, "[ Discord ]", "Discord")
  45. AddConversationOption(con, "[ Server Status ]", "CurrentStatus")
  46. AddConversationOption(con, "[ Content Status ]", "ContentStatus")
  47. AddConversationOption(con, "[ Report a Bug? ]", "Bugs")
  48. AddConversationOption(con, "[ Exit ]","CloseConvo")
  49. StartDialogConversation(con, 1, NPC, Spawn, "Goal: The ability to take what is developed here and apply it to a custom server. Content across the EMU is focused from Classic to Altar of Malice (AoM) in various states. A future server oporator can take the EQ2EMU tools and apply their own rulesets with the content foundation here.\n\n Currently, the Altar of Malice (AOM) client AND Desert of Flames (DoF) haves had the most stability work completed, but other clients will still possibly work (at your own risk). BOTH stable clients are a work in progress. Please report bugs on the EMU Discord!")
  50. end
  51. function CurrentStatus(NPC,Spawn)
  52. local con = CreateConversation()
  53. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  54. AddConversationOption(con, "[ Goal ]", "Goal")
  55. AddConversationOption(con, "[ Server Status ]", "CurrentStatus")
  56. AddConversationOption(con, "[ Content Status ]", "ContentStatus")
  57. AddConversationOption(con, "[ Report a Bug? ]", "Bugs")
  58. AddConversationOption(con, "[ Exit ]","CloseConvo")
  59. StartDialogConversation(con, 1, NPC, Spawn, "Server Status: The EQ2EMU is in Pre-Alpha, meaning there are many areas with some work done but far from what is expected for the \'True Experience\'.\n\n NOTE: Character Stats are using the OLD system, where each stat is used by all characters (e.g. Scouts use Wisdom for resistance)\n\n Refer to the other portions on this board for Zone / Content specific information.")
  60. end
  61. function ContentStatus(NPC,Spawn)
  62. local con = CreateConversation()
  63. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  64. AddConversationOption(con, "[ Zones ]", "Zones")
  65. AddConversationOption(con, "[ Combat ]", "Combat")
  66. AddConversationOption(con, "[ Tradeskill ]", "Tradeskill")
  67. AddConversationOption(con, "[ Quests ]","Quests")
  68. AddConversationOption(con, "[ Player Housing ]","PlayerHouse")
  69. AddConversationOption(con, "[ Exit ]","CloseConvo")
  70. StartDialogConversation(con, 1, NPC, Spawn, "Content Status: Content is broken into subcategories:\nZones\nCombat\nTadeskill\nQuests\nPlayer Housing.\n\n These are just basic content areas with general descriptions of their states.")
  71. end
  72. function Zones(NPC,Spawn)
  73. local con = CreateConversation()
  74. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  75. AddConversationOption(con, "[ Zones ]", "Zones")
  76. AddConversationOption(con, "[ Combat ]", "Combat")
  77. AddConversationOption(con, "[ Tradeskill ]", "Tradeskill")
  78. AddConversationOption(con, "[ Quests ]","Quests")
  79. AddConversationOption(con, "[ Player Housing ]","PlayerHouse")
  80. AddConversationOption(con, "[ Exit ]","CloseConvo")
  81. StartDialogConversation(con, 1, NPC, Spawn, "Zones: Classic Content zones have received the most attention.\n\n Isle of Refuge is nearly 90%\n\n Classic Qeynos and all of its \'hoods\' & dungeons are the most complete.\n\n Queen's Colony is nearly 90%,\n\n Outpost of the Overlord is roughly 80%.\n\n Freeport is roughly 50% complete with an Ecology pass still necessary.\n\n Frostfang Sea is mostly complete.\n\n Various other zones, such as Nek Castle, and Tier 5 raid zones have had unique attention.\n\n NOTE: EVERYTHING is a work in progress!")
  82. end
  83. function Combat(NPC,Spawn)
  84. local con = CreateConversation()
  85. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  86. AddConversationOption(con, "[ Zones ]", "Zones")
  87. AddConversationOption(con, "[ Combat ]", "Combat")
  88. AddConversationOption(con, "[ Tradeskill ]", "Tradeskill")
  89. AddConversationOption(con, "[ Quests ]","Quests")
  90. AddConversationOption(con, "[ Player Housing ]","PlayerHouse")
  91. AddConversationOption(con, "[ Exit ]","CloseConvo")
  92. StartDialogConversation(con, 1, NPC, Spawn, "Combat: Combat is under constant adjustment. Many areas still need attention, such as Heroic Opportunties, Rebuilding Classic spells, and balance passes. Resistance rates for spells and expected melee output need continual tweaking. The classic system has the fewest variables, and is currently the easiest to modify.\n\n NOTE: Character Stats are using the OLD system, where each stat is used by all characters (e.g. Scouts use Wisdom for resistance)")
  93. end
  94. function Tradeskill(NPC,Spawn)
  95. local con = CreateConversation()
  96. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  97. AddConversationOption(con, "[ Zones ]", "Zones")
  98. AddConversationOption(con, "[ Combat ]", "Combat")
  99. AddConversationOption(con, "[ Tradeskill ]", "Tradeskill")
  100. AddConversationOption(con, "[ Quests ]","Quests")
  101. AddConversationOption(con, "[ Player Housing ]","PlayerHouse")
  102. AddConversationOption(con, "[ Exit ]","CloseConvo")
  103. StartDialogConversation(con, 1, NPC, Spawn, "Tradeskill: Tradeskilling is not viable right now. (See Tradeskill Bugs for more)\n\nClassic era levels 1-9 recipes are in place with subcombines.\n\nAdvancement trainers in Freeport and Qeynos have been scripted and are ready once the systems have been updated.")
  104. end
  105. function Quests(NPC,Spawn)
  106. local con = CreateConversation()
  107. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  108. AddConversationOption(con, "[ Zones ]", "Zones")
  109. AddConversationOption(con, "[ Combat ]", "Combat")
  110. AddConversationOption(con, "[ Tradeskill ]", "Tradeskill")
  111. AddConversationOption(con, "[ Quests ]","Quests")
  112. AddConversationOption(con, "[ Player Housing ]","PlayerHouse")
  113. AddConversationOption(con, "[ Exit ]","CloseConvo")
  114. StartDialogConversation(con, 1, NPC, Spawn, "Quests: Thousands of quests have been rebuilt, many by hand. All Original Classic quests in Qeynos for T1 & T2 have been rebuilt, with the exception of faction writs and class training. Citizenship requirements are in place for Qeynos AND Freeport Refugees.")
  115. end
  116. function PlayerHouse(NPC,Spawn)
  117. local con = CreateConversation()
  118. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  119. AddConversationOption(con, "[ Zones ]", "Zones")
  120. AddConversationOption(con, "[ Combat ]", "Combat")
  121. AddConversationOption(con, "[ Tradeskill ]", "Tradeskill")
  122. AddConversationOption(con, "[ Quests ]","Quests")
  123. AddConversationOption(con, "[ Player Housing ]","PlayerHouse")
  124. AddConversationOption(con, "[ Exit ]","CloseConvo")
  125. StartDialogConversation(con, 1, NPC, Spawn, "Player Housing: A work in progress. Currently, you can purchase a home in the major cities, but placing furniture does not work entirely. Furniture placement needs attention. Wall and ceiling mounts are not functional.")
  126. end
  127. function Bugs(NPC,Spawn)
  128. local con = CreateConversation()
  129. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  130. AddConversationOption(con, "[ Discord ]", "Discord")
  131. AddConversationOption(con, "[ Goal ]", "Goal")
  132. AddConversationOption(con, "[ Server Status ]", "CurrentStatus")
  133. AddConversationOption(con, "[ Content Status ]", "ContentStatus")
  134. AddConversationOption(con, "[ Exit ]","CloseConvo")
  135. StartDialogConversation(con, 1, NPC, Spawn, "Report Bugs:\n\nBug reporting is handled exclusively on the Discord Channels.\n\nPlease refer to [ Discord ] for more information.")
  136. end
  137. --[[
  138. function Bugs(NPC,Spawn)
  139. local con = CreateConversation()
  140. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  141. AddConversationOption(con, "[ General Bugs ]", "GeneralBugs")
  142. AddConversationOption(con, "[ Combat Bugs ]", "CombatBugs")
  143. AddConversationOption(con, "[ Quest Bugs ]", "QuesttBugs")
  144. AddConversationOption(con, "[ Tradeskill Bugs ]", "TradeskillBugs")
  145. AddConversationOption(con, "[ Exit ]","CloseConvo")
  146. StartDialogConversation(con, 1, NPC, Spawn, "Bugs: Post new Bugs on the EQ2EMU Discord channel! \n\n The following are some major bugs known to the EMU team. There are more, and please feel free to share them on Discord.")
  147. end
  148. ]]--
  149. function CombatBugs(NPC,Spawn)
  150. local con = CreateConversation()
  151. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  152. AddConversationOption(con, "[ General Bugs ]", "GeneralBugs")
  153. AddConversationOption(con, "[ Combat Bugs ]", "CombatBugs")
  154. AddConversationOption(con, "[ Quest Bugs ]", "QuesttBugs")
  155. AddConversationOption(con, "[ Tradeskill Bugs ]", "TradeskillBugs")
  156. AddConversationOption(con, "[ Exit ]","CloseConvo")
  157. StartDialogConversation(con, 1, NPC, Spawn, "Combat Bugs:\n\n -Class changes do not apply appropriate skills. Result can cause some equipment to be unusable.\n\n -In-Combat regen for NPCs has spikes after initiating combat.\n\n -Heroic Opportunity Mechanic needs extreme attention.\n\n -Agro mechanics occasionally happen through walls.\n\n -Encounter-lock & Yell systems are not implemented.\n\n -Breath meter and In-Combat runspeed need attention.\n\n -Fighting aquatic targets near shore needs attention.\n\n -Damage immunity mechanics are not currently functional.")
  158. end
  159. function QuesttBugs(NPC,Spawn)
  160. local con = CreateConversation()
  161. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  162. AddConversationOption(con, "[ General Bugs ]", "GeneralBugs")
  163. AddConversationOption(con, "[ Combat Bugs ]", "CombatBugs")
  164. AddConversationOption(con, "[ Quest Bugs ]", "QuesttBugs")
  165. AddConversationOption(con, "[ Tradeskill Bugs ]", "TradeskillBugs")
  166. AddConversationOption(con, "[ Exit ]","CloseConvo")
  167. StartDialogConversation(con, 1, NPC, Spawn, "Quest Bugs:\n\n -Non-deletable quests can currently be deleted. Function needs implementation.\n\n -Multiple Quest Offer Windows can occur and causes content flow issues.\n\n -Updating Current Zone is not behaving appropriately.\n\n -Not all currently active quests can be completed. Feel free to report bugs on any quest you're offered. ")
  168. end
  169. function TradeskillBugs(NPC,Spawn)
  170. local con = CreateConversation()
  171. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  172. AddConversationOption(con, "[ General Bugs ]", "GeneralBugs")
  173. AddConversationOption(con, "[ Combat Bugs ]", "CombatBugs")
  174. AddConversationOption(con, "[ Quest Bugs ]", "QuesttBugs")
  175. AddConversationOption(con, "[ Tradeskill Bugs ]", "TradeskillBugs")
  176. AddConversationOption(con, "[ Exit ]","CloseConvo")
  177. StartDialogConversation(con, 1, NPC, Spawn, "Tradeskill Bugs: Currently Tradeskilling is not in a desired state, and a major work in progress. Classic era levels 1-9 recipes are in place with subcombines. Crafting animations are still needing attention.")
  178. end
  179. function GeneralBugs(NPC,Spawn)
  180. local con = CreateConversation()
  181. AddConversationOption(con, "[ Main Menu ]", "MainMenu")
  182. AddConversationOption(con, "[ General Bugs ]", "GeneralBugs")
  183. AddConversationOption(con, "[ Combat Bugs ]", "CombatBugs")
  184. AddConversationOption(con, "[ Quest Bugs ]", "QuesttBugs")
  185. AddConversationOption(con, "[ Tradeskill Bugs ]", "TradeskillBugs")
  186. AddConversationOption(con, "[ Exit ]","CloseConvo")
  187. StartDialogConversation(con, 1, NPC, Spawn, "General Bugs: - Banking system, from shared bank to stack management, needs attention.\n\n -Follow, Pet follow, and mob stacking are works in progress.\n\n -Waypoint system is very basic right now.\n\n -Location Point of Interest isn't completely implemented yet.\n\n -Achievements are not active.\n\n-Alternate Advancement & Diety systems are not implemented.")
  188. end