Advertisement
Chubblot

Untitled

Nov 5th, 2020 (edited)
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.25 KB | None | 0 0
  1. Version 1
  2. SubGoalCombiner SGC_AND
  3. INITSECTION
  4. DB_Shapeshifting_OriginalTags((TAG)DWARF_486a2562-31ae-437b-bf63-30393e18cbdd, (TAG)REALLY_DWARF_ad129444-0f41-4114-9ee5-2b9902d7ca8d);
  5. DB_Shapeshifting_OriginalTags(HILLDWARF_534098fa-601d-4f6e-8c4e-b3a8d4b1f141, (TAG)REALLY_HILLDWARF_9a92ac6d-b7cc-4ccb-8965-074c6b36a342);
  6. DB_Shapeshifting_OriginalTags(MOUNTAINDWARF_1dc20a7a-00e7-4126-80ad-aa1152a2136c, (TAG)REALLY_MOUNTAINDWARF_18659b46-73ae-49d2-85a8-7e6cc43ce94f);
  7. DB_Shapeshifting_OriginalTags(DUERGARDWARF_78adf3cd-4741-47a8-94f6-f3d322432591, (TAG)REALLY_DUERGARDWARF_45b007f7-f4f6-46e2-9480-395a49b87ef3);
  8.  
  9. DB_Shapeshifting_OriginalTags((TAG)ELF_351f4e42-1217-4c06-b47a-443dcf69b111, (TAG)REALLY_ELF_772b1dc6-14be-417f-afa3-c6cf364f45b4);
  10. DB_Shapeshifting_OriginalTags((TAG)HALFELF_34317158-8e6e-45a2-bd1e-6604d82fdda2, (TAG)REALLY_HALFELF_277f9609-ad0c-4883-b56d-0850904e88df);
  11. DB_Shapeshifting_OriginalTags((TAG)HIGHELF_492c3200-1226-4114-bad1-f6b1ba737f3d, (TAG)REALLY_HIGHELF_78884c5f-9504-41af-912d-ce212df0ebea);
  12. DB_Shapeshifting_OriginalTags((TAG)HIGHHALFELF_52b71dea-9d4e-402d-9700-fb9c360a44c9, (TAG)REALLY_HIGHHALFELF_bb7c731c-7af7-4c2d-b3d7-b4e8bd86a244);
  13. DB_Shapeshifting_OriginalTags((TAG)WOODELF_889e0db5-d03e-4b63-86d7-13418f69729f, (TAG)REALLY_WOODELF_b12e8dff-c1f0-4e9c-9ec0-1cafd22bb637);
  14. DB_Shapeshifting_OriginalTags((TAG)WOODHALFELF_5ffb703c-3ef4-493b-966d-749bc038f6bd, (TAG)REALLY_WOODHALFELF_8ac1b27c-c5c4-4a2c-95dd-256e4349e483);
  15. DB_Shapeshifting_OriginalTags((TAG)DROWELF_a672ac1d-d088-451a-9537-3da4bf74466c, (TAG)REALLY_DROWELF_676e854b-d74b-44f3-8363-3ef27164a54d);
  16. DB_Shapeshifting_OriginalTags((TAG)SELDARINEDROWELF_6e913b6e-58b1-41bf-8751-89250dd17bff, (TAG)REALLY_SELDARINEDROWELF_d2d60a81-688e-4d3d-ba56-3e467cae37fc);
  17. DB_Shapeshifting_OriginalTags((TAG)LOLTHDROWELF_ef9c5b74-56a8-48cc-b0b9-169ee16bf026, (TAG)REALLY_LOLTHDROWELF_c71eb8de-74e3-4d70-9826-22da7e2dc607);
  18. DB_Shapeshifting_OriginalTags((TAG)DROWHALFELF_4fa13243-199d-4c9a-b455-d844276a98f5, (TAG)REALLY_DROWHALFELF_3dbe23e0-2c9f-4a81-b586-ec6e50f720e1);
  19.  
  20. DB_Shapeshifting_OriginalTags((TAG)ASMODEUSTIEFLING_c3fd1fc3-2edf-4d17-935d-44ab92406df1, (TAG)REALLY_ASMODEUSTIEFLING_6591a20a-12de-46ff-bf82-b866cd97bb9a);
  21. DB_Shapeshifting_OriginalTags((TAG)MEPHISTOPHELESTIEFLING_ec5bea6b-26f1-4917-919c-375f67ac13d1, (TAG)REALLY_MEPHISTOPHELESTIEFLING_c70e1dc2-72d4-44f9-83fd-c63d247edd9b);
  22. DB_Shapeshifting_OriginalTags((TAG)TIEFLING_aaef5d43-c6f3-434d-b11e-c763290dbe0c, (TAG)REALLY_TIEFLING_7bf7207f-7406-49c0-b501-eaaa2bb4efd7);
  23. DB_Shapeshifting_OriginalTags((TAG)ZARIELTIEFLING_ab677895-e08a-479f-a043-eac2d8447188, (TAG)REALLY_ZARIELTIEFLING_3a5efd84-5925-4a75-83ee-4f336b56f716);
  24.  
  25. DB_Shapeshifting_OriginalTags((TAG)GNOME_1f0551f3-d769-47a9-b02b-5d3a8c51978c, (TAG)REALLY_GNOME_42483542-7915-4de5-a7d9-ac0d15fe301c);
  26. DB_Shapeshifting_OriginalTags((TAG)DEEPGNOME_2bbc3217-3d8c-46e6-b599-a0f1c9063f9a, (TAG)REALLY_DEEPGNOME_17d29357-beba-4096-accc-c28bdea88fda);
  27. DB_Shapeshifting_OriginalTags((TAG)FORESTGNOME_09518377-4ea1-4ce2-b8e8-61477c26ebdd, (TAG)REALLY_FORESTGNOME_b0401c02-70b3-47f5-998f-8d440ad6954f);
  28. DB_Shapeshifting_OriginalTags((TAG)ROCKGNOME_664cc044-a0ea-43a1-b21f-d8cad7721102, (TAG)REALLY_ROCKGNOME_df697d73-5469-405a-aa95-6e1e720c5ee6);
  29.  
  30. DB_Shapeshifting_OriginalTags((TAG)HALFLING_b99b6a5d-8445-44e4-ac58-81b2ee88aab1, (TAG)REALLY_HALFLING_2b40a033-7a5c-47e9-92f0-7de9b5cd3a42);
  31. DB_Shapeshifting_OriginalTags((TAG)LIGHTFOOTHALFLING_57a00605-9e74-477c-bd9d-53c721e25e56, (TAG)REALLY_LIGHTFOOTHALFLING_da1d4f47-8583-49a1-b262-d77d361b2e09);
  32. DB_Shapeshifting_OriginalTags((TAG)STOUTHALFLING_8d545fa1-8416-493f-8325-7d112bceced8, (TAG)REALLY_STOUTHALFLING_058df86a-97b6-4dc4-a246-a1db65ff3c0f);
  33.  
  34. DB_Shapeshifting_OriginalTags((TAG)GITHYANKI_677ffa76-2562-4217-873e-2253d4720ba4, (TAG)REALLY_GITHYANKI_e49c027c-6ec6-4158-9afb-8b59236d10fd);
  35. DB_Shapeshifting_OriginalTags((TAG)HUMAN_69fd1443-7686-4ca9-9516-72ec0b9d94d7, (TAG)REALLY_HUMAN_8e288154-e7ca-4277-b2df-e61639b1cce8);
  36.  
  37. DB_Shapeshifting_OriginalTags((TAG)UNDERDARK_60f6b464-752f-4970-a855-f729565b5e07, (TAG)REALLY_UNDERDARK_2d0a73b9-f113-4d35-bdee-a31ab9163d74);
  38.  
  39. KBSECTION
  40. PROC
  41. PROC_RemovePolymorphs((CHARACTER)_Char)
  42. THEN
  43. RemoveStatusesWithGroup(_Char,"SG_Polymorph");
  44.  
  45. PROC
  46. PROC_RemovePolymorphs((CHARACTER)_Char)
  47. AND
  48. DB_PolymorphedInto(_Char,_Race)
  49. AND
  50. DB_PolymorphStatuses(_Race,(STRING)_Status)
  51. THEN
  52. RemoveStatus(_Char,_Status);
  53.  
  54. IF
  55. PolymorphedInto(_Char,_Race)
  56. THEN
  57. DB_PolymorphedInto(_Char,_Race);
  58. SetFlag((FLAG)GLO_Polymorphed_ff4902e1-37b6-4fef-aa98-6f4eaa32720b, _Char); // flagType: Object
  59.  
  60. IF
  61. PolymorphedInto(_Char,_)
  62. AND
  63. DB_PolymorphTags(_Char,(TAG)_Tag)
  64. THEN
  65. SetTag(_Char,_Tag);
  66.  
  67. IF
  68. PolymorphedInto(_Char,_)
  69. AND
  70. NOT DB_PolymorphTags(_Char,_)
  71. THEN
  72. SetTag(_Char,(TAG)SHAPESHIFT_GENERIC_e2014927-5738-45d0-a04e-c79d71f229bc);
  73.  
  74. IF
  75. PolymorphedInto(_Char,_)
  76. THEN
  77. SetTag(_Char,(TAG)GENERIC_730e82f3-c067-44a4-985b-0dfe079d4fea);
  78.  
  79. IF
  80. PolymorphStopped(_Char)
  81. AND
  82. DB_PolymorphTags(_Char,_Tag)
  83. AND
  84. _Tag != MASKED_UNDEAD_765d3cd9-cf63-4462-9c72-e1c103749446
  85. THEN
  86. ClearTag(_Char,(TAG)GENERIC_730e82f3-c067-44a4-985b-0dfe079d4fea);
  87.  
  88. IF
  89. PolymorphStopped(_Char)
  90. AND
  91. DB_PolymorphTags(_Char,_Tag)
  92. THEN
  93. ClearTag(_Char,_Tag);
  94.  
  95. IF
  96. PolymorphStopped(_Char)
  97. THEN
  98. ClearTag(_Char,(TAG)SHAPESHIFT_GENERIC_e2014927-5738-45d0-a04e-c79d71f229bc);
  99. ClearFlag((FLAG)GLO_Polymorphed_ff4902e1-37b6-4fef-aa98-6f4eaa32720b, _Char); // flagType: Object
  100.  
  101. IF
  102. PolymorphStopped(_Char)
  103. AND
  104. DB_PolymorphedInto(_Char,_Race)
  105. THEN
  106. NOT DB_PolymorphedInto(_Char,_Race);
  107.  
  108. //REGION Polymorph block in dialogs
  109. PROC
  110. PROC_DialogFlagSetup((DIALOGRESOURCE)_Dialog,(GUIDSTRING)_Speaker1)
  111. AND
  112. QRY_DropPolymorph(_Dialog)
  113. THEN
  114. PROC_RemovePolymorphsFromPlayer(_Speaker1);
  115.  
  116. PROC
  117. PROC_DialogFlagSetup((DIALOGRESOURCE)_Dialog,(GUIDSTRING)_Speaker1,(GUIDSTRING)_Speaker2)
  118. AND
  119. QRY_DropPolymorph(_Dialog)
  120. THEN
  121. PROC_RemovePolymorphsFromPlayer(_Speaker1);
  122. PROC_RemovePolymorphsFromPlayer(_Speaker2);
  123.  
  124. PROC
  125. PROC_DialogFlagSetup((DIALOGRESOURCE)_Dialog,(GUIDSTRING)_Speaker1,(GUIDSTRING)_Speaker2,(GUIDSTRING)_Speaker3)
  126. AND
  127. QRY_DropPolymorph(_Dialog)
  128. THEN
  129. PROC_RemovePolymorphsFromPlayer(_Speaker1);
  130. PROC_RemovePolymorphsFromPlayer(_Speaker2);
  131. PROC_RemovePolymorphsFromPlayer(_Speaker3);
  132.  
  133. PROC
  134. PROC_DialogFlagSetup((DIALOGRESOURCE)_Dialog,(GUIDSTRING)_Speaker1,(GUIDSTRING)_Speaker2,(GUIDSTRING)_Speaker3,(GUIDSTRING)_Speaker4)
  135. AND
  136. QRY_DropPolymorph(_Dialog)
  137. THEN
  138. PROC_RemovePolymorphsFromPlayer(_Speaker1);
  139. PROC_RemovePolymorphsFromPlayer(_Speaker2);
  140. PROC_RemovePolymorphsFromPlayer(_Speaker3);
  141. PROC_RemovePolymorphsFromPlayer(_Speaker4);
  142.  
  143. PROC
  144. PROC_DialogFlagSetup((DIALOGRESOURCE)_Dialog,(GUIDSTRING)_Speaker1,(GUIDSTRING)_Speaker2,(GUIDSTRING)_Speaker3,(GUIDSTRING)_Speaker4,(GUIDSTRING)_Speaker5)
  145. AND
  146. QRY_DropPolymorph(_Dialog)
  147. THEN
  148. PROC_RemovePolymorphsFromPlayer(_Speaker1);
  149. PROC_RemovePolymorphsFromPlayer(_Speaker2);
  150. PROC_RemovePolymorphsFromPlayer(_Speaker3);
  151. PROC_RemovePolymorphsFromPlayer(_Speaker4);
  152. PROC_RemovePolymorphsFromPlayer(_Speaker5);
  153.  
  154. PROC
  155. PROC_DialogFlagSetup((DIALOGRESOURCE)_Dialog,(GUIDSTRING)_Speaker1,(GUIDSTRING)_Speaker2,(GUIDSTRING)_Speaker3,(GUIDSTRING)_Speaker4,(GUIDSTRING)_Speaker5,(GUIDSTRING)_Speaker6)
  156. AND
  157. QRY_DropPolymorph(_Dialog)
  158. THEN
  159. PROC_RemovePolymorphsFromPlayer(_Speaker1);
  160. PROC_RemovePolymorphsFromPlayer(_Speaker2);
  161. PROC_RemovePolymorphsFromPlayer(_Speaker3);
  162. PROC_RemovePolymorphsFromPlayer(_Speaker4);
  163. PROC_RemovePolymorphsFromPlayer(_Speaker5);
  164. PROC_RemovePolymorphsFromPlayer(_Speaker6);
  165.  
  166. QRY
  167. QRY_DropPolymorph((DIALOGRESOURCE)_Dialog)
  168. AND
  169. DB_BlockPolymorphDialog(_Dialog)
  170. THEN
  171. DB_NOOP(1);
  172.  
  173. QRY
  174. QRY_DropPolymorph((DIALOGRESOURCE)_Dialog)
  175. AND
  176. DB_OriginDialog(_,_Dialog) //Origin dialogs are only recorded for one race, so no polymorphing
  177. THEN
  178. DB_NOOP(1);
  179.  
  180. PROC
  181. PROC_RemovePolymorphsFromPlayer((GUIDSTRING)_Object)
  182. AND
  183. DB_Players((CHARACTER)_Object)
  184. THEN
  185. PROC_RemovePolymorphs(_Object);
  186. //END_REGION
  187.  
  188. //REGION Remove Poly in Dialog
  189.  
  190. IF
  191. TextEvent("addpolyflag")
  192. AND
  193. GetHostCharacter(_Player)
  194. THEN
  195. SetFlag((FLAG)GLO_Polymorphed_ff4902e1-37b6-4fef-aa98-6f4eaa32720b, _Player); // flagType: Object
  196.  
  197.  
  198. IF
  199. FlagSet(GLO_RemovePolymorph_ac08aa18-f4b8-4a5e-ae4e-f788811fa149, (CHARACTER)_Player, _) // flagType: Object
  200. THEN
  201. PROC_RemovePolymorphs(_Player);
  202. ClearFlag((FLAG)GLO_RemovePolymorph_ac08aa18-f4b8-4a5e-ae4e-f788811fa149, _Player); // flagType: Object
  203.  
  204. //END_REGION
  205.  
  206. //REGION Undead origins
  207. IF
  208. DB_Players(_Char)
  209. THEN
  210. PROC_MarkUndeadOrigin(_Char);
  211.  
  212. PROC
  213. PROC_MarkUndeadOrigin((CHARACTER)_Player)
  214. AND
  215. IsTagged(_Player,(TAG)UNDEAD_33c625aa-6982-4c27-904f-e47029a9b140,1)
  216. THEN
  217. DB_UndeadCharacter(_Player);
  218. //END_REGION
  219.  
  220. //REGION Get current polymorph status for _Char (even if none)
  221. // Returns it in DB_GLOBAL_Shapeshifting_PolymorphStatus(_Race). In case not polymorphed, _Race is an empty string
  222. QRY
  223. QRY_GLOBAL_Shapeshifting_GetPolymorphStatus((CHARACTER)_Char)
  224. AND
  225. DB_GLOBAL_Shapeshifting_PolymorphStatus(_Race)
  226. THEN
  227. NOT DB_GLOBAL_Shapeshifting_PolymorphStatus(_Race);
  228.  
  229. QRY
  230. QRY_GLOBAL_Shapeshifting_GetPolymorphStatus((CHARACTER)_Char)
  231. AND
  232. DB_PolymorphedInto(_Char,_Race)
  233. THEN
  234. DB_GLOBAL_Shapeshifting_PolymorphStatus(_Race);
  235.  
  236. QRY
  237. QRY_GLOBAL_Shapeshifting_GetPolymorphStatus((CHARACTER)_Char)
  238. AND
  239. NOT DB_PolymorphedInto(_Char,_)
  240. THEN
  241. DB_GLOBAL_Shapeshifting_PolymorphStatus("");
  242. //END_REGION
  243.  
  244. //REGION True race query
  245. QRY
  246. QRY_IsTrueRace((CHARACTER)_Character,(STRING)_Race)
  247. AND
  248. GetRace(_Character,0,_Race)
  249. THEN
  250. DB_NOOP(1);
  251.  
  252. QRY
  253. QRY_IsTrueUndead((CHARACTER)_Character)
  254. AND
  255. GetRace(_Character,0,_TrueRace)
  256. AND
  257. DB_UndeadRacePresets((INTEGER)_,_TrueRace)
  258. THEN
  259. DB_NOOP(1);
  260.  
  261. //END_REGION
  262.  
  263. IF
  264. TextEvent("getrace")
  265. AND
  266. GetHostCharacter(_Player)
  267. AND
  268. GetRace(_Player,0,_TrueRace)
  269. THEN
  270. DebugText(_Player,_TrueRace);
  271.  
  272. //REGION Keeping track of true race
  273. IF
  274. DB_Players(_Player)
  275. THEN
  276. ObjectTimerLaunch(_Player, "GLO_SetGameStartTags",0);
  277.  
  278. IF
  279. ObjectTimerFinished((CHARACTER)_Player, "GLO_SetGameStartTags")
  280. THEN
  281. PROC_GLO_SetGameStartTags(_Player);
  282.  
  283. PROC
  284. PROC_GLO_SetGameStartTags((CHARACTER)_Player)
  285. AND
  286. DB_Shapeshifting_OriginalTags(_TrueRace, (TAG)_Tag)
  287. AND
  288. IsTagged(_Player, _TrueRace, 1)
  289. THEN
  290. SetTag(_Player, _Tag);
  291.  
  292.  
  293. //END_REGION
  294. EXITSECTION
  295.  
  296. ENDEXITSECTION
  297. ParentTargetEdge "__Shared_Campaign"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement