__init__.py 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576
  1. import sys
  2. from com.l2jserver.gameserver.model.quest import State
  3. from com.l2jserver.gameserver.model.quest import QuestState
  4. from com.l2jserver.gameserver.model.quest import Quest as JQuest
  5. from com.l2jserver.gameserver.instancemanager import FourSepulchersManager
  6. qn = "620_FourGoblets"
  7. #NPC
  8. NAMELESS_SPIRIT = 31453
  9. GHOST_OF_WIGOTH_1 = 31452
  10. GHOST_OF_WIGOTH_2 = 31454
  11. CONQ_SM = 31921
  12. EMPER_SM = 31922
  13. SAGES_SM = 31923
  14. JUDGE_SM = 31924
  15. GHOST_CHAMBERLAIN_1 = 31919
  16. GHOST_CHAMBERLAIN_2 = 31920
  17. #ITEMS
  18. ENTRANCE_PASS = 7075
  19. GRAVE_PASS = 7261
  20. GOBLETS = [7256,7257,7258,7259]
  21. RELIC = 7254
  22. SEALED_BOX = 7255
  23. #REWARDS
  24. ANTIQUE_BROOCH = 7262
  25. RCP_REWARDS = [ 6881,6883,6885,6887,6891,6893,6895,6897,6899,7580 ]
  26. class Quest (JQuest) :
  27. def __init__(self,id,name,descr):
  28. JQuest.__init__(self,id,name,descr)
  29. self.questItemIds = [ANTIQUE_BROOCH,SEALED_BOX,7256,7257,7258,7259,GRAVE_PASS]
  30. def onTalk (self,npc,player) :
  31. htmltext = Quest.getNoQuestMsg(player)
  32. st = self.getQuestState(player, True)
  33. id = st.getState()
  34. if id == State.CREATED :
  35. st.set("cond","0")
  36. npcId = npc.getId()
  37. if npcId == NAMELESS_SPIRIT:
  38. if int(st.get("cond")) == 0 :
  39. if st.getPlayer().getLevel() >= 74 :
  40. htmltext = "31453-1.htm"
  41. else :
  42. htmltext = "31453-12.htm"
  43. st.exitQuest(1)
  44. elif int(st.get("cond")) == 1 :
  45. if st.getQuestItemsCount(GOBLETS[0]) >= 1 and st.getQuestItemsCount(GOBLETS[1]) >= 1 and st.getQuestItemsCount(GOBLETS[2]) >= 1 and st.getQuestItemsCount(GOBLETS[3]) >= 1 :
  46. htmltext = "31453-15.htm"
  47. else :
  48. htmltext = "31453-14.htm"
  49. elif int(st.get("cond")) == 2 :
  50. htmltext = "31453-17.htm"
  51. elif npcId == GHOST_OF_WIGOTH_1 :
  52. if st.getInt("cond") == 1:
  53. if st.getQuestItemsCount(GOBLETS[0]) + st.getQuestItemsCount(GOBLETS[1]) + st.getQuestItemsCount(GOBLETS[2]) + st.getQuestItemsCount(GOBLETS[3]) == 1 :
  54. htmltext = "31452-1.htm"
  55. elif st.getQuestItemsCount(GOBLETS[0]) + st.getQuestItemsCount(GOBLETS[1]) + st.getQuestItemsCount(GOBLETS[2]) + st.getQuestItemsCount(GOBLETS[3]) > 1 :
  56. htmltext = "31452-2.htm"
  57. elif st.getInt("cond") == 2:
  58. htmltext = "31452-2.htm"
  59. elif npcId == GHOST_OF_WIGOTH_2 :
  60. if st.getQuestItemsCount(RELIC) >= 1000 :
  61. if st.getQuestItemsCount(SEALED_BOX) >= 1 :
  62. if st.getQuestItemsCount(GOBLETS[0]) >= 1 and st.getQuestItemsCount(GOBLETS[1]) >= 1 and st.getQuestItemsCount(GOBLETS[2]) >= 1 and st.getQuestItemsCount(GOBLETS[3]) >= 1 :
  63. htmltext = "31454-4.htm"
  64. else :
  65. if st.getQuestItemsCount(GOBLETS[0]) + st.getQuestItemsCount(GOBLETS[1]) + st.getQuestItemsCount(GOBLETS[2]) + st.getQuestItemsCount(GOBLETS[3]) > 1 :
  66. htmltext = "31454-8.htm"
  67. else :
  68. htmltext = "31454-12.htm"
  69. else :
  70. if st.getQuestItemsCount(GOBLETS[0]) >= 1 and st.getQuestItemsCount(GOBLETS[1]) >= 1 and st.getQuestItemsCount(GOBLETS[2]) >= 1 and st.getQuestItemsCount(GOBLETS[3]) >= 1 :
  71. htmltext = "31454-3.htm"
  72. else :
  73. if st.getQuestItemsCount(GOBLETS[0]) + st.getQuestItemsCount(GOBLETS[1]) + st.getQuestItemsCount(GOBLETS[2]) + st.getQuestItemsCount(GOBLETS[3]) > 1 :
  74. htmltext = "31454-7.htm"
  75. else :
  76. htmltext = "31454-11.htm"
  77. else :
  78. if st.getQuestItemsCount(SEALED_BOX) >= 1 :
  79. if st.getQuestItemsCount(GOBLETS[0]) >= 1 and st.getQuestItemsCount(GOBLETS[1]) >= 1 and st.getQuestItemsCount(GOBLETS[2]) >= 1 and st.getQuestItemsCount(GOBLETS[3]) >= 1 :
  80. htmltext = "31454-2.htm"
  81. else :
  82. if st.getQuestItemsCount(GOBLETS[0]) + st.getQuestItemsCount(GOBLETS[1]) + st.getQuestItemsCount(GOBLETS[2]) + st.getQuestItemsCount(GOBLETS[3]) > 1 :
  83. htmltext = "31454-6.htm"
  84. else :
  85. htmltext = "31454-10.htm"
  86. else :
  87. if st.getQuestItemsCount(GOBLETS[0]) >= 1 and st.getQuestItemsCount(GOBLETS[1]) >= 1 and st.getQuestItemsCount(GOBLETS[2]) >= 1 and st.getQuestItemsCount(GOBLETS[3]) >= 1 :
  88. htmltext = "31454-1.htm"
  89. else :
  90. if st.getQuestItemsCount(GOBLETS[0]) + st.getQuestItemsCount(GOBLETS[1]) + st.getQuestItemsCount(GOBLETS[2]) + st.getQuestItemsCount(GOBLETS[3]) > 1 :
  91. htmltext = "31454-5.htm"
  92. else :
  93. htmltext = "31454-9.htm"
  94. elif npcId == CONQ_SM :
  95. htmltext = "31921-E.htm"
  96. elif npcId == EMPER_SM :
  97. htmltext = "31922-E.htm"
  98. elif npcId == SAGES_SM :
  99. htmltext = "31923-E.htm"
  100. elif npcId == JUDGE_SM :
  101. htmltext = "31924-E.htm"
  102. elif npcId == GHOST_CHAMBERLAIN_1 :
  103. htmltext = "31919-1.htm"
  104. return htmltext
  105. def onKill (self,npc,player,isPet) :
  106. st = self.getQuestState(player, False)
  107. npcId = npc.getId()
  108. if st:
  109. if int(st.get("cond")) == 1 or int(st.get("cond")) == 2 :
  110. if npcId in range(18120,18256) :
  111. if self.getRandom(100) < 30 :
  112. st.giveItems(SEALED_BOX,1)
  113. st.playSound("ItemSound.quest_itemget")
  114. return
  115. def onAdvEvent (self,event,npc,player) :
  116. htmltext = event
  117. st = self.getQuestState(player, False)
  118. htmltext = event
  119. if event == "Enter" :
  120. FourSepulchersManager.getInstance().tryEntry(npc,player)
  121. return
  122. if not st : return
  123. elif event == "accept" :
  124. if int(st.get("cond")) == 0 :
  125. if st.getPlayer().getLevel() >= 74 :
  126. st.setState(State.STARTED)
  127. st.playSound("ItemSound.quest_accept")
  128. htmltext = "31453-13.htm"
  129. st.set("cond","1")
  130. else :
  131. htmltext = "31453-12.htm"
  132. st.exitQuest(1)
  133. elif event == "11" :
  134. if st.getQuestItemsCount(SEALED_BOX) >= 1 :
  135. htmltext = "31454-13.htm"
  136. st.takeItems(SEALED_BOX,1)
  137. reward = 0
  138. rnd = self.getRandom(5)
  139. if rnd == 0:
  140. st.giveItems(57,10000)
  141. reward = 1
  142. elif rnd == 1:
  143. if self.getRandom(1000) < 848 :
  144. reward = 1
  145. i = self.getRandom(1000)
  146. if i < 43 :
  147. st.giveItems(1884,42)
  148. elif i < 66 :
  149. st.giveItems(1895,36)
  150. elif i < 184 :
  151. st.giveItems(1876,4)
  152. elif i < 250 :
  153. st.giveItems(1881,6)
  154. elif i < 287 :
  155. st.giveItems(5549,8)
  156. elif i < 484 :
  157. st.giveItems(1874,1)
  158. elif i < 681 :
  159. st.giveItems(1889,1)
  160. elif i < 799 :
  161. st.giveItems(1877,1)
  162. elif i < 902 :
  163. st.giveItems(1894,1)
  164. else:
  165. st.giveItems(4043,1)
  166. if self.getRandom(1000) < 323 :
  167. reward = 1
  168. i = self.getRandom(1000)
  169. if i < 335 :
  170. st.giveItems(1888,1)
  171. elif i < 556 :
  172. st.giveItems(4040,1)
  173. elif i < 725 :
  174. st.giveItems(1890,1)
  175. elif i < 872 :
  176. st.giveItems(5550,1)
  177. elif i < 962 :
  178. st.giveItems(1893,1)
  179. elif i < 986 :
  180. st.giveItems(4046,1)
  181. else:
  182. st.giveItems(4048,1)
  183. elif rnd == 2:
  184. if self.getRandom(1000) < 847 :
  185. reward = 1
  186. i = self.getRandom(1000)
  187. if i < 148 :
  188. st.giveItems(1878,8)
  189. elif i < 175 :
  190. st.giveItems(1882,24)
  191. elif i < 273 :
  192. st.giveItems(1879,4)
  193. elif i < 322 :
  194. st.giveItems(1880,6)
  195. elif i < 357 :
  196. st.giveItems(1885,6)
  197. elif i < 554 :
  198. st.giveItems(1875,1)
  199. elif i < 685 :
  200. st.giveItems(1883,1)
  201. elif i < 803 :
  202. st.giveItems(5220,1)
  203. elif i < 901 :
  204. st.giveItems(4039,1)
  205. else:
  206. st.giveItems(4044,1)
  207. if self.getRandom(1000) < 251 :
  208. reward = 1
  209. i = self.getRandom(1000)
  210. if i < 350 :
  211. st.giveItems(1887,1)
  212. elif i < 587 :
  213. st.giveItems(4042,1)
  214. elif i < 798 :
  215. st.giveItems(1886,1)
  216. elif i < 922 :
  217. st.giveItems(4041,1)
  218. elif i < 966 :
  219. st.giveItems(1892,1)
  220. elif i < 996 :
  221. st.giveItems(1891,1)
  222. else:
  223. st.giveItems(4047,1)
  224. elif rnd == 3:
  225. if self.getRandom(1000) < 31 :
  226. reward = 1
  227. i = self.getRandom(1000)
  228. if i < 223 :
  229. st.giveItems(730,1)
  230. elif i < 893 :
  231. st.giveItems(948,1)
  232. else:
  233. st.giveItems(960,1)
  234. if self.getRandom(1000) < 5 :
  235. reward = 1
  236. i = self.getRandom(1000)
  237. if i < 202 :
  238. st.giveItems(729,1)
  239. elif i < 928 :
  240. st.giveItems(947,1)
  241. else:
  242. st.giveItems(959,1)
  243. elif rnd == 4:
  244. if self.getRandom(1000) < 329 :
  245. reward = 1
  246. i = self.getRandom(1000)
  247. if i < 88 :
  248. st.giveItems(6698,1)
  249. elif i < 185 :
  250. st.giveItems(6699,1)
  251. elif i < 238 :
  252. st.giveItems(6700,1)
  253. elif i < 262 :
  254. st.giveItems(6701,1)
  255. elif i < 292 :
  256. st.giveItems(6702,1)
  257. elif i < 356 :
  258. st.giveItems(6703,1)
  259. elif i < 420 :
  260. st.giveItems(6704,1)
  261. elif i < 482 :
  262. st.giveItems(6705,1)
  263. elif i < 554 :
  264. st.giveItems(6706,1)
  265. elif i < 576 :
  266. st.giveItems(6707,1)
  267. elif i < 640 :
  268. st.giveItems(6708,1)
  269. elif i < 704 :
  270. st.giveItems(6709,1)
  271. elif i < 777 :
  272. st.giveItems(6710,1)
  273. elif i < 799 :
  274. st.giveItems(6711,1)
  275. elif i < 863 :
  276. st.giveItems(6712,1)
  277. elif i < 927 :
  278. st.giveItems(6713,1)
  279. else:
  280. st.giveItems(6714,1)
  281. if self.getRandom(1000) < 54 :
  282. reward = 1
  283. i = self.getRandom(1000)
  284. if i < 100 :
  285. st.giveItems(6688,1)
  286. elif i < 198 :
  287. st.giveItems(6689,1)
  288. elif i < 298 :
  289. st.giveItems(6690,1)
  290. elif i < 398 :
  291. st.giveItems(6691,1)
  292. elif i < 499 :
  293. st.giveItems(7579,1)
  294. elif i < 601 :
  295. st.giveItems(6693,1)
  296. elif i < 703 :
  297. st.giveItems(6694,1)
  298. elif i < 801 :
  299. st.giveItems(6695,1)
  300. elif i < 902 :
  301. st.giveItems(6696,1)
  302. else:
  303. st.giveItems(6697,1)
  304. if reward == 0 :
  305. if self.getRandom(2) == 0 :
  306. htmltext = "31454-14.htm"
  307. else :
  308. htmltext = "31454-15.htm"
  309. elif event == "12" :
  310. if st.getQuestItemsCount(GOBLETS[0]) >= 1 and st.getQuestItemsCount(GOBLETS[1]) >= 1 and st.getQuestItemsCount(GOBLETS[2]) >= 1 and st.getQuestItemsCount(GOBLETS[3]) >= 1 :
  311. st.takeItems(GOBLETS[0],-1)
  312. st.takeItems(GOBLETS[1],-1)
  313. st.takeItems(GOBLETS[2],-1)
  314. st.takeItems(GOBLETS[3],-1)
  315. st.giveItems(ANTIQUE_BROOCH,1)
  316. st.set("cond","2")
  317. st.playSound("ItemSound.quest_finish")
  318. htmltext = "31453-16.htm"
  319. else :
  320. htmltext = "31453-14.htm"
  321. elif event == "13" :
  322. st.playSound("ItemSound.quest_finish")
  323. st.exitQuest(1)
  324. htmltext = "31453-18.htm"
  325. elif event == "14" :
  326. htmltext = "31453-13.htm"
  327. if st.getInt("cond") == 2:
  328. htmltext = "31453-19.htm"
  329. # Ghost Chamberlain of Elmoreden: Teleport to 4th sepulcher
  330. elif event == "15" :
  331. if st.getQuestItemsCount(ANTIQUE_BROOCH) >= 1 :
  332. st.getPlayer().teleToLocation(178298,-84574,-7216)
  333. htmltext = None
  334. elif st.getQuestItemsCount(GRAVE_PASS) >= 1 :
  335. st.takeItems(GRAVE_PASS,1)
  336. st.getPlayer().teleToLocation(178298,-84574,-7216)
  337. htmltext = None
  338. else :
  339. htmltext = ""+str(npc.getId())+"-0.htm"
  340. # Ghost Chamberlain of Elmoreden: Teleport to Imperial Tomb entrance
  341. elif event == "16" :
  342. if st.getQuestItemsCount(ANTIQUE_BROOCH) >= 1 :
  343. st.getPlayer().teleToLocation(186942,-75602,-2834)
  344. htmltext = None
  345. elif st.getQuestItemsCount(GRAVE_PASS) >= 1 :
  346. st.takeItems(GRAVE_PASS,1)
  347. st.getPlayer().teleToLocation(186942,-75602,-2834)
  348. htmltext = None
  349. else :
  350. htmltext = ""+str(npc.getId())+"-0.htm"
  351. # Teleport to Pilgrims Temple
  352. elif event == "17" :
  353. if st.getQuestItemsCount(ANTIQUE_BROOCH) >= 1 :
  354. st.getPlayer().teleToLocation(169590,-90218,-2914)
  355. else :
  356. st.takeItems(GRAVE_PASS,1)
  357. st.getPlayer().teleToLocation(169590,-90218,-2914)
  358. htmltext = "31452-6.htm"
  359. elif event == "18" :
  360. if st.getQuestItemsCount(GOBLETS[0]) + st.getQuestItemsCount(GOBLETS[1]) + st.getQuestItemsCount(GOBLETS[2]) + st.getQuestItemsCount(GOBLETS[3]) < 3 :
  361. htmltext = "31452-3.htm"
  362. elif st.getQuestItemsCount(GOBLETS[0]) + st.getQuestItemsCount(GOBLETS[1]) + st.getQuestItemsCount(GOBLETS[2]) + st.getQuestItemsCount(GOBLETS[3]) == 3 :
  363. htmltext = "31452-4.htm"
  364. elif st.getQuestItemsCount(GOBLETS[0]) + st.getQuestItemsCount(GOBLETS[1]) + st.getQuestItemsCount(GOBLETS[2]) + st.getQuestItemsCount(GOBLETS[3]) >= 4 :
  365. htmltext = "31452-5.htm"
  366. elif event == "19" :
  367. if st.getQuestItemsCount(SEALED_BOX) >= 1 :
  368. htmltext = "31919-3.htm"
  369. st.takeItems(SEALED_BOX,1)
  370. reward = 0
  371. rnd = self.getRandom(5)
  372. if rnd == 0:
  373. st.giveItems(57,10000)
  374. reward = 1
  375. elif rnd == 1:
  376. if self.getRandom(1000) < 848 :
  377. reward = 1
  378. i = self.getRandom(1000)
  379. if i < 43 :
  380. st.giveItems(1884,42)
  381. elif i < 66 :
  382. st.giveItems(1895,36)
  383. elif i < 184 :
  384. st.giveItems(1876,4)
  385. elif i < 250 :
  386. st.giveItems(1881,6)
  387. elif i < 287 :
  388. st.giveItems(5549,8)
  389. elif i < 484 :
  390. st.giveItems(1874,1)
  391. elif i < 681 :
  392. st.giveItems(1889,1)
  393. elif i < 799 :
  394. st.giveItems(1877,1)
  395. elif i < 902 :
  396. st.giveItems(1894,1)
  397. else:
  398. st.giveItems(4043,1)
  399. if self.getRandom(1000) < 323 :
  400. reward = 1
  401. i = self.getRandom(1000)
  402. if i < 335 :
  403. st.giveItems(1888,1)
  404. elif i < 556 :
  405. st.giveItems(4040,1)
  406. elif i < 725 :
  407. st.giveItems(1890,1)
  408. elif i < 872 :
  409. st.giveItems(5550,1)
  410. elif i < 962 :
  411. st.giveItems(1893,1)
  412. elif i < 986 :
  413. st.giveItems(4046,1)
  414. else:
  415. st.giveItems(4048,1)
  416. elif rnd == 2:
  417. if self.getRandom(1000) < 847 :
  418. reward = 1
  419. i = self.getRandom(1000)
  420. if i < 148 :
  421. st.giveItems(1878,8)
  422. elif i < 175 :
  423. st.giveItems(1882,24)
  424. elif i < 273 :
  425. st.giveItems(1879,4)
  426. elif i < 322 :
  427. st.giveItems(1880,6)
  428. elif i < 357 :
  429. st.giveItems(1885,6)
  430. elif i < 554 :
  431. st.giveItems(1875,1)
  432. elif i < 685 :
  433. st.giveItems(1883,1)
  434. elif i < 803 :
  435. st.giveItems(5220,1)
  436. elif i < 901 :
  437. st.giveItems(4039,1)
  438. else:
  439. st.giveItems(4044,1)
  440. if self.getRandom(1000) < 251 :
  441. reward = 1
  442. i = self.getRandom(1000)
  443. if i < 350 :
  444. st.giveItems(1887,1)
  445. elif i < 587 :
  446. st.giveItems(4042,1)
  447. elif i < 798 :
  448. st.giveItems(1886,1)
  449. elif i < 922 :
  450. st.giveItems(4041,1)
  451. elif i < 966 :
  452. st.giveItems(1892,1)
  453. elif i < 996 :
  454. st.giveItems(1891,1)
  455. else:
  456. st.giveItems(4047,1)
  457. elif rnd == 3:
  458. if self.getRandom(1000) < 31 :
  459. reward = 1
  460. i = self.getRandom(1000)
  461. if i < 223 :
  462. st.giveItems(730,1)
  463. elif i < 893 :
  464. st.giveItems(948,1)
  465. else:
  466. st.giveItems(960,1)
  467. if self.getRandom(1000) < 5 :
  468. reward = 1
  469. i = self.getRandom(1000)
  470. if i < 202 :
  471. st.giveItems(729,1)
  472. elif i < 928 :
  473. st.giveItems(947,1)
  474. else:
  475. st.giveItems(959,1)
  476. elif rnd == 4:
  477. if self.getRandom(1000) < 329 :
  478. reward = 1
  479. i = self.getRandom(1000)
  480. if i < 88 :
  481. st.giveItems(6698,1)
  482. elif i < 185 :
  483. st.giveItems(6699,1)
  484. elif i < 238 :
  485. st.giveItems(6700,1)
  486. elif i < 262 :
  487. st.giveItems(6701,1)
  488. elif i < 292 :
  489. st.giveItems(6702,1)
  490. elif i < 356 :
  491. st.giveItems(6703,1)
  492. elif i < 420 :
  493. st.giveItems(6704,1)
  494. elif i < 482 :
  495. st.giveItems(6705,1)
  496. elif i < 554 :
  497. st.giveItems(6706,1)
  498. elif i < 576 :
  499. st.giveItems(6707,1)
  500. elif i < 640 :
  501. st.giveItems(6708,1)
  502. elif i < 704 :
  503. st.giveItems(6709,1)
  504. elif i < 777 :
  505. st.giveItems(6710,1)
  506. elif i < 799 :
  507. st.giveItems(6711,1)
  508. elif i < 863 :
  509. st.giveItems(6712,1)
  510. elif i < 927 :
  511. st.giveItems(6713,1)
  512. else:
  513. st.giveItems(6714,1)
  514. if self.getRandom(1000) < 54 :
  515. reward = 1
  516. i = self.getRandom(1000)
  517. if i < 100 :
  518. st.giveItems(6688,1)
  519. elif i < 198 :
  520. st.giveItems(6689,1)
  521. elif i < 298 :
  522. st.giveItems(6690,1)
  523. elif i < 398 :
  524. st.giveItems(6691,1)
  525. elif i < 499 :
  526. st.giveItems(7579,1)
  527. elif i < 601 :
  528. st.giveItems(6693,1)
  529. elif i < 703 :
  530. st.giveItems(6694,1)
  531. elif i < 801 :
  532. st.giveItems(6695,1)
  533. elif i < 902 :
  534. st.giveItems(6696,1)
  535. else:
  536. st.giveItems(6697,1)
  537. if reward == 0 :
  538. if self.getRandom(2) == 0 :
  539. htmltext = "31919-4.htm"
  540. else :
  541. htmltext = "31919-5.htm"
  542. else :
  543. htmltext = "31919-6.htm"
  544. elif event.isdigit() and int(event) in RCP_REWARDS :
  545. st.takeItems(RELIC,1000)
  546. st.giveItems(int(event),1)
  547. htmltext = "31454-17.htm"
  548. return htmltext
  549. QUEST = Quest(620,qn,"Four Goblets")
  550. QUEST.addStartNpc(NAMELESS_SPIRIT)
  551. QUEST.addTalkId(NAMELESS_SPIRIT)
  552. for npcTalkId in [GHOST_OF_WIGOTH_1,GHOST_OF_WIGOTH_2,CONQ_SM,EMPER_SM,SAGES_SM,JUDGE_SM,GHOST_CHAMBERLAIN_1,GHOST_CHAMBERLAIN_2] :
  553. QUEST.addTalkId(npcTalkId)
  554. for npcStartId in [CONQ_SM,EMPER_SM,SAGES_SM,JUDGE_SM,GHOST_CHAMBERLAIN_1,GHOST_CHAMBERLAIN_2] :
  555. QUEST.addStartNpc(npcStartId)
  556. for npcKillId in range(18120,18256) :
  557. QUEST.addKillId(npcKillId)