Chubblot

Dummied out transitions

Nov 19th, 2020
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.15 KB | None | 0 0
  1. //EA Hack: Cut out cinematic transitions for Underdark, except Spider Pit (https://larianstudios.atlassian.net/browse/GUS-147676)
  2. //REGION Cinematic of descending or ascending
  3. /*
  4. IF
  5. DB_UND_Teleporter(_, _, _Trigger, _, _)
  6. THEN
  7. PROC_TriggerRegisterForParty(_Trigger);
  8.  
  9. // Always provide a fallback exit so nobody can get stuck.
  10. IF
  11. DB_UND_Teleporter(_, _, _Trigger, _, _PastTrigger)
  12. AND
  13. NOT DB_UND_CinematicTriggerExit(_Trigger, _)
  14. THEN
  15. DB_UND_CinematicTriggerExit(_Trigger, _PastTrigger);
  16.  
  17. PROC
  18. PROC_BlockUseOfItem(_Player, _Teleporter)
  19. AND
  20. DB_UND_Teleporter(_CinematicPoint, _Teleporter, _CinematicBox, _, _PastTrigger)
  21. AND
  22. DB_UND_Transitioncinematic_Started(_CinematicPoint, _Teleporter)
  23. AND
  24. NOT DB_UND_Transitioncinematic_Ended(_CinematicPoint)
  25. AND
  26. DB_Players(_Player)
  27. AND
  28. QRY_SpeakerIsAvailable(_Player, 1)
  29. THEN
  30. DB_CustomUseItemResponse(_Player, _Teleporter, 0);
  31. TeleportTo(_Player, _CinematicPoint, "", 1, 1, 1);
  32. PROC_UND_UpdateCinematicTriggerExit(_CinematicBox, _PastTrigger);
  33.  
  34. QRY
  35. QRY_UND_TransitionCinematic((ITEM)_Teleporter)
  36. AND
  37. DB_UND_Teleporter(_CinematicPoint, _Teleporter, _, _, _)
  38. AND
  39. NOT DB_UND_Transitioncinematic_Started(_CinematicPoint, _)
  40. THEN
  41. DB_UND_Transitioncinematic_Started(_CinematicPoint, _Teleporter);
  42.  
  43. PROC
  44. PROC_BlockUseOfItem(_Player, _Teleporter)
  45. AND
  46. DB_UND_Teleporter(_CinematicPoint, _Teleporter, _CinematicBox, _Dialog, _PastTrigger)
  47. AND
  48. NOT DB_CustomUseItemResponse(_Player, _Teleporter, 0)
  49. AND
  50. IsPartyMember(_Player, 1, 1)
  51. AND
  52. QRY_UND_TransitionCinematic(_Teleporter)
  53. AND
  54. DB_Players(_Player)
  55. AND
  56. QRY_StartDialog(_Dialog, _Player)
  57. THEN
  58. DB_CustomUseItemResponse(_Player, _Teleporter, 0);
  59. TeleportTo(_Player, _CinematicPoint, "", 1, 1, 1);
  60. PROC_UND_UpdateCinematicTriggerExit(_CinematicBox, _PastTrigger);
  61.  
  62. IF
  63. DB_InRegion(_Character, _BoxTrigger)
  64. AND
  65. DB_UND_CinematicTriggerExit(_BoxTrigger, _PastTrigger)
  66. AND
  67. NOT DB_Players(_Character)
  68. THEN
  69. TeleportTo(_Character, _PastTrigger, "", 0, 0, 1);
  70.  
  71. IF
  72. DB_InRegion(_Character, _BoxTrigger)
  73. AND
  74. DB_Players(_Character)
  75. AND
  76. DB_UND_Teleporter(_, _, _BoxTrigger, _Dialog, _PastTrigger)
  77. AND
  78. DB_UND_CinematicTriggerExit(_BoxTrigger, _PastTrigger)
  79. AND
  80. DB_DialogName(_Dialog, _ID)
  81. AND
  82. DB_CantTalk(_Character)
  83. AND
  84. NOT DB_InteractiveDialogSpeaker(_ID, _Character)
  85. THEN
  86. PROC_UND_TransitionCinematic_PassingTo(_PastTrigger);
  87. TeleportTo(_Character, _PastTrigger, "", 0, 0, 1);
  88.  
  89. IF
  90. DB_InRegion(_Character, _BoxTrigger)
  91. AND
  92. DB_Players(_Character)
  93. AND
  94. DB_UND_Teleporter(_, _, _BoxTrigger, _Dialog, _)
  95. AND
  96. DB_DialogName(_Dialog, _ID)
  97. AND
  98. NOT DB_CantTalk(_Character)
  99. THEN
  100. DialogAddActor(_ID, _Character);
  101.  
  102. IF
  103. DialogEnded(_Dialog, _)
  104. AND
  105. DB_UND_Teleporter(_, _, _BoxTrigger, _Dialog, _PastTrigger)
  106. AND
  107. DB_UND_CinematicTriggerExit(_BoxTrigger, _PastTrigger)
  108. AND
  109. DB_InRegion(_Character, _BoxTrigger)
  110. AND
  111. IsInTrigger(_Character, _BoxTrigger, 1) //Character may have been teleported out following a previous entry in DB_InRegion
  112. THEN
  113. PROC_UND_TransitionCinematic_PassingTo(_PastTrigger);
  114. TeleportTo(_Character, _PastTrigger, "", 1, 1, 1);
  115.  
  116. IF
  117. DialogEnded(_Dialog, _)
  118. AND
  119. DB_UND_Teleporter(_CinematicPoint, _Teleporter, _, _Dialog, _)
  120. THEN
  121. DB_UND_Transitioncinematic_Ended(_CinematicPoint);
  122.  
  123. PROC
  124. PROC_UND_UpdateCinematicTriggerExit((TRIGGER)_CinematicBox, (TRIGGER)_PastTrigger)
  125. AND
  126. DB_UND_CinematicTriggerExit(_CinematicBox, _OldTrigger)
  127. THEN
  128. NOT DB_UND_CinematicTriggerExit(_CinematicBox, _OldTrigger);
  129.  
  130. PROC
  131. PROC_UND_UpdateCinematicTriggerExit((TRIGGER)_CinematicBox, (TRIGGER)_PastTrigger)
  132. THEN
  133. DB_UND_CinematicTriggerExit(_CinematicBox, _PastTrigger);
  134.  
  135.  
  136. PROC
  137. PROC_UND_TransitionCinematic_PassingTo((TRIGGER)_PastTrigger)
  138. THEN
  139. DB_NOOP(1);
  140. */
  141. //END_REGION
  142.  
  143. //REGION Spider Pit
  144. QRY
  145. QRY_FOR_Bottomless_Cinematic((CHARACTER)_Character)
  146. AND
  147. DB_Players(_Character)
  148. AND
  149. DB_FOR_Bottomless_Cinematics(_FF, _Cinematic)
  150. AND
  151. DB_DialogName(_Cinematic, _ID)
  152. AND
  153. HasActiveStatus(_Character, "FEATHER_FALL", _FF)
  154. AND
  155. NOT DB_CantTalk(_Character)
  156. THEN
  157. TeleportTo(_Character, S_FOR_Bottomless_DropCinematicPoint_80e2cd31-9e6d-499f-b44c-588e6aff8064, "", 1, 1, 1);
  158.  
  159. QRY
  160. QRY_FOR_Bottomless_Cinematic((CHARACTER)_Character)
  161. AND
  162. NOT DB_DialogName(FOR_Bottomless_CINE_Descent_NoFF_5cd5539f-fed3-f048-09ba-f37960adebda, _)
  163. AND
  164. NOT DB_DialogName(FOR_Bottomless_CINE_Descent_FF_7e5441a1-94e5-b285-5871-9cbeafa3f064, _)
  165. AND
  166. DB_Players(_Character)
  167. AND
  168. HasActiveStatus(_Character, "FEATHER_FALL", _FF)
  169. AND
  170. DB_FOR_Bottomless_Cinematics(_FF, _Cinematic)
  171. AND
  172. NOT DB_FOR_Bottomless_Cinematic_Done(_Cinematic)
  173. AND
  174. QRY_StartDialogCustom(_Cinematic, _Character, NULL_00000000-0000-0000-0000-000000000000, NULL_00000000-0000-0000-0000-000000000000, NULL_00000000-0000-0000-0000-000000000000, 0, 0, 0, 0)
  175. THEN
  176. DB_FOR_Bottomless_Cinematic_Done(_Cinematic);
  177. DB_FOR_BottomLess_CinematicStarting(1);
  178. TeleportTo(_Character, S_FOR_Bottomless_DropCinematicPoint_80e2cd31-9e6d-499f-b44c-588e6aff8064, "", 1, 1, 1);
  179.  
  180. IF
  181. DialogStarted(_Cinematic, _)
  182. AND
  183. DB_FOR_Bottomless_Cinematics(_, _Cinematic)
  184. AND
  185. DB_FOR_BottomLess_CinematicStarting(1)
  186. THEN
  187. NOT DB_FOR_BottomLess_CinematicStarting(1);
  188.  
  189. IF
  190. DB_InRegion(_Character, S_FOR_Bottomless_DropCinematicBox_226a5864-b348-45e0-b381-3477ceeb7e49)
  191. AND
  192. NOT DB_Players(_Character)
  193. THEN
  194. PROC_FOR_Bottomless_UnderdarkEntrance(_Character);
  195.  
  196. IF
  197. DB_InRegion(_Character, S_FOR_Bottomless_DropCinematicBox_226a5864-b348-45e0-b381-3477ceeb7e49)
  198. AND
  199. DB_Players(_Character)
  200. AND
  201. DB_FOR_Bottomless_Cinematics(_, _Cinematic)
  202. AND
  203. DB_DialogName(_Cinematic, _ID)
  204. AND
  205. DB_CantTalk(_Character)
  206. AND
  207. NOT DB_InteractiveDialogSpeaker(_ID, _Character)
  208. THEN
  209. PROC_FOR_Bottomless_UnderdarkEntrance(_Character);
  210.  
  211. IF
  212. DB_InRegion(_Character, S_FOR_Bottomless_DropCinematicBox_226a5864-b348-45e0-b381-3477ceeb7e49)
  213. AND
  214. DB_Players(_Character)
  215. AND
  216. NOT DB_DialogName(FOR_Bottomless_CINE_Descent_NoFF_5cd5539f-fed3-f048-09ba-f37960adebda, _)
  217. AND
  218. NOT DB_DialogName(FOR_Bottomless_CINE_Descent_FF_7e5441a1-94e5-b285-5871-9cbeafa3f064, _)
  219. AND
  220. NOT DB_FOR_BottomLess_CinematicStarting(1)
  221. THEN
  222. PROC_FOR_Bottomless_UnderdarkEntrance(_Character);
  223.  
  224. IF
  225. DB_InRegion(_Character, S_FOR_Bottomless_DropCinematicBox_226a5864-b348-45e0-b381-3477ceeb7e49)
  226. AND
  227. DB_Players(_Character)
  228. AND
  229. DB_FOR_Bottomless_Cinematics(_FF, _Cinematic)
  230. AND
  231. DB_DialogName(_Cinematic, _ID)
  232. AND
  233. NOT DB_CantTalk(_Character)
  234. AND
  235. NOT HasActiveStatus(_Character, "FEATHER_FALL", _FF)
  236. THEN
  237. PROC_FOR_Bottomless_UnderdarkEntrance(_Character);
  238.  
  239. IF
  240. DB_InRegion(_Character, S_FOR_Bottomless_DropCinematicBox_226a5864-b348-45e0-b381-3477ceeb7e49)
  241. AND
  242. DB_Players(_Character)
  243. AND
  244. DB_FOR_Bottomless_Cinematics(_FF, _Cinematic)
  245. AND
  246. DB_DialogName(_Cinematic, _ID)
  247. AND
  248. NOT DB_CantTalk(_Character)
  249. AND
  250. HasActiveStatus(_Character, "FEATHER_FALL", _FF)
  251. THEN
  252. DialogAddActor(_ID, _Character);
  253.  
  254. //END_REGION
  255.  
  256. //REGION Debug
  257. /*
  258. IF
  259. TextEvent("UND_TransitionCinematic_ActivateHideoutElevator")
  260. AND
  261. DB_UND_Teleporter(_CinematicPoint, (ITEM)S_PLA_ZhentDungeon_LiftDown_2e18ea36-cf07-49df-a3f6-f98ec020e4af, _CinematicBox, _Dialog, _PastTrigger)
  262. AND
  263. GetHostCharacter((CHARACTER)_Player)
  264. AND
  265. NOT DB_CustomUseItemResponse(_Player, (ITEM)S_PLA_ZhentDungeon_LiftDown_2e18ea36-cf07-49df-a3f6-f98ec020e4af, 0)
  266. AND
  267. IsPartyMember(_Player, 1, 1)
  268. AND
  269. QRY_UND_TransitionCinematic((ITEM)S_PLA_ZhentDungeon_LiftDown_2e18ea36-cf07-49df-a3f6-f98ec020e4af)
  270. AND
  271. DB_Players(_Player)
  272. AND
  273. QRY_StartDialog(_Dialog, _Player)
  274. THEN
  275. DB_CustomUseItemResponse(_Player, (ITEM)S_PLA_ZhentDungeon_LiftDown_2e18ea36-cf07-49df-a3f6-f98ec020e4af, 0);
  276. TeleportTo(_Player, _CinematicPoint, "", 1, 1, 1);
  277. PROC_UND_UpdateCinematicTriggerExit(_CinematicBox, _PastTrigger);*/
  278. //END_REGION
  279.  
  280. }
  281. EXIT
  282. {
Advertisement
Add Comment
Please, Sign In to add comment