VissaDDbth.lua 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. --[[
  2. Script Name : SpawnScripts/WestFreeport/VissaDDbth.lua
  3. Script Author : Dorbin
  4. Script Date : 2022.10.26 07:10:22
  5. Script Purpose :
  6. :
  7. --]]
  8. require "SpawnScripts/Generic/DialogModule"
  9. function spawn(NPC)
  10. end
  11. function respawn(NPC)
  12. spawn(NPC)
  13. end
  14. function hailed(NPC, Spawn)
  15. Dialog8(NPC, Spawn)
  16. end
  17. function RandomGreeting(NPC, Spawn)
  18. local choice = MakeRandomInt(1,4)
  19. if choice == 1 then
  20. PlayFlavor(NPC, "", "I am very busy right now. I have no time to carry on in meaningless conversations.", "", 0, 0, Spawn, 0)
  21. elseif choice == 2 then
  22. PlayFlavor(NPC, "", "Take your time, there's no rush!", "", 0, 0, Spawn, 0)
  23. elseif choice == 3 then
  24. PlayVoice(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1007.mp3", 0, 0, Spawn)
  25. elseif choice == 4 then
  26. PlayVoice(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1001.mp3", 0, 0, Spawn)
  27. end
  28. end
  29. function Dialog1(NPC, Spawn)
  30. FaceTarget(NPC, Spawn)
  31. Dialog.New(NPC, Spawn)
  32. Dialog.AddDialog("There are a number of different crafting stations that can be used to make different items. For example, you would use a forge to make metal armor, and a chemistry table to make potions. The other crafting stations are: the sewing table, the woodworking bench, the sage's engraved desk, the stove & keg, and the jeweler's workbench.")
  33. Dialog.AddOption("And what skills will I need?", "Dialog4")
  34. Dialog.Start()
  35. end
  36. function Dialog2(NPC, Spawn)
  37. FaceTarget(NPC, Spawn)
  38. Dialog.New(NPC, Spawn)
  39. Dialog.AddDialog("All right, let's learn about the crafting process itself. You'll need to have some harvested elm, tin, and roots in your bags. Shall I tell you a bit more about the crafting stations and your tradeskill arts, or do you want to just get going?")
  40. Dialog.AddOption("Elm, tin, roots ... check. And I'd like to learn more before I start, yes.", "Dialog1")
  41. Dialog.AddOption("No thanks, spare me the details, just tell me where to go.")
  42. Dialog.AddOption("Actually ... I'll be right back!")
  43. Dialog.Start()
  44. end
  45. function Dialog3(NPC, Spawn)
  46. FaceTarget(NPC, Spawn)
  47. Dialog.New(NPC, Spawn)
  48. Dialog.AddDialog("The first step in crafting anything is the recipe. The recipe you select determines what you will create. Open your recipe book from the main menu, or press N, to see yours. If you're new to crafting it will be empty, but as you gain more recipes they will be listed here and you can use the Search box at the top of this window to easily find recipe names. You can also create custom filters using the Edit button. ")
  49. Dialog.AddVoiceover("bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial022.mp3", 1284323756, 2111105998)
  50. Dialog.AddOption("Once I find the recipe I want to make, what then?", "Dialog7")
  51. Dialog.Start()
  52. end
  53. function Dialog4(NPC, Spawn)
  54. FaceTarget(NPC, Spawn)
  55. Dialog.New(NPC, Spawn)
  56. Dialog.AddDialog("You will find your tradeskill arts in your knowledge book (press K, under tradeskills). You may want to sort these by category, using the sort button at the top right. You will have 6 tradeskill arts for each of the 9 tradeskill professions, and also a couple of special arts that are used for recipes not related directly to one tradeskill specialty.")
  57. Dialog.AddVoiceover("bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial011.mp3", 1844695369, 4279963855)
  58. Dialog.AddOption("This looks a bit complicated ...", "Dialog6")
  59. Dialog.Start()
  60. end
  61. function Dialog5(NPC, Spawn)
  62. FaceTarget(NPC, Spawn)
  63. Dialog.New(NPC, Spawn)
  64. Dialog.AddDialog("Harvesting resources tend to be segregated by areas - for example, you'll be able to harvest items (often also called nodes) for making equipment for level 1-9 adventurers, in the same areas where you'll find level 1-9 adventurers hunting. There are seven types of harvestable item: wood, roots, ore, soft metal, animal dens, shrubs, and fish. I'd like you to get a few harvests from each type of harvestable item.")
  65. Dialog.AddOption("I'll get right on it.")
  66. Dialog.Start()
  67. end
  68. function Dialog6(NPC, Spawn)
  69. FaceTarget(NPC, Spawn)
  70. Dialog.New(NPC, Spawn)
  71. Dialog.AddDialog("It's not really all that complicated once you get the hang of it! Just remember that for any recipe, you will have six tradeskill arts that you can use if you want. If you mouse-over or examine the arts in your book, you should see what each of them do. Three will add progress, and three will add durability. When you open up the crafting window, the correct skills you need will automatically appear at the bottom. Or, if you prefer, you can drag the ones you want onto a custom hotbar. Either way, when you're crafting you will want to be sure you know which ones add progress and which ones add durability.")
  72. Dialog.AddOption("So what happens next?", "Dialog3")
  73. Dialog.Start()
  74. end
  75. function Dialog7(NPC, Spawn)
  76. FaceTarget(NPC, Spawn)
  77. Dialog.New(NPC, Spawn)
  78. Dialog.AddDialog("In this window you would select the name of the recipe you wish to use and then click Create. You will need to be near a crafting station of the appropriate type. If you click on the crafting station directly, your recipe book will automatically filter to show you only the recipes you can make on that station. Once you click Create, you will move to the Resource Window which shows you the list of ingredients that recipe requires. If you have all those, you click Begin and crafting starts.")
  79. Dialog.AddOption("I think I'm ready to give it a try.", "Dialog11")
  80. Dialog.Start()
  81. end
  82. function Dialog8(NPC, Spawn)
  83. FaceTarget(NPC, Spawn)
  84. Dialog.New(NPC, Spawn)
  85. Dialog.AddDialog("Hello, friend! I'm here to teach interested people a little bit about how to harvest crafting materials, and how to craft tradeskilled items. Are you interested?")
  86. Dialog.AddVoiceover("voiceover/english/voice_emotes/greetings/greetings_3_1001.mp3", 0, 0)
  87. Dialog.AddOption("Yes please, I don't know much about that stuff.", "Dialog13")
  88. Dialog.AddOption("Sure, I think I'm pretty comfortable with it all but I can always use a memory refresher.")
  89. Dialog.AddOption("No thanks, I have other things to do right now.")
  90. Dialog.Start()
  91. end
  92. function Dialog9(NPC, Spawn)
  93. FaceTarget(NPC, Spawn)
  94. Dialog.New(NPC, Spawn)
  95. Dialog.AddDialog("Hello, friend! I'm here to teach interested people a little bit about how to harvest crafting materials, and how to craft tradeskilled items. Are you interested?")
  96. Dialog.AddVoiceover("voiceover/english/voice_emotes/greetings/greetings_2_1001.mp3", 0, 0)
  97. Dialog.AddOption("Yes please, I don't know much about that stuff.", "Dialog5")
  98. Dialog.AddOption("Sure, I think I'm pretty comfortable with it all but I can always use a memory refresher.", "Dialog13")
  99. Dialog.AddOption("No thanks, I have other things to do right now.")
  100. Dialog.Start()
  101. end
  102. function Dialog10(NPC, Spawn)
  103. FaceTarget(NPC, Spawn)
  104. Dialog.New(NPC, Spawn)
  105. Dialog.AddDialog("Of course, it'll be easier to understand once you can see it in action. Here's a recipe book, and some fuel. Scribe the recipe book by finding it in your inventory and right-clicking it. Check that you have some elm, tin, and roots in your bags, and head over to the forge. Click on the forge to bring up your recipe list, and select the recipe for the simple candelabra.")
  106. Dialog.AddOption("Thanks. Here I go.")
  107. Dialog.Start()
  108. end
  109. function Dialog11(NPC, Spawn)
  110. FaceTarget(NPC, Spawn)
  111. Dialog.New(NPC, Spawn)
  112. Dialog.AddDialog("I'd like you to make a candelabra for practice. While you craft it, I'd like you to pay attention to the blue and green bars in the middle area. This shows you your progress (blue), and the durability (green) of the item you are creating. The goal is to increase your progress without losing too much durability. To create the item, you need to fill all four blue progress bars. If you lose at least one full bar of durability, you will not be able to do this unless you can regain that durability again. It is safest to keep your durability near maximum just in case of unexpected critical failures.")
  113. Dialog.AddVoiceover("bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial024.mp3", 4153701642, 579729456)
  114. Dialog.AddOption("How do I stop losing durability then?", "Dialog12")
  115. Dialog.Start()
  116. end
  117. function Dialog12(NPC, Spawn)
  118. FaceTarget(NPC, Spawn)
  119. Dialog.New(NPC, Spawn)
  120. Dialog.AddDialog("That's where the reaction arts I mentioned come in. You can use these to add progress (blue) or durability (green). Mouse click these or press 1 through 6 on your keyboard. You can use these skills proactively throughout crafting to influence the outcome - for example, use skills that add durability if your durability is dropping. Every 4 seconds a crafting 'round' completes and you will see numbers indicating your overall progress and durability loss or gain for that round above the crafting station. This is generally easier to see in third-person view (use your mouse wheel to scroll out).")
  121. Dialog.AddVoiceover("bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial025.mp3", 3997673614, 576853953)
  122. Dialog.AddOption("It might be easier if I just try it out, can I give it a try now?", "Dialog10")
  123. Dialog.Start()
  124. end
  125. function Dialog13(NPC, Spawn)
  126. FaceTarget(NPC, Spawn)
  127. Dialog.New(NPC, Spawn)
  128. Dialog.AddDialog("Would you like to learn about harvesting, or skip straight to the crafting process? ")
  129. Dialog.AddOption("Let's start from the beginning with the harvesting.", "Dialog5")
  130. Dialog.AddOption("I've already done some harvesting, tell me what I can do with it all.", "Dialog2")
  131. Dialog.AddOption("Whoops, look at the time, got to go.")
  132. Dialog.Start()
  133. end