Advertisement
Guest User

43

a guest
Apr 21st, 2015
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.85 KB | None | 0 0
  1. local VillageJediManagerCommon = require("managers.jedi.village.village_jedi_manager_common")
  2. local OldManEncounter = require("managers.jedi.village.old_man_encounter")
  3.  
  4. old_man_conv_handler = Object:new {
  5. }
  6.  
  7. function old_man_conv_handler:getNextConversationScreen(pConversationTemplate, pConversingPlayer, selectedOption)
  8. local convosession = CreatureObject(pConversingPlayer):getConversationSession()
  9.  
  10. local lastConversationScreen = nil
  11.  
  12. if (convosession ~= nil) then
  13. local session = LuaConversationSession(convosession)
  14. lastConversationScreen = session:getLastConversationScreen()
  15. end
  16.  
  17. local conversation = LuaConversationTemplate(pConversationTemplate)
  18.  
  19. local nextConversationScreen
  20.  
  21. if (lastConversationScreen ~= nil) then
  22. local luaLastConversationScreen = LuaConversationScreen(lastConversationScreen)
  23.  
  24. --Get the linked screen for the selected option.
  25. local optionLink = luaLastConversationScreen:getOptionLink(selectedOption)
  26.  
  27. nextConversationScreen = conversation:getScreen(optionLink)
  28.  
  29. if nextConversationScreen ~= nil then
  30. local nextLuaConversationScreen = LuaConversationScreen(nextConversationScreen)
  31. else
  32. nextConversationScreen = conversation:getScreen("init")
  33. end
  34. else
  35. nextConversationScreen = conversation:getScreen("init")
  36. end
  37. return nextConversationScreen
  38. end
  39.  
  40. function old_man_conv_handler:runScreenHandlers(pConversationTemplate, pConversingPlayer, pConversingNpc, selectedOption, pConversationScreen)
  41. local screen = LuaConversationScreen(pConversationScreen)
  42.  
  43. local screenID = screen:getScreenID()
  44.  
  45. if screenID == "init" then
  46. pConversationScreen = old_man_conv_handler.handleInit(pConversationTemplate, pConversingPlayer, pConversingNpc, selectedOption, pConversationScreen)
  47. elseif screenID == "village_another_time" or screenID == "village_another_time2" or screenID == "mellichae_later" then
  48. OldManEncounter:scheduleDespawnOfOldMan(pConversingPlayer)
  49. elseif screenID == "village_give_crystal" then
  50. OldManEncounter:scheduleDespawnOfOldMan(pConversingPlayer)
  51. OldManEncounter:giveForceCrystalToPlayer(pConversingPlayer)
  52. end
  53.  
  54. return pConversationScreen
  55. end
  56.  
  57. function old_man_conv_handler.handleInit(pConversationTemplate, pConversingPlayer, pConversingNpc, selectedOption, pConversationScreen)
  58. local conversationTemplate = LuaConversationTemplate(pConversationTemplate)
  59. local nextScreen = "not_you"
  60.  
  61. if OldManEncounter:doesOldManBelongToThePlayer(pConversingPlayer, pConversingNpc) then
  62. if VillageJediManagerCommon.hasJediProgressionScreenPlayState(pConversingPlayer, VILLAGE_JEDI_PROGRESSION_COMPLETED_VILLAGE) then
  63. nextScreen = "mellichae_intro"
  64. elseif VillageJediManagerCommon.hasJediProgressionScreenPlayState(pConversingPlayer, VILLAGE_JEDI_PROGRESSION_GLOWING) then
  65. nextScreen = "village_intro"
  66. end
  67. end
  68.  
  69. return conversationTemplate:getScreen(nextScreen)
  70. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement