You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

198 lines
7.2 KiB

  1. #!/usr/bin/env python3
  2. episodes = ['ep1', 'ep2', 'ep4']
  3. difficulties = ['normal', 'hard', 'veryhard', 'ultimate']
  4. sectionids = ['viridia', 'greenill', 'skyly', 'bluefull', 'purplenum', 'pinkal', 'redria', 'oran', 'yellowboze', 'whitill']
  5. with open('drops','r') as infile:
  6. drops = infile.readlines()
  7. ep1drops = list(filter(lambda d: d.split(',')[0] == 'ep1', drops))
  8. ep2drops = list(filter(lambda d: d.split(',')[0] == 'ep2', drops))
  9. ep4drops = list(filter(lambda d: d.split(',')[0] == 'ep4', drops))
  10. ep1monsters = list(set(line.split(',')[3] for line in ep1drops))
  11. ep2monsters = list(set(line.split(',')[3] for line in ep2drops))
  12. ep4monsters = list(set(line.split(',')[3] for line in ep4drops))
  13. ep1monsters.sort()
  14. ep2monsters.sort()
  15. ep4monsters.sort()
  16. ep1normal = list(filter(lambda d: d.split(',')[1] == 'normal', ep1drops))
  17. ep1hard = list(filter(lambda d: d.split(',')[1] == 'hard', ep1drops))
  18. ep1veryhard = list(filter(lambda d: d.split(',')[1] == 'veryhard', ep1drops))
  19. ep1ultimate = list(filter(lambda d: d.split(',')[1] == 'ultimate', ep1drops))
  20. print('ep1 normal drops')
  21. for monster in ep1monsters:
  22. monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep1normal)) # all drops for specific monster (list of strings)
  23. print('{},'.format(monster), sep='', end='')
  24. for sectionid in sectionids:
  25. for md in monster_drops:
  26. if sectionid in md:
  27. print('{}'.format(md.split(',')[4]),sep='', end='')
  28. print(',', sep='', end='')
  29. print()
  30. print('\n\n')
  31. print('ep1 hard drops')
  32. for monster in ep1monsters:
  33. monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep1hard)) # all drops for specific monster (list of strings)
  34. print('{},'.format(monster), sep='', end='')
  35. for sectionid in sectionids:
  36. for md in monster_drops:
  37. if sectionid in md:
  38. print('{}'.format(md.split(',')[4]),sep='', end='')
  39. print(',', sep='', end='')
  40. print()
  41. print('\n\n')
  42. print('ep1 veryhard drops')
  43. for monster in ep1monsters:
  44. monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep1veryhard)) # all drops for specific monster (list of strings)
  45. print('{},'.format(monster), sep='', end='')
  46. for sectionid in sectionids:
  47. for md in monster_drops:
  48. if sectionid in md:
  49. print('{}'.format(md.split(',')[4]),sep='', end='')
  50. print(',', sep='', end='')
  51. print()
  52. print('\n\n')
  53. print('ep1 ultimate drops')
  54. for monster in ep1monsters:
  55. monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep1ultimate)) # all drops for specific monster (list of strings)
  56. print('{},'.format(monster), sep='', end='')
  57. for sectionid in sectionids:
  58. for md in monster_drops:
  59. if sectionid in md:
  60. print('{}'.format(md.split(',')[4]),sep='', end='')
  61. print(',', sep='', end='')
  62. print()
  63. print('\n\n')
  64. print('\n\n\n\n\n\n')
  65. # print drops per difficulty
  66. ep2normal = list(filter(lambda d: d.split(',')[1] == 'normal', ep2drops))
  67. ep2hard = list(filter(lambda d: d.split(',')[1] == 'hard', ep2drops))
  68. ep2veryhard = list(filter(lambda d: d.split(',')[1] == 'veryhard', ep2drops))
  69. ep2ultimate = list(filter(lambda d: d.split(',')[1] == 'ultimate', ep2drops))
  70. print('ep2 normal drops')
  71. for monster in ep2monsters:
  72. monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep2normal)) # all drops for specific monster (list of strings)
  73. print('{},'.format(monster), sep='', end='')
  74. for sectionid in sectionids:
  75. for md in monster_drops:
  76. if sectionid in md:
  77. print('{}'.format(md.split(',')[4]),sep='', end='')
  78. print(',', sep='', end='')
  79. print()
  80. print('\n\n')
  81. print('ep2 hard drops')
  82. for monster in ep2monsters:
  83. monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep2hard)) # all drops for specific monster (list of strings)
  84. print('{},'.format(monster), sep='', end='')
  85. for sectionid in sectionids:
  86. for md in monster_drops:
  87. if sectionid in md:
  88. print('{}'.format(md.split(',')[4]),sep='', end='')
  89. print(',', sep='', end='')
  90. print()
  91. print('\n\n')
  92. print('ep2 veryhard drops')
  93. for monster in ep2monsters:
  94. monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep2veryhard)) # all drops for specific monster (list of strings)
  95. print('{},'.format(monster), sep='', end='')
  96. for sectionid in sectionids:
  97. for md in monster_drops:
  98. if sectionid in md:
  99. print('{}'.format(md.split(',')[4]),sep='', end='')
  100. print(',', sep='', end='')
  101. print()
  102. print('\n\n')
  103. print('ep2 ultimate drops')
  104. for monster in ep2monsters:
  105. monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep2ultimate)) # all drops for specific monster (list of strings)
  106. print('{},'.format(monster), sep='', end='')
  107. for sectionid in sectionids:
  108. for md in monster_drops:
  109. if sectionid in md:
  110. print('{}'.format(md.split(',')[4]),sep='', end='')
  111. print(',', sep='', end='')
  112. print()
  113. print('\n\n')
  114. print('\n\n\n\n\n\n')
  115. # print drops per difficulty
  116. ep4normal = list(filter(lambda d: d.split(',')[1] == 'normal', ep4drops))
  117. ep4hard = list(filter(lambda d: d.split(',')[1] == 'hard', ep4drops))
  118. ep4veryhard = list(filter(lambda d: d.split(',')[1] == 'veryhard', ep4drops))
  119. ep4ultimate = list(filter(lambda d: d.split(',')[1] == 'ultimate', ep4drops))
  120. print('ep4 normal drops')
  121. for monster in ep4monsters:
  122. monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep4normal)) # all drops for specific monster (list of strings)
  123. print('{},'.format(monster), sep='', end='')
  124. for sectionid in sectionids:
  125. for md in monster_drops:
  126. if sectionid in md:
  127. print('{}'.format(md.split(',')[4]),sep='', end='')
  128. print(',', sep='', end='')
  129. print()
  130. print('\n\n')
  131. print('ep4 hard drops')
  132. for monster in ep4monsters:
  133. monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep4hard)) # all drops for specific monster (list of strings)
  134. print('{},'.format(monster), sep='', end='')
  135. for sectionid in sectionids:
  136. for md in monster_drops:
  137. if sectionid in md:
  138. print('{}'.format(md.split(',')[4]),sep='', end='')
  139. print(',', sep='', end='')
  140. print()
  141. print('\n\n')
  142. print('ep4 veryhard drops')
  143. for monster in ep4monsters:
  144. monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep4veryhard)) # all drops for specific monster (list of strings)
  145. print('{},'.format(monster), sep='', end='')
  146. for sectionid in sectionids:
  147. for md in monster_drops:
  148. if sectionid in md:
  149. print('{}'.format(md.split(',')[4]),sep='', end='')
  150. print(',', sep='', end='')
  151. print()
  152. print('\n\n')
  153. print('ep4 ultimate drops')
  154. for monster in ep4monsters:
  155. monster_drops = list(filter(lambda d: d.split(',')[3] == monster, ep4ultimate)) # all drops for specific monster (list of strings)
  156. print('{},'.format(monster), sep='', end='')
  157. for sectionid in sectionids:
  158. for md in monster_drops:
  159. if sectionid in md:
  160. print('{}'.format(md.split(',')[4]),sep='', end='')
  161. print(',', sep='', end='')
  162. print()