Advertisement
outlawftw

Untitled

Feb 8th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.14 KB | None | 0 0
  1. class 1 falsepriest_dominic : citizen
  2. {
  3. handler:
  4. EventHandler TALK_SELECTED( fhtml0, talker )
  5. {
  6. if( _from_choice == 0 )
  7. {
  8. if( myself::HaveMemo( talker, 21 ) == 1 &&
  9. myself::GetMemoState( talker, 21 ) == 7 &&
  10. myself::OwnItemCount( talker, @q_cross_of_einhasad1 ) >= 1 )
  11. {
  12. _choiceN = _choiceN + 1;
  13. _code = 0;
  14. myself::AddChoice( 0, "Hidden Truth (Continue)" );
  15. }
  16. if( myself::HaveMemo( talker, 21 ) == 1 &&
  17. myself::GetMemoState( talker, 21 ) == 8 &&
  18. myself::OwnItemCount( talker, @q_cross_of_einhasad1 ) >= 1 &&
  19. ( myself::GetMemoStateEx( talker, 21, 1 ) == 1 ||
  20. myself::GetMemoStateEx( talker, 21, 1 ) == 2 ) )
  21. {
  22. _choiceN = _choiceN + 1;
  23. _code = 1;
  24. myself::AddChoice( 1, "Hidden Truth (Continue)" );
  25. }
  26. if( myself::HaveMemo( talker, 21 ) == 1 &&
  27. myself::GetMemoState( talker, 21 ) == 8 &&
  28. myself::OwnItemCount( talker, @q_cross_of_einhasad1 ) >= 1 &&
  29. myself::GetMemoStateEx( talker, 21, 1 ) == 4 )
  30. {
  31. _choiceN = _choiceN + 1;
  32. _code = 2;
  33. myself::AddChoice( 2, "Hidden Truth (Continue)" );
  34. }
  35. if( myself::HaveMemo( talker, 21 ) == 1 &&
  36. myself::GetMemoState( talker, 21 ) == 9 &&
  37. myself::OwnItemCount( talker, @q_cross_of_einhasad1 ) >= 1 &&
  38. myself::GetMemoStateEx( talker, 21, 1 ) == 3 )
  39. {
  40. _choiceN = _choiceN + 1;
  41. _code = 3;
  42. myself::AddChoice( 3, "Hidden Truth (Continue)" );
  43. }
  44. if( myself::HaveMemo( talker, 21 ) == 1 &&
  45. myself::GetMemoState( talker, 21 ) == 9 &&
  46. myself::OwnItemCount( talker, @q_cross_of_einhasad1 ) >= 1 &&
  47. myself::GetMemoStateEx( talker, 21, 1 ) != 3 )
  48. {
  49. _choiceN = _choiceN + 1;
  50. _code = 4;
  51. myself::AddChoice( 4, "Hidden Truth (Continue)" );
  52. }
  53. if( myself::HaveMemo( talker, 21 ) == 1 &&
  54. myself::GetMemoState( talker, 21 ) == 10 &&
  55. myself::OwnItemCount( talker, @q_cross_of_einhasad1 ) >= 1 )
  56. {
  57. _choiceN = _choiceN + 1;
  58. _code = 5;
  59. myself::AddChoice( 5, "Hidden Truth (Continue)" );
  60. }
  61. if( talker.level >= 73 && myself::HaveMemo( talker, 639 ) == 0 )
  62. {
  63. _choiceN = _choiceN + 1;
  64. _code = 6;
  65. myself::AddChoice( 6, "Guardians of the Holy Grail" );
  66. }
  67. if( talker.level < 73 && myself::HaveMemo( talker, 639 ) == 0 )
  68. {
  69. _choiceN = _choiceN + 1;
  70. _code = 7;
  71. myself::AddChoice( 7, "Guardians of the Holy Grail" );
  72. }
  73. if( talker.level > 73 && myself::HaveMemo( talker, 639 ) == 1 )
  74. {
  75. _choiceN = _choiceN + 1;
  76. _code = 8;
  77. myself::AddChoice( 8, "Guardians of the Holy Grail - In Progress" );
  78. }
  79. if( _choiceN > 1 )
  80. {
  81. myself::ShowChoicePage( talker, 1 );
  82. return;
  83. }
  84. }
  85. if( _from_choice || _choiceN == 1 )
  86. {
  87. switch( _code )
  88. {
  89. case 0:
  90. {
  91. if( _from_choice == 0 ||
  92. ( myself::HaveMemo( talker, 21 ) == 1 &&
  93. myself::GetMemoState( talker, 21 ) == 7 &&
  94. myself::OwnItemCount( talker, @q_cross_of_einhasad1 ) >= 1 ) )
  95. {
  96. myself::SetCurrentQuestID( 21 );
  97. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  98. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  99. {
  100. myself::ShowSystemMessage( talker, 1118 );
  101. return;
  102. }
  103. myself::SetMemoState( talker, 21,
  104. myself::GetMemoState( talker, 21 ) + 1 );
  105. myself::SetMemoStateEx( talker, 21, 1,
  106. myself::GetMemoStateEx( talker, 21, 1 ) + 4 );
  107. myself::ShowPage( talker, "falsepriest_dominic_q0021_01.htm" );
  108. }
  109. break;
  110. }
  111. case 1:
  112. {
  113. if( _from_choice == 0 ||
  114. ( myself::HaveMemo( talker, 21 ) == 1 &&
  115. myself::GetMemoState( talker, 21 ) == 8 &&
  116. myself::OwnItemCount( talker, @q_cross_of_einhasad1 ) >= 1 &&
  117. ( myself::GetMemoStateEx( talker, 21, 1 ) == 1 ||
  118. myself::GetMemoStateEx( talker, 21, 1 ) == 2 ) ) )
  119. {
  120. myself::SetCurrentQuestID( 21 );
  121. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  122. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  123. {
  124. myself::ShowSystemMessage( talker, 1118 );
  125. return;
  126. }
  127. myself::SetMemoState( talker, 21,
  128. myself::GetMemoState( talker, 21 ) + 1 );
  129. myself::SetMemoStateEx( talker, 21, 1,
  130. myself::GetMemoStateEx( talker, 21, 1 ) + 4 );
  131. myself::ShowPage( talker, "falsepriest_dominic_q0021_02.htm" );
  132. }
  133. break;
  134. }
  135. case 2:
  136. {
  137. if( _from_choice == 0 ||
  138. ( myself::HaveMemo( talker, 21 ) == 1 &&
  139. myself::GetMemoState( talker, 21 ) == 8 &&
  140. myself::OwnItemCount( talker, @q_cross_of_einhasad1 ) >= 1 &&
  141. myself::GetMemoStateEx( talker, 21, 1 ) == 4 ) )
  142. {
  143. myself::SetCurrentQuestID( 21 );
  144. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  145. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  146. {
  147. myself::ShowSystemMessage( talker, 1118 );
  148. return;
  149. }
  150. myself::ShowPage( talker, "falsepriest_dominic_q0021_01.htm" );
  151. }
  152. break;
  153. }
  154. case 3:
  155. {
  156. if( _from_choice == 0 ||
  157. ( myself::HaveMemo( talker, 21 ) == 1 &&
  158. myself::GetMemoState( talker, 21 ) == 9 &&
  159. myself::OwnItemCount( talker, @q_cross_of_einhasad1 ) >= 1 &&
  160. myself::GetMemoStateEx( talker, 21, 1 ) == 3 ) )
  161. {
  162. myself::SetCurrentQuestID( 21 );
  163. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  164. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  165. {
  166. myself::ShowSystemMessage( talker, 1118 );
  167. return;
  168. }
  169. myself::SetMemoState( talker, 21, 10 );
  170. myself::ShowPage( talker, "falsepriest_dominic_q0021_03.htm" );
  171. myself::SetFlagJournal( talker, 21, 7 );
  172. }
  173. break;
  174. }
  175. case 4:
  176. {
  177. if( _from_choice == 0 ||
  178. ( myself::HaveMemo( talker, 21 ) == 1 &&
  179. myself::GetMemoState( talker, 21 ) == 9 &&
  180. myself::OwnItemCount( talker, @q_cross_of_einhasad1 ) >= 1 &&
  181. myself::GetMemoStateEx( talker, 21, 1 ) != 3 ) )
  182. {
  183. myself::SetCurrentQuestID( 21 );
  184. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  185. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  186. {
  187. myself::ShowSystemMessage( talker, 1118 );
  188. return;
  189. }
  190. myself::ShowPage( talker, "falsepriest_dominic_q0021_02.htm" );
  191. }
  192. break;
  193. }
  194. case 5:
  195. {
  196. if( _from_choice == 0 ||
  197. ( myself::HaveMemo( talker, 21 ) == 1 &&
  198. myself::GetMemoState( talker, 21 ) == 10 &&
  199. myself::OwnItemCount( talker, @q_cross_of_einhasad1 ) >= 1 ) )
  200. {
  201. myself::SetCurrentQuestID( 21 );
  202. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  203. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  204. {
  205. myself::ShowSystemMessage( talker, 1118 );
  206. return;
  207. }
  208. myself::ShowPage( talker, "falsepriest_dominic_q0021_03.htm" );
  209. }
  210. break;
  211. }
  212. case 6:
  213. {
  214. if( _from_choice == 0 ||
  215. ( talker.level >= 73 && myself::HaveMemo( talker, 639 ) == 0 ) )
  216. {
  217. myself::SetCurrentQuestID( 639 );
  218. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  219. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  220. {
  221. myself::ShowSystemMessage( talker, 1118 );
  222. return;
  223. }
  224. if( myself::GetMemoCount( talker ) < 25 )
  225. {
  226. myself::FHTML_SetFileName( fhtml0, "dominic_q639_001.htm" );
  227. myself::FHTML_SetInt( fhtml0, "quest_id", 639 );
  228. myself::ShowFHTML( talker, fhtml0 );
  229. }
  230. else
  231. {
  232. myself::ShowPage( talker, "fullquest.htm" );
  233. }
  234. }
  235. break;
  236. }
  237. case 7:
  238. {
  239. if( _from_choice == 0 ||
  240. ( talker.level < 73 && myself::HaveMemo( talker, 639 ) == 0 ) )
  241. {
  242. myself::SetCurrentQuestID( 639 );
  243. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  244. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  245. {
  246. myself::ShowSystemMessage( talker, 1118 );
  247. return;
  248. }
  249. myself::ShowPage( talker, "dominic_q639_002.htm" );
  250. }
  251. break;
  252. }
  253. case 8:
  254. {
  255. if( _from_choice == 0 ||
  256. ( talker.level > 73 && myself::HaveMemo( talker, 639 ) == 1 ) )
  257. {
  258. myself::SetCurrentQuestID( 639 );
  259. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  260. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  261. {
  262. myself::ShowSystemMessage( talker, 1118 );
  263. return;
  264. }
  265. myself::ShowPage( talker, "dominic_q639_003.htm" );
  266. }
  267. break;
  268. }
  269. }
  270. return;
  271. }
  272. super;
  273. }
  274.  
  275. EventHandler QUEST_ACCEPTED( quest_id, talker )
  276. {
  277. if( quest_id == 639 )
  278. {
  279. myself::SetMemo( talker, 639 );
  280. myself::SetMemoState( talker, 639, 1 );
  281. myself::AddLog( 1, talker, 639 );
  282. myself::SetFlagJournal( talker, 639, 1 );
  283. myself::SoundEffect( talker, "ItemSound.quest_accept" );
  284. myself::ShowPage( talker, "dominic_q639_003.htm" );
  285. return;
  286. }
  287. super;
  288. }
  289. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement