-
Notifications
You must be signed in to change notification settings - Fork 0
/
monsters_base.py
2120 lines (1912 loc) · 189 KB
/
monsters_base.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
import difflib
import re
from typing import List
from monster import Monster
from monsters_data import MonstersClues, MonstersKillMethods, MonstersDisableMethods, MonstersCureMethods
from colors import Colors
class MonsterBase:
# ---------------------------------------------------- SEASON 1 ----------------------------------------------------
prince_of_hell = Monster("Prince of Hell", description="The oldest of old demons. One generation after Lilith. "
"They were turned by Lucyfer himself before the Atlantis "
"drowned. They were trained to be demonic generals in the "
"war against Heaven. Azazel - the yellow eyed demon that "
"made people with abilities, Ramiel, Asmodeus, Dagon. "
"Azazel was killed by Dean in S02E22. Ramiel is the second "
"Prince Winchesters encounter. Dagon appears in S12E13. She "
"is mostly known for her psychotic savagery. Dagon is "
"killed by Castiel and the power of Nephilim in S12E19. "
"Asmodeus appears in S13E02. Prince of Hell can improve his "
"power by ingesting Archangel Grace. Asmodeus is killed in "
"S13E18 by Archangel Gabriel.",
episodes={"S01": [1, 21, 22], "S02": [1, 21, 22], "S04": [3, 22], "S06": [1],
"S12": [12, 13, 17, 19], "S13": [2, 7, 13, 17, 18]})
# TODO: Check in which episodes does Azazel appear
prince_of_hell.clues = [MonstersClues.people_burned_on_the_ceiling, MonstersClues.can_appear_out_of_thin_air,
MonstersClues.weird_things_behavior, MonstersClues.yellow_eyes, MonstersClues.weird_weather,
MonstersClues.children_of_victims_that_died_on_the_ceiling_have_abilities,
MonstersClues.mothers_burned_when_children_are_6_months_old, MonstersClues.cattle_deaths,
MonstersClues.one_can_make_a_deal_with_it, MonstersClues.angel_blade_is_ineffective,
MonstersClues.holy_water_does_not_affect_it, MonstersClues.travels_as_black_fog,
MonstersClues.can_posses_a_reaper, MonstersClues.can_make_themselves_appear_as_they_like,
MonstersClues.can_show_past_to_people, MonstersClues.demon_killing_knife_is_ineffective,
MonstersClues.can_kill_angels_with_a_touch, MonstersClues.temperature_fluctuations,
MonstersClues.telekinesis, MonstersClues.invulnerable, MonstersClues.can_teleport_people,
MonstersClues.can_kill_demons_with_power_of_will, MonstersClues.electrical_storms,
MonstersClues.can_vanish, MonstersClues.high_strength, MonstersClues.people_acting_weirdly,
MonstersClues.can_kill_people_with_a_thought, MonstersClues.mimics_human_voice,
MonstersClues.lack_of_body_control, MonstersClues.can_hurt_people_with_a_thought]
prince_of_hell.kill_methods = [MonstersKillMethods.colt_of_colt_with_magic_bullets,
MonstersKillMethods.lance_of_archangel_michael,
MonstersKillMethods.will_of_a_nephilim, MonstersKillMethods.will_of_an_archangel]
vengeful_spirit = Monster("Vengeful Spirit or Ghost (Bloody Mary - killed in S01E05 by Dean, Hook Man - "
"killed in S01E07)",
description="Appears, when somebody died tragically, committed suicide or was killed "
"violently. Usually bound to a place or to things. Ghost can occasionally "
"possess people. When they do, sometimes they can travel for a while before "
"coming back to the usual haunting place. Can be summoned by Enochian, "
"necromantic summoning rituals. Sometimes it's a spirit of a person, that is "
"in the coma. Ghosts can be forced to rise and keep risen. "
"If it is done with very powerful spell, then a Mark of Witness remains on "
"them if t hey were killed by supernatural. Witnesses can be put to rest "
"by a special spell (has to be cast over an open fire). A Ghost can be bound "
"to an object, place or even electrical signals (like Wi-Fi).",
episodes={"S01": [1, 3, 5, 7, 9, 10, 13, 19], "S02": [6, 11, 16, 18, 19, 22],
"S03": [5, 6, 13], "S04": [2, 7, 13, 15, 17], "S05": [9, 11, 12],
"S06": [4, 11, 14], "S07": [4, 7, 10, 13, 17, 19], "S09": [7], "S10": [13, 16],
"S11": [7, 23], "S12": [3, 6, 13], "S13": [5, 16], "S14": [4, 12, 13, 20],
"S15": [1, 2, 3, 6]})
vengeful_spirit.clues = [MonstersClues.missing_or_dead_people_in_similar_way_randomly_across_time_in_the_same_area,
MonstersClues.people_dead_weirdly, MonstersClues.ghost_like_creature,
MonstersClues.weird_electronics_behavior, MonstersClues.weird_things_behavior,
MonstersClues.local_legend_about_somebody_killed_or_died, MonstersClues.ectoplasm,
MonstersClues.telekinesis, MonstersClues.invisible_entity, MonstersClues.emf,
MonstersClues.missing_body, MonstersClues.high_strength, MonstersClues.cold_spots,
MonstersClues.can_control_water, MonstersClues.people_seeing_things_or_figures,
MonstersClues.summoned_by_saying_bloody_marry_in_front_of_the_mirror,
MonstersClues.objects_seen_in_night_vision, MonstersClues.can_posses_a_person,
MonstersClues.missing_or_dead_people_regularly_in_the_same_area, MonstersClues.ozone_smell,
MonstersClues.seen_as_fire, MonstersClues.no_sulfur, MonstersClues.people_acting_weirdly,
MonstersClues.small_earth_quake, MonstersClues.seen_as_car_or_truck,
MonstersClues.flashing_lights, MonstersClues.seen_as_a_little_girl, MonstersClues.suicides,
MonstersClues.seen_as_a_drown_man, MonstersClues.strange_different_things_happening,
MonstersClues.no_missing_heart, MonstersClues.body_torn_apart, MonstersClues.no_black_fog,
MonstersClues.visions, MonstersClues.lack_of_body_control, MonstersClues.scars_on_victims,
MonstersClues.weird_fire_spontaneous_combustion, MonstersClues.can_control_electronics,
MonstersClues.can_absorb_other_ghost_energy, MonstersClues.victims_hear_voices,
MonstersClues.no_hex_bags, MonstersClues.travels_as_grey_fog, MonstersClues.weird_noises,
MonstersClues.amnesia_blackout, MonstersClues.holy_water_does_not_affect_it,
MonstersClues.attached_to_a_specific_object, MonstersClues.victims_hear_children_cry,
MonstersClues.leaves_frozen_marks, MonstersClues.frozen_heart,
MonstersClues.can_put_a_person_into_a_tv, MonstersClues.can_put_an_angel_into_a_tv]
vengeful_spirit.disable_methods = [MonstersDisableMethods.bring_the_spirit_to_its_crime_place,
MonstersDisableMethods.bring_the_spirit_what_it_wants,
MonstersDisableMethods.iron_or_iron_bullets,
MonstersDisableMethods.salt_or_salted_bullets, MonstersDisableMethods.holy_oil,
MonstersDisableMethods.finish_its_unfinished_business]
vengeful_spirit.kill_methods = [MonstersKillMethods.burn_salted_corpse,
MonstersKillMethods.destroy_the_object_that_the_ghost_is_bound_to]
wendigo = Monster("Wendigo", description="Wending in Cree Indian means 'evil, that devours'. These creatures can "
"live to hundreds of years. Each Wendigo was once a man. It's a product "
"of a cannibalism - people in camps/mineshafts/tribes due to lack of "
"supplies eat others. Stores other man as a supply for winters as food.",
episodes={"S01": [2]})
wendigo.clues = [MonstersClues.missing_or_dead_people_regularly_in_the_same_area, MonstersClues.moves_fast,
MonstersClues.strange_roar, MonstersClues.attacks_at_night, MonstersClues.able_to_use_doors,
MonstersClues.intelligent, MonstersClues.claws, MonstersClues.animal_like_attack,
MonstersClues.silent_area, MonstersClues.high_strength, MonstersClues.mimics_human_voice]
wendigo.disable_methods = [MonstersDisableMethods.symbols_of_anasazi]
wendigo.kill_methods = [MonstersKillMethods.burn_it]
skinwalker = Monster("Skinwalker", description="Can change into an animal anytime. Can infect other people with a "
"single bite. Basically a werewolf cousin. Mentioned in S01E02.",
episodes={"S06": [8]})
skinwalker.clues = [MonstersClues.claws, MonstersClues.moves_fast, MonstersClues.people_dead_weirdly,
MonstersClues.animal_like_attack, MonstersClues.missing_heart, MonstersClues.body_torn_apart,
MonstersClues.murders_not_during_full_moon_week, MonstersClues.can_change_into_a_dog,
MonstersClues.great_sense_of_smell]
skinwalker.disable_methods = [MonstersDisableMethods.silver_or_silver_bullets]
skinwalker.kill_methods = [MonstersKillMethods.silver_bullet_into_the_heart]
black_dog = Monster("Black Dog", description="Not seen. Only mentioned in S01E02 and S02E08")
black_dog.clues = [MonstersClues.claws, MonstersClues.moves_fast, MonstersClues.victims_see_black_dogs]
water_wraith = Monster("Water Wraith", description="Not seen. Only mentioned in S01E03")
water_wraith.clues = [MonstersClues.can_control_water]
demon = Monster("Demon", description="In every religion there is information about demonic possessions. Demons are "
"man that were stuck in Hell for a long time. A demon can be cured by "
"Father Thompson's curing ritual.",
episodes={"S01": [4, 16, 21, 22], "S02": [1, 9, 14, 22], "S03": [1, 2, 4, 9, 12, 15, 16],
"S04": [1, 2, 3, 4, 9, 10, 12, 15, 16, 20, 21, 22],
"S05": [1, 6, 10, 12, 14, 17, 20, 21, 22], "S06": [7, 10, 18, 19, 20, 21, 22],
"S07": [8, 15, 17, 21, 23], "S08": [1, 2, 7, 10, 17, 19, 21, 22, 23],
"S09": [2, 6, 10, 11, 14, 16, 17, 21, 23], "S10": [1, 2, 3, 7, 9, 10, 13, 14, 16, 17, 21],
"S11": [1, 3, 6, 9, 10, 14, 15, 18, 22], "S12": [1, 2, 12, 15, 17, 21],
"S13": [2, 7, 8, 12, 13, 17, 18], "S14": [1, 11, 17, 20], "S15": [1, 2, 3, 8, 13]})
demon.clues = [MonstersClues.black_eyes, MonstersClues.travels_as_black_fog, MonstersClues.emf,
MonstersClues.weird_electronics_behavior, MonstersClues.high_strength, MonstersClues.sulfur,
MonstersClues.burned_by_holy_water, MonstersClues.reacts_to_gods_name_in_latin,
MonstersClues.people_dead_weirdly, MonstersClues.with_a_binding_link_exorcism_does_not_work,
MonstersClues.people_acting_weirdly, MonstersClues.can_appear_out_of_thin_air,
MonstersClues.amnesia_blackout, MonstersClues.telekinesis, MonstersClues.can_vanish,
MonstersClues.lack_of_body_control, MonstersClues.can_hurt_people_with_a_thought,
MonstersClues.missing_or_dead_people_in_similar_way_randomly_across_time_in_the_same_area,
MonstersClues.animals_dead_weirdly, MonstersClues.weird_things_behavior,
MonstersClues.black_blood]
demon.kill_methods = [MonstersKillMethods.demon_killing_knife, MonstersKillMethods.angel_exorcism,
MonstersKillMethods.colt_of_colt_with_magic_bullets, MonstersKillMethods.demon_killing_spell,
MonstersKillMethods.angel_blade, MonstersKillMethods.first_blade, MonstersKillMethods.holy_oil,
MonstersKillMethods.defigere_et_depurgare_spell, MonstersKillMethods.will_of_an_archangel,
MonstersKillMethods.lance_of_archangel_michael]
demon.disable_methods = [MonstersDisableMethods.holy_water, MonstersDisableMethods.holy_wood,
MonstersDisableMethods.exorcism, MonstersDisableMethods.devils_trap,
MonstersDisableMethods.witch_spell_to_get_a_demon_out_of_the_body,
MonstersDisableMethods.salt_or_salted_bullets, MonstersDisableMethods.demon_killing_knife,
MonstersDisableMethods.extrusion_by_people_with_abilities]
shapeshifter = Monster("Shapeshifter", description="These creatures can transform themselves into other man or "
"animals. Can mate with humans (and other Shapeshifters) to "
"produce Shapeshifter offspring.",
episodes={"S01": [6], "S02": [12], "S04": [5], "S06": [2], "S09": [16, 20], "S10": [6],
"S12": [20], "S13": [4, 10], "S15": [10]})
shapeshifter.clues = [MonstersClues.can_take_form_of_other_people, MonstersClues.skin_left_behind,
MonstersClues.being_at_two_places_at_once, MonstersClues.bright_eyes, MonstersClues.no_sulfur,
MonstersClues.weird_animal_behavior, MonstersClues.can_copy_memories_of_other_people,
MonstersClues.people_dead_weirdly, MonstersClues.strange_different_things_happening,
MonstersClues.can_make_themselves_appear_as_they_like, MonstersClues.silver_burns_its_skin,
MonstersClues.no_emf, MonstersClues.missing_or_dead_people_regularly_in_the_same_area,
MonstersClues.high_strength, MonstersClues.no_flashing_lights, MonstersClues.no_cold_spots,
MonstersClues.missing_or_dead_people_in_similar_way_randomly_across_time_in_the_same_area,
MonstersClues.no_missing_body]
shapeshifter.kill_methods = [MonstersKillMethods.silver_bullet_into_the_heart, MonstersKillMethods.silver_blade,
MonstersKillMethods.will_of_a_nephilim]
shapeshifter.disable_methods = [MonstersDisableMethods.silver_or_silver_bullets]
psychic = Monster("Psychic", description="A person, that can read minds, knows past, present and future of people "
"or in general. Senses energies and spirits and can contact dead people "
"(not only spirits, but also the ones in Heaven). Missouri Mosley was "
"a friend of John Winchester. Pamela Barnes was a friend Sam, Dean and "
"Bobby. One of the psychics is Oliver Pryce. Man of Letters were teaching "
"him how to control his powers. Missouri is killed by Wraith in S13E03.",
episodes={"S01": [9], "S04": [1, 7, 15], "S05": [16], "S07": [8] , "S10": [17], "S12": [4],
"S13": [3, 9, 10], "S14": [15]})
psychic.clues = [MonstersClues.psychic_abilities, MonstersClues.people_acting_weirdly, MonstersClues.telekinesis,
MonstersClues.people_dead_weirdly, MonstersClues.can_read_peoples_minds, MonstersClues.no_sulfur,
MonstersClues.people_speaking_languages, MonstersClues.headaches, MonstersClues.no_black_fog,
MonstersClues.head_filled_with_goopy_mush, MonstersClues.marks_on_victims_bodies,
MonstersClues.lack_of_body_control, MonstersClues.weird_noises, MonstersClues.mind_control,
MonstersClues.missing_or_dead_people_in_similar_way_randomly_across_time_in_the_same_area]
psychic.kill_methods = [MonstersKillMethods.like_any_human]
poltergeist = Monster("Poltergeist", episodes={"S01": [9]})
poltergeist.clues = [MonstersClues.weird_noises, MonstersClues.flashing_lights, MonstersClues.telekinesis,
MonstersClues.weird_things_behavior]
poltergeist.kill_methods = [MonstersKillMethods.angelica_root_mixture]
norwegian_god_vanir = Monster("Norwegian god - Vanir",
description="Norwegian God of the harvest, protection and prosperity. Once a year it "
"requires a sacrifice of a man and a woman in order to maintain "
"prosperity. Sacrifice takes place in April. Killed in S01E11.",
episodes={"S01": [11]})
norwegian_god_vanir.clues = [MonstersClues.missing_or_dead_people_regularly_in_the_same_area, MonstersClues.emf,
MonstersClues.seen_as_a_scarecrow, MonstersClues.weird_noises]
norwegian_god_vanir.disable_methods = [MonstersDisableMethods.bring_it_what_it_wants]
norwegian_god_vanir.kill_methods = [MonstersKillMethods.burn_the_sacred_tree]
rawhead = Monster("Rawhead", episodes={"S01": [12]})
rawhead.kill_methods = [MonstersKillMethods.apply_large_voltage]
reaper = Monster("Reaper", description="Can give and take life. Can also transfer illnesses of people. When gone, "
"people are not dying. Rogue reape`rs (Ajay for example) can smuggle "
"a person across Hell's border, Heaven and the Veil. They have secret ways "
"in and out.When a reaper dies, there are electrical storms. One of the "
"Reapers is Tesa (killed by Dean in S09E22). Reaper Billie is killed by "
"Castiel in S12E09. That meant, that Billie got promoted to be the next "
"Death (revealed in S13E05).",
episodes={"S01": [12], "S02": [1], "S04": [15], "S05": [10, 21], "S06": [11], "S07": [10],
"S08": [19], "S09": [3, 22], "S11": [2, 10, 17, 23], "S12": [6, 9], "S13": [5, 19],
"S14": [10, 20], "S15": [9, 12, 13, 16, 17, 18, 19]})
reaper.clues = [MonstersClues.people_dead_weirdly, MonstersClues.people_cured_miraculously,
MonstersClues.weird_things_behavior, MonstersClues.people_seeing_things_or_figures,
MonstersClues.seen_as_a_person_in_a_suit, MonstersClues.ghost_like_creature,
MonstersClues.visible_by_other_ghosts_and_people_close_to_death_only, MonstersClues.can_vanish,
MonstersClues.can_make_themselves_appear_as_they_like, MonstersClues.people_not_dying,
MonstersClues.strange_different_things_happening, MonstersClues.invisible_entity,
MonstersClues.electrical_storms, MonstersClues.can_appear_out_of_thin_air,
MonstersClues.bright_light, MonstersClues.can_collect_souls_of_the_dead, MonstersClues.telekinesis,
MonstersClues.can_teleport_nephilim]
reaper.disable_methods = [MonstersDisableMethods.reaper_imprison_sigil, MonstersDisableMethods.angel_blade,
MonstersDisableMethods.scythe_of_death]
reaper.kill_methods = [MonstersKillMethods.reaper_blade_combined_with_a_spell, MonstersKillMethods.angel_blade,
MonstersKillMethods.first_blade, MonstersKillMethods.rowenas_spell,
MonstersKillMethods.scythe_of_death]
people_with_abilities = Monster("People with abilities", description="People, that were infants, when prince of "
"Hell killed their mother on the ceiling. "
"Can get stronger, when consuming demon "
"blood. After using the blood for a long "
"time, a person becomes addicted to it like "
"to a drug. With enough power, that person's "
"eyes become black as for a demon.",
episodes={"S01": [14], "S02": [5, 10, 21, 22], "S03": [16],
"S04": [1, 4, 7, 9, 15, 16, 18, 20, 21, 22], "S05": [14, 22]})
people_with_abilities.clues = [MonstersClues.people_dead_weirdly, MonstersClues.weird_things_behavior,
MonstersClues.telekinesis, MonstersClues.mind_control, MonstersClues.can_see_future,
MonstersClues.able_to_electrocute, MonstersClues.people_seeing_things_or_figures,
MonstersClues.their_mother_was_burned_on_the_ceiling_when_they_were_infants,
MonstersClues.as_babies_fed_with_demon_blood, MonstersClues.can_control_demons,
MonstersClues.immune_to_liliths_yellow_blast, MonstersClues.black_eyes,
MonstersClues.can_send_demons_back_to_hell_with_power_of_will,
MonstersClues.can_kill_demons_with_power_of_will]
people_with_abilities.kill_methods = [MonstersKillMethods.like_any_human]
crazy_humans = Monster("Crazy humans", description="Ordinary humans, that are mad or crazy. "
"Sometimes can be mistaken for ghosts or vampires. Thinman is "
"an example of two people working together to bring to life "
"a Thinman monster. In S13E11 there was a group of people, that "
"kidnapped people to sell their parts to monsters.",
episodes={"S01": [15], "S04": [11], "S09": [15, 20], "S13": [11], "S15": [15]})
crazy_humans.clues = [MonstersClues.people_kidnapped_weirdly, MonstersClues.weird_electronics_behavior,
MonstersClues.flashing_lights, MonstersClues.people_seeing_things_or_figures,
MonstersClues.people_dead_weirdly, MonstersClues.weird_things_behavior, MonstersClues.claws,
MonstersClues.body_torn_apart, MonstersClues.weird_noises, MonstersClues.no_cold_spots,
MonstersClues.can_appear_out_of_thin_air, MonstersClues.slender_like_creature,
MonstersClues.can_vanish, MonstersClues.no_flashing_lights, MonstersClues.ghost_like_creature,
MonstersClues.missing_or_dead_people_in_similar_way_randomly_across_time_in_the_same_area,
MonstersClues.missing_or_dead_people_regularly_in_different_areas, MonstersClues.no_sulfur,
MonstersClues.victims_hear_voices, MonstersClues.no_hex_bags]
crazy_humans.kill_methods = [MonstersKillMethods.like_any_human]
spring_heeled_jacks = Monster("Sprint Heeled Jacks", description="Not seen. Only mentioned in S01E15")
spring_heeled_jacks.clues = [MonstersClues.people_kidnapped_weirdly]
phantom_gassers = Monster("Phantom gassers", description="Not seen. Only mentioned in S01E15")
phantom_gassers.clues = [MonstersClues.people_kidnapped_weirdly]
daeva = Monster("Daeva", description="Zoroastrian demon - demon of darkness", episodes={"S01": [16]})
daeva.clues = [MonstersClues.victims_hear_voices, MonstersClues.seen_as_a_shadow, MonstersClues.animal_like_attack,
MonstersClues.emf, MonstersClues.missing_heart, MonstersClues.body_torn_apart, MonstersClues.claws,
MonstersClues.left_zoroastrian_symbol_made_with_blood, MonstersClues.high_strength,
MonstersClues.invisible_entity]
daeva.kill_methods = [MonstersKillMethods.very_bright_light]
daeva.disable_methods = [MonstersDisableMethods.very_bright_light]
tulpa = Monster("Tulpa", description="A Tibetan thought-form. To summon one there needs to be a tibetan spirit "
"sigil drawn, but they draw a lot of psychic energy.", episodes={"S01": [17]})
tulpa.clues = [MonstersClues.ghost_like_creature, MonstersClues.high_strength,
MonstersClues.keeps_changing_appearances, MonstersClues.salt_does_not_affect_it]
tulpa.kill_methods = [MonstersKillMethods.make_a_story_that_it_will_unite_with_and_weaken]
tulpa.disable_methods = [MonstersDisableMethods.destroy_the_place_that_the_tulpa_resides]
shtriga = Monster("Shtriga", description="Witch-like entity from Albanian folklore. Feeds on life energy, "
"but particularly on children (also siblings)", episodes={"S01": [18]})
shtriga.clues = [MonstersClues.people_or_children_severely_sick, MonstersClues.no_emf, MonstersClues.moves_fast,
MonstersClues.nothing_on_ultraviolet, MonstersClues.leaves_burned_marks,
MonstersClues.feeding_on_life_essence, MonstersClues.seen_as_human_when_not_feeding,
MonstersClues.dead_people_or_children_regularly_in_different_places, MonstersClues.high_strength,
MonstersClues.weird_electronics_behavior]
shtriga.kill_methods = [MonstersKillMethods.consecrated_wrought_iron_when_it_eats]
death_omen = Monster("Death omen", description="A spirit or a vision, that appears, when somebody will die soon.",
episodes={"S01": [19], "S02": [7], "S03": [6], "S04": [15], "S05": [9], "S07": [7, 19],
"S12": [3]})
death_omen.clues = [MonstersClues.invisible_entity, MonstersClues.people_dead_weirdly,
MonstersClues.people_seeing_things_or_figures, MonstersClues.flashing_lights,
MonstersClues.weird_electronics_behavior]
death_omen.disable_methods = [MonstersDisableMethods.bring_the_spirit_what_it_wants]
vampire = Monster("Vampire", description="They were once people. They need fresh human blood to survive. "
"A coss will not repel them, sunlight will not kill them. Neither will a "
"stake to the heart. Vampires nest in groups 8 to 10. Smaller packs are "
"sent out to hunt for food. Kidnapped people are taken to nests and then "
"bleeding them for days or weeks. Sometimes nests keep humans alive for "
"years as blood slaves. One can become a vampire, when drinking vampire "
"blood. Upon changing, all senses sharpen.",
episodes={"S01": [20], "S02": [3], "S03": [7], "S05": [3], "S06": [5, 7, 10, 19, 20], "S07": [22],
"S08": [1, 2, 5, 7, 9, 10, 18, 19], "S09": [2, 16, 19, 20], "S10": [8, 19, 23],
"S11": [12], "S12": [1, 9, 14], "S13": [11, 21], "S14": [1, 2, 3, 9, 10],
"S15": [4, 10, 14, 20]})
vampire.clues = [MonstersClues.ripped_throat, MonstersClues.no_blood_in_the_body, MonstersClues.needle_like_teeth,
MonstersClues.moving_in_groups_usually, MonstersClues.invulnerable, MonstersClues.high_strength,
MonstersClues.bright_eyes, MonstersClues.great_sense_of_smell, MonstersClues.white_skin,
MonstersClues.cattle_deaths, MonstersClues.feeds_on_blood, MonstersClues.people_dead_weirdly,
MonstersClues.bite_marks_on_peoples_necks, MonstersClues.no_sulfur, MonstersClues.no_emf,
MonstersClues.missing_or_dead_people_regularly_in_the_same_area, MonstersClues.moves_fast,
MonstersClues.weird_noises, MonstersClues.only_bones_left, MonstersClues.animal_like_attack,
MonstersClues.no_weird_noises, MonstersClues.no_hex_bags, MonstersClues.craving_for_blood]
vampire.kill_methods = [MonstersKillMethods.decapitation, MonstersKillMethods.angel_blade, MonstersKillMethods.avd,
MonstersKillMethods.colt_of_colt_with_magic_bullets, MonstersKillMethods.will_of_an_angel,
MonstersKillMethods.roman_corn_syrup, MonstersKillMethods.will_of_a_nephilim,
MonstersKillMethods.will_of_an_archangel, MonstersKillMethods.bad_place_spear]
vampire.disable_methods = [MonstersDisableMethods.dead_mans_blood]
vampire.cure_methods = [MonstersCureMethods.cocktail_made_of_blood_of_the_vampire_that_bit_the_victim]
# ------------------------------------------------ ALL EPISODES DONE -----------------------------------------------
# ---------------------------------------------------- SEASON 2 ----------------------------------------------------
rakshasa = Monster("Rakshasa", description="Race of ancient Hindu creatures. They appear in human form and feed on "
"human flesh. Can make themselves invisible and cannot enter a home "
"without being invited. They live in squalor and sleep on a bed of "
"dead insects.", episodes={"S02": [2]})
rakshasa.clues = [MonstersClues.seen_as_a_clown, MonstersClues.people_dead_weirdly, MonstersClues.invulnerable,
MonstersClues.people_seeing_things_or_figures, MonstersClues.can_become_invisible,
MonstersClues.dead_people_or_children_regularly_in_different_places,
MonstersClues.cannot_enter_a_home_without_invitation]
rakshasa.kill_methods = [MonstersKillMethods.dagger_made_of_pure_brass]
resurrected_person = Monster("Resurrected person",
description="Brought back from the dead by ancient Greek necromancy ritual. Has to "
"eat people to stay 'alive'", episodes={"S02": [4], "S14": [6]})
resurrected_person.clues = [MonstersClues.invulnerable, MonstersClues.missing_body, MonstersClues.ripped_throat,
MonstersClues.weird_plant_deaths_or_behavior, MonstersClues.people_dead_weirdly,
MonstersClues.missing_or_dead_people_in_similar_way_randomly_across_time_in_the_same_area]
resurrected_person.disable_methods = [MonstersDisableMethods.silver_or_silver_bullets]
resurrected_person.kill_methods = [MonstersKillMethods.nail_it_back_to_the_grave]
hell_hound = Monster("Hell Hound", description="Creation of God, but they were too vicious, so God kept them "
"short. Now they hunt people that sold their souls. According the "
"the Demon Tablet - dire creatures may be seen only by the damned "
"or through an object scorched with holy fire (burning holy oil). "
"Almost all Hell Hounds were killed by Angels, but Lucyfer rescued "
"pregnant Ramsey, that is loyal only to him. Hell Hound can be "
"controlled by a special whistle (showed in S12E21).",
episodes={"S02": [8], "S03": [16], "S05": [10, 20], "S06": [4, 10, 14], "S08": [14],
"S09": [21], "S11": [15], "S12": [15, 21], "S15": [13]})
hell_hound.clues = [MonstersClues.victims_hear_dogs_barking_and_growling, MonstersClues.invisible_dogs,
MonstersClues.victims_see_black_dogs, MonstersClues.people_seeing_strange_things,
MonstersClues.victims_got_better_at_something_up_to_ten_years_earlier,
MonstersClues.people_dead_weirdly, MonstersClues.animal_like_attack, MonstersClues.black_blood,
MonstersClues.animal_like_noises]
hell_hound.disable_methods = [MonstersDisableMethods.goofer_dust, MonstersDisableMethods.devils_shoestring,
MonstersDisableMethods.demon_must_call_it_off,
MonstersDisableMethods.salt_or_salted_bullets]
hell_hound.kill_methods = [MonstersKillMethods.demon_killing_knife, MonstersKillMethods.angel_sword,
MonstersKillMethods.colt_of_colt_with_magic_bullets, MonstersKillMethods.angel_blade]
crossroads_demon = Monster("Crossroads demon", description="One can make a deal with that demon. Can give "
"anything, but will collect ones soul after 10 years. "
"One can summon it by placing a box with: graveyard "
"dirt, black cat cone, ones photo in the center of "
"a crossroad.",
episodes={"S02": [8, 22], "S03": [5, 15], "S04": [9], "S05": [10], "S06": [4],
"S07": [8], "S08": [19], "S09": [2, 16], "S10": [1, 3, 10, 14], "S11": [15],
"S12": [6], "S13": [8], "S15": [15]})
crossroads_demon.clues = [MonstersClues.victims_got_better_at_something_up_to_ten_years_earlier,
MonstersClues.red_eyes, MonstersClues.summoned_by_placing_box_in_the_crossroads,
MonstersClues.travels_as_black_fog, MonstersClues.pact_sealed_with_a_kiss,
MonstersClues.people_dead_weirdly, MonstersClues.telekinesis, MonstersClues.high_strength,
MonstersClues.flashing_lights]
crossroads_demon.disable_methods = [MonstersDisableMethods.devils_trap, MonstersDisableMethods.holy_water,
MonstersDisableMethods.fry_its_remains]
crossroads_demon.kill_methods = [MonstersKillMethods.colt_of_colt_with_magic_bullets,
MonstersKillMethods.demon_killing_knife, MonstersKillMethods.burn_the_remains,
MonstersKillMethods.angel_blade]
demonic_virus = Monster("Demonic virus", description="Probably caused Roanoke colony disappearance. Croatoan might "
"be a name of the demon. Names also include Dever and "
"Reshef - demon of plague and pestilence.",
episodes={"S02": [9]})
demonic_virus.clues = [MonstersClues.people_acting_weirdly, MonstersClues.sulfur_in_the_blood,
MonstersClues.elevated_lymphocyte_percentage, MonstersClues.high_strength,
MonstersClues.infected_with_blood_to_blood_contact]
demonic_virus.kill_methods = [MonstersKillMethods.like_any_human]
demonic_virus.disable_methods = [MonstersDisableMethods.wait_until_its_over]
angel_like_spirit = Monster("Angel-like spirit", description="Spirit of a person that died tragically (like "
"vengeful spirit), but instead of evil, "
"that spirit becomes better-ish.",
episodes={"S02": [13]})
angel_like_spirit.clues = [MonstersClues.people_seeing_things_or_figures, MonstersClues.weird_electronics_behavior,
MonstersClues.flashing_lights, MonstersClues.people_hear_voices, MonstersClues.no_emf,
MonstersClues.weird_things_behavior, MonstersClues.small_earth_quake,
MonstersClues.people_seeing_figure_of_light, MonstersClues.people_feel_spiritual_ecstasy,
MonstersClues.knows_past, MonstersClues.can_read_peoples_minds, MonstersClues.no_sulfur]
angel_like_spirit.disable_methods = [MonstersDisableMethods.give_it_last_rites]
trickster = Monster("Trickster (Loki, Anansi)", description="Demigod (Loki in Scandinavia, Anansi in West Africa). "
"Can create chaos and mischief as easy as breathing. "
"Not seen, only appeared to be one, but it was "
"Archangel Gabriel. A few thousand epochs ago, Gabriel "
"was out for a hike in the Fjords, came across Loki "
"bound in a cave with snake dripping venom into his "
"eye. He freed him. Killed by Gabriel in S13E20.",
episodes={"S13": [20]})
trickster.clues = [MonstersClues.people_seeing_things_or_figures, MonstersClues.can_create_things_out_of_thin_air,
MonstersClues.people_dead_weirdly, MonstersClues.no_emf, MonstersClues.people_seeing_aliens,
MonstersClues.strange_different_things_happening, MonstersClues.things_disappearing,
MonstersClues.weird_noises, MonstersClues.immortal, MonstersClues.people_seeing_strange_things,
MonstersClues.can_make_themselves_appear_as_they_like, MonstersClues.mimics_human_voice,
MonstersClues.loves_sugar, MonstersClues.telekinesis, MonstersClues.sweets_wrappers,
MonstersClues.can_vanish, MonstersClues.high_strength, MonstersClues.astral_projection]
trickster.kill_methods = [MonstersKillMethods.gabriel_sword]
archangel_gabriel = Monster("Archangel - Gabriel", description="Archangel, that enjoys tricking people and killing "
"them afterwards. Supposedly killed by Lucyfer in "
"S05E19. Back in S13E13. Killed by Archangel "
"Michael from Apocalypse World in S13E22.",
episodes={"S02": [15], "S03": [11], "S05": [8, 19], "S13": [13, 17, 18, 20, 21, 22]})
archangel_gabriel.clues = [MonstersClues.people_seeing_things_or_figures, MonstersClues.people_seeing_aliens,
MonstersClues.telekinesis, MonstersClues.no_emf, MonstersClues.things_disappearing,
MonstersClues.weird_noises, MonstersClues.loves_sugar, MonstersClues.immortal,
MonstersClues.strange_different_things_happening, MonstersClues.can_vanish,
MonstersClues.can_create_things_out_of_thin_air, MonstersClues.can_reverse_time,
MonstersClues.people_dead_weirdly, MonstersClues.people_seeing_strange_things,
MonstersClues.can_put_people_into_alternate_timelines, MonstersClues.sweets_wrappers,
MonstersClues.mimics_human_voice, MonstersClues.high_strength, MonstersClues.has_wings,
MonstersClues.can_teleport_people, MonstersClues.can_make_themselves_appear_as_they_like,
MonstersClues.can_put_somebody_in_a_time_loop, MonstersClues.bright_light,
MonstersClues.bright_eyes, MonstersClues.can_kill_princes_of_hell_with_a_thought,
MonstersClues.astral_projection]
archangel_gabriel.disable_methods = [MonstersDisableMethods.holy_oil]
archangel_gabriel.kill_methods = [MonstersKillMethods.archangel_blade]
phantom_hitchhiker = Monster("Phantom hitchhiker", description="Not seen. Only mentioned in S01E16")
phantom_hitchhiker.clues = [MonstersClues.missing_or_dead_people_regularly_in_the_same_area]
werewolf = Monster("Werewolf", description="Human by day, animal killing machine by moonlight. Curse spreads "
"through bites. Killing a werewolf, that bit a person does not revert "
"the curse. Werewolves that are turned up to 4 generations from pure "
"blood are less feral and can transform before, during and after the "
"lunar cycle. Pure bloods don't blackout during the transformation and "
"can control themselves. Some have been able to subsist off of "
"animal hearts. Also mentioned in S01E16. Werewolfs can be enhanced by "
"Archangel blood (from S14E02) to be immune to silver. Only "
"decapitation is effective on them then.",
episodes={"S02": [17], "S08": [4], "S09": [12, 20], "S10": [4], "S11": [17], "S12": [6, 16],
"S13": [10, 11, 23], "S14": [2, 9, 10], "S15": [5, 8, 10]})
werewolf.clues = [MonstersClues.body_torn_apart, MonstersClues.animal_like_attack, MonstersClues.missing_heart,
MonstersClues.murders_during_full_moon_week, MonstersClues.claws, MonstersClues.attacks_at_night,
MonstersClues.animal_like_noises, MonstersClues.amnesia_blackout, MonstersClues.high_strength,
MonstersClues.people_dead_weirdly, MonstersClues.increased_regeneration, MonstersClues.moves_fast,
MonstersClues.bite_marks, MonstersClues.missing_organs, MonstersClues.animals_dead_weirdly,
MonstersClues.missing_or_dead_people_regularly_in_the_same_area, MonstersClues.needle_like_teeth,
MonstersClues.yellow_eyes, MonstersClues.large_mouth_full_of_teeth, MonstersClues.ripped_throat]
werewolf.kill_methods = [MonstersKillMethods.silver_bullet_into_the_heart, MonstersKillMethods.silver_blade,
MonstersKillMethods.silver_nitrate_injection, MonstersKillMethods.angel_blade,
MonstersKillMethods.decapitation, MonstersKillMethods.will_of_a_nephilim]
werewolf.disable_methods = [MonstersDisableMethods.silver_or_silver_bullets]
werewolf.cure_methods = [MonstersCureMethods.plasma_therapy_with_the_blood_of_the_werewolf_that_bit_the_victim]
jinn = Monster("Jinn", description="Mythical creatures, that feed on people. They have godlike power and can "
"shape reality as they like. Usually reside in ruins - the bigger, the better. "
"They poison people, who see nightmares or paradise of theirs. The poison is "
"transferred by touch. It can be cured. Not all Jinn look different than "
"humans, some look just like regular people. There is an offshoot of jinn, "
"that liquefies the organs of the victims. It can be killed like a regular "
"jinn. A jinn can be upgraded with Archangel Blood. After the upgrade, it reads "
"minds, sees nightmares after just one touch and can bring those nightmares "
"into the world, that turn to dust, when killed. After the upgrade bullets are "
"less affective.",
episodes={"S02": [20], "S06": [1, 10], "S08": [20], "S09": [20], "S14": [5, 10], "S15": [6, 10]})
jinn.clues = [MonstersClues.missing_or_dead_people_in_similar_way_randomly_across_time_in_the_same_area,
MonstersClues.blue_eyes, MonstersClues.can_put_a_person_in_wonderland, MonstersClues.feeds_on_blood,
MonstersClues.blue_fire_on_its_arms, MonstersClues.poisoned_people, MonstersClues.people_dead_weirdly,
MonstersClues.seen_as_human_when_not_feeding, MonstersClues.people_seeing_strange_things,
MonstersClues.liquefied_organs, MonstersClues.no_black_goo, MonstersClues.can_appear_out_of_thin_air,
MonstersClues.leaves_blue_handprint, MonstersClues.no_burn_marks, MonstersClues.deep_voice,
MonstersClues.being_at_two_places_at_once, MonstersClues.people_seeing_things_or_figures,
MonstersClues.no_blood_in_the_body]
jinn.disable_methods = [MonstersDisableMethods.gun_shot]
jinn.kill_methods = [MonstersKillMethods.silver_knife_dipped_in_lambs_blood, MonstersKillMethods.will_of_a_nephilim,
MonstersKillMethods.angel_blade]
acheri = Monster("Acheri", description="Demon, that disguises itself as a little girl.", episodes={"S02": [21]})
acheri.clues = [MonstersClues.seen_as_a_little_girl, MonstersClues.claws, MonstersClues.animal_like_attack]
acheri.disable_methods = [MonstersDisableMethods.iron_or_iron_bullets]
# ------------------------------------------------ ALL EPISODES DONE -----------------------------------------------
# ---------------------------------------------------- SEASON 3 ----------------------------------------------------
seven_deadly_sins = Monster("Seven deadly sins", description="In 1589 Binsfeld's classification of demons, he IDd "
"all of them not just as human vices but "
"as actual devils. Some of them are killed in S03E11.",
episodes={"S03": [1]})
seven_deadly_sins.clues = [MonstersClues.black_eyes, MonstersClues.mind_control, MonstersClues.no_emf,
MonstersClues.burned_by_holy_water, MonstersClues.travels_as_black_fog,
MonstersClues.people_acting_weirdly, MonstersClues.people_dead_weirdly,
MonstersClues.weird_electronics_behavior, MonstersClues.can_read_peoples_minds,
MonstersClues.no_sulfur, MonstersClues.high_strength]
seven_deadly_sins.kill_methods = [MonstersKillMethods.demon_killing_knife]
seven_deadly_sins.disable_methods = [MonstersDisableMethods.holy_water, MonstersDisableMethods.devils_trap,
MonstersDisableMethods.exorcism]
changeling = Monster("Changeling", description="Evil monster babies/children. They can perfectly mimic children. "
"According to lore, they climb the window and kidnap the kid. "
"Feeding on moms' synovial fluid. They can feed on a victim for "
"months. Kidnapped kids are hidden usually underground. There can "
"be a mother changeling. Burning her burns also kid changelings.",
episodes={"S03": [2]})
changeling.clues = [MonstersClues.weird_things_behavior, MonstersClues.babies_or_children_acting_weirdly,
MonstersClues.missing_or_dead_people_regularly_in_the_same_area, MonstersClues.feeding_at_night,
MonstersClues.bite_marks_on_peoples_necks, MonstersClues.people_dead_weirdly,
MonstersClues.may_leave_claw_marks,
MonstersClues.real_appearance_can_be_seen_in_a_reflection_or_camera]
changeling.kill_methods = [MonstersKillMethods.burn_it]
krampus = Monster("Krampus", description="Evil brother of Santa. Comes in many names - Belsnickel, Black Peter. "
"Lore says, that Santa's brother went rogue and now he punishes the "
"wicked around Christmas time. Not seen, only mentioned in S03E08")
krampus.clues = [MonstersClues.weird_noises, MonstersClues.people_dead_weirdly,
MonstersClues.missing_or_dead_people_in_similar_way_randomly_across_time_in_the_same_area,
MonstersClues.missing_or_dead_people_around_christmas, MonstersClues.seen_as_a_santa_like_figure]
holdenacar = Monster("Holdenacar", description="God of the winter solstice. Attracted to meadowsweet, which is one "
"of the most powerful plants in pagan lore. Killed in S03E08.",
episodes={"S03": [8]})
holdenacar.clues = [MonstersClues.missing_or_dead_people_regularly_in_different_areas, MonstersClues.weird_noises,
MonstersClues.people_dead_weirdly, MonstersClues.missing_or_dead_people_around_christmas,
MonstersClues.high_strength, MonstersClues.seen_as_a_santa_like_figure,
MonstersClues.victims_have_meadowsweet_somewhere, MonstersClues.weird_weather]
holdenacar.kill_methods = [MonstersKillMethods.evergreen_pin]
witch = Monster("Witch", description="A woman/man, that deals with different kinds of magic (like black, "
"old world, etc.). Witch has magic powers, can bring demons, be immortal, "
"teleport etc. Some witches have companions (called familiars) in the form of "
"a pet. Witches can perform astral projections. One of the more powerful "
"witches is Rowena introduced in S10E03. According to her, grand coven there "
"are three recognized kinds of witch in the world. Most common are the "
"borrowers - those who harness the power of a demon in order to practice the "
"art. Second one (and rarest) are the naturals - the ones born with a gift. "
"The last group are the students - those with no natural ability who, with "
"enough practice and training and a grand coven-approved mentor to show them "
"the path, can eke out a modicum of witchly power. Rowena is a natural and is "
"also a mother of Crowley. Rowena was supposedly killed by Lucifer in S11E10. "
"Back in S11E18. It is revealed, that she was prepared for her death - when a "
"spell sensed her death, it revived her. Rowena was killed in S12E23 by "
"Lucyfer. Back in S13E12. Sam kills Rowena in order to close the rip, that "
"GOD opened.",
episodes={"S03": [9], "S04": [7, 12], "S05": [7, 12], "S07": [5], "S08": [7, 15],
"S10": [3, 7, 9, 10, 14, 16, 17, 18, 19, 21, 22, 23], "S11": [3, 9, 10, 13, 18, 22, 23],
"S12": [2, 3, 6, 8, 11, 13, 20], "S13": [7, 12, 19, 21, 22], "S14": [3, 6, 7, 14, 18],
"S15": [2, 3, 6, 8]})
witch.clues = [MonstersClues.people_dead_weirdly, MonstersClues.hex_bag_hidden_somewhere, MonstersClues.immortal,
MonstersClues.coin_hidden_somewhere, MonstersClues.weird_electronics_behavior,
MonstersClues.telekinesis, MonstersClues.can_vanish, MonstersClues.weird_plant_deaths_or_behavior,
MonstersClues.missing_or_dead_people_in_similar_way_randomly_across_time_in_the_same_area,
MonstersClues.people_aging_rapidly, MonstersClues.people_getting_younger, MonstersClues.invulnerable,
MonstersClues.people_with_souls_switched, MonstersClues.black_goo, MonstersClues.flashing_lights,
MonstersClues.card_found_on_a_victim, MonstersClues.missing_heart, MonstersClues.high_strength,
MonstersClues.people_acting_weirdly, MonstersClues.boiled_brain, MonstersClues.red_faces_of_victims,
MonstersClues.missing_or_dead_people_in_similar_way_randomly_across_time_in_different_areas,
MonstersClues.strange_different_things_happening, MonstersClues.can_read_peoples_minds,
MonstersClues.weird_fire_spontaneous_combustion, MonstersClues.purple_eyes,
MonstersClues.killed_reapers]
witch.disable_methods = [MonstersDisableMethods.stop_it_from_speaking, MonstersDisableMethods.iron_chains,
MonstersDisableMethods.witch_catcher]
witch.kill_methods = [MonstersKillMethods.like_any_human, MonstersKillMethods.death_transfer_spell,
MonstersKillMethods.witch_killing_brew, MonstersKillMethods.will_of_an_archangel,
MonstersKillMethods.witch_killing_bullets, MonstersKillMethods.break_the_neck]
demon_astaroth = Monster("Demon Astaroth", description="Collects human souls by changing them into witches. "
"Killed in S03R09.", episodes={"S03": [9]})
demon_astaroth.clues = [MonstersClues.black_eyes, MonstersClues.telekinesis, MonstersClues.high_strength,
MonstersClues.can_stop_bullets]
demon_astaroth.kill_methods = [MonstersKillMethods.demon_killing_knife]
first_demon = Monster("First Demon - Lilith", description="First demon created by Lucifer out of a human soul by "
"twisting it. Killed in S04E22 by Sam with powers. "
"Brought back by GOD in S15E05, when Sam and Dean face "
"her. Snapped by Archangel Michael in S15E08.",
episodes={"S03": [12, 16], "S04": [18, 22], "S15": [5, 8]})
first_demon.clues = [MonstersClues.white_eyes, MonstersClues.yellow_blast, MonstersClues.telekinesis,
MonstersClues.unable_to_hurt_people_with_abilities_with_its_yellow_blast,
MonstersClues.travels_as_black_fog, MonstersClues.can_hurt_people_with_a_thought,
MonstersClues.can_appear_out_of_thin_air, MonstersClues.can_vanish]
first_demon.kill_methods = [MonstersKillMethods.will_of_a_person_with_abilities,
MonstersKillMethods.will_of_an_archangel]
death_echo = Monster("Death echo", description="Echos are trapped in a loop. They keep replaying how they "
"died over and over again usually at the place of death.",
episodes={"S03": [13]})
death_echo.clues = [MonstersClues.ghost_like_creature, MonstersClues.can_vanish, MonstersClues.emf,
MonstersClues.weird_electronics_behavior]
death_echo.disable_methods = [MonstersDisableMethods.shock_it_out_of_its_loop]
crocotta = Monster("Crocotta", description="Soul scavenger. Mimics loved ones. Whispers 'Come to me', then lures "
"victims into the dark and swallows their souls. Usually live in filth.",
episodes={"S03": [14]})
crocotta.clues = [MonstersClues.people_dead_weirdly, MonstersClues.weird_electronics_behavior,
MonstersClues.contact_from_dead_people, MonstersClues.victims_hear_voices,
MonstersClues.needle_like_teeth, MonstersClues.can_control_electronics]
crocotta.kill_methods = [MonstersKillMethods.sharp_object_into_the_spine]
eternal_living_person = Monster("Eternal living person", description="Person, that can live forever in theory by "
"replacing faulty organs.",
episodes={"S03": [15]})
eternal_living_person.clues = [MonstersClues.missing_organs, MonstersClues.people_dead_weirdly,
MonstersClues.invulnerable]
eternal_living_person.disable_methods = [MonstersDisableMethods.chloroform, MonstersDisableMethods.bury_it_alive]
# ------------------------------------------------ ALL EPISODES DONE -----------------------------------------------
# ---------------------------------------------------- SEASON 4 ----------------------------------------------------
angel = Monster("Angel", description="Angel of God (Castiel, Uriel, Hester, Inias, Samandriel, Ion, Nathaniel, "
"Naomi). They can bring people back from the dead. Cannot track people, that "
"use powerful spells to hide themselves. All angels have graces - energy "
"source for their power. When some of the grace is removed (either by eating "
"by another angel or by storing in a container) after some time it is "
"recharged. But only to a point, the whole grace cannot regenerate. All "
"angels instinctively know the names of past, present and future prophets. "
"When they disobey (fall), as a punishment they can become human. When dying, "
"a bright light is produced and they leave wing marks. Also the organs of the "
"vessel, they are possessing are vapourised. To possess somebody, they need a "
"consent. When an angel is tortured, the pain causes a ripple effect and "
"strange things happen nearby. When an angel looses it's Grace - it becomes "
"human. An Angel without a Grace can intake another Angel's/Fallen Angel's "
"Grace. When an Angel leaves a vessel - it leaves a part of himself (a part "
"of his Grace) in it - like a fingerprint. An Angel can be tracked using a "
"part of the Grace, that it left in his vessel. All Angels can unify in order "
"to produce a single angelic blow of power. When that happens, a fallout is "
"produced and the closer you get to the ground zero, the worse it becomes. "
"According to Castiel, the last time it happened, Lot's wife was turned to "
"salt. The fallout does not affect Angels. An Angel can be possessed by an "
"Archangel. Castiel broke the fourth wall in S06E20. Castiel supposedly died "
"in S07E01, back in S07E17. Castiel is killed by Lucyfer in S12E23 with an "
"Angel Blade and appears again in S13E03 in Empty. Back to Earth in S13E04. "
"It is not possible for an Angel to heal an Archangel.",
episodes={"S04": [1, 2, 3, 7, 9, 10, 15, 16, 18, 20, 21, 22],
"S05": [1, 2, 3, 4, 5, 6, 8, 10, 12, 13, 14, 15, 16, 17, 18, 21, 22],
"S06": [3, 6, 7, 10, 12, 15, 17, 18, 19, 20, 21, 22], "S07": [1, 17, 20, 21, 23],
"S08": [2, 7, 8, 10, 17, 19, 21, 22, 23], "S09": [9, 10, 11, 14, 18, 21, 22, 23],
"S10": [1, 2, 3, 7, 9, 10, 14, 17, 18, 20, 21, 22, 23],
"S11": [1, 2, 3, 6, 10, 14, 18, 22, 23],
"S12": [1, 2, 3, 7, 8, 9, 10, 12, 13, 15, 19, 23],
"S13": [1, 2, 3, 4, 5, 6, 7, 9, 12, 13, 14, 16, 18, 19, 21, 22, 23],
"S14": [1, 2, 3, 7, 8, 9, 10, 12, 13, 14, 15, 17, 18, 19, 20],
"S15": [1, 2, 3, 6, 7, 8, 9, 11, 12, 13, 15, 17, 18]})
angel.clues = [MonstersClues.can_bring_back_dead_people, MonstersClues.in_true_form_burns_eyes_of_people,
MonstersClues.place_where_person_was_resurrected_looks_like_after_explosion, MonstersClues.has_wings,
MonstersClues.leaves_burned_marks, MonstersClues.can_tell_if_somebody_was_recently_healed,
MonstersClues.can_repair_human_body, MonstersClues.telekinesis, MonstersClues.invulnerable,
MonstersClues.can_put_a_person_to_sleep, MonstersClues.demon_killing_knife_is_ineffective,
MonstersClues.true_voice_can_hurt_people, MonstersClues.can_vanish, MonstersClues.high_strength,
MonstersClues.immune_to_salt_rounds, MonstersClues.immune_to_devils_trap, MonstersClues.bright_light,
MonstersClues.can_contact_a_person_in_a_dream, MonstersClues.can_send_people_to_the_past,
MonstersClues.can_appear_out_of_thin_air, MonstersClues.can_see_real_appearance_of_entities,
MonstersClues.can_exorcise_certain_demons_with_hand_on_forehead, MonstersClues.mimics_human_voice,
MonstersClues.can_control_electronics, MonstersClues.triangle_wound, MonstersClues.amnesia_blackout,
MonstersClues.can_teleport_people, MonstersClues.can_read_peoples_minds, MonstersClues.burned_eyes,
MonstersClues.can_become_invisible, MonstersClues.can_control_demons, MonstersClues.liquefied_organs,
MonstersClues.can_erase_and_bring_back_memories, MonstersClues.can_transfer_mental_diseases,
MonstersClues.can_go_and_put_into_a_persons_mind, MonstersClues.strange_different_things_happening,
MonstersClues.bright_eyes, MonstersClues.vapourised_organs, MonstersClues.travels_as_white_fog,
MonstersClues.blue_eyes, MonstersClues.falling_meteor, MonstersClues.weird_electronics_behavior,
MonstersClues.can_kill_humans_with_hand_on_forehead]
angel.disable_methods = [MonstersDisableMethods.symbol_made_with_blood_against_angels,
MonstersDisableMethods.exorcism_for_angels, MonstersDisableMethods.holy_oil,
MonstersDisableMethods.enochian_spell, MonstersDisableMethods.rowenas_immobilization_spell,
MonstersDisableMethods.presence_of_the_mother, MonstersDisableMethods.grace_removal,
MonstersDisableMethods.attack_dog_spell, MonstersDisableMethods.angel_blade,
MonstersDisableMethods.angel_knuckle_duster, MonstersDisableMethods.enochian_handcuffs,
MonstersDisableMethods.lance_of_archangel_michael, MonstersDisableMethods.gorgon_venom]
angel.kill_methods = [MonstersKillMethods.angel_blade, MonstersKillMethods.holy_oil,
MonstersKillMethods.leviathan_black_goo, MonstersKillMethods.will_of_an_archangel,
MonstersKillMethods.will_of_the_darkness, MonstersKillMethods.lance_of_archangel_michael,
MonstersKillMethods.will_of_prince_of_hell, MonstersKillMethods.will_of_a_nephilim]
rougarou = Monster("Rougarou", description="Once a human. Now - rotten teeth, wormy skin. When going through "
"metamorphosis, their hunger increases. At first for everything, but "
"after a while - for human flesh. Hunger grows, until it is "
"irresistible. After the first bite of the human flesh, they transform "
"completely and fast. They feed once, they're a monster forever. "
"This may be a genetic condition.",
episodes={"S04": [4], "S06": [10], "S08": [2], "S12": [13], "S13": [11], "S14": [10]})
rougarou.clues = [MonstersClues.enormous_appetite, MonstersClues.body_metamorphosis, MonstersClues.high_strength,
MonstersClues.bloodshot_eyes, MonstersClues.wormy_skin, MonstersClues.no_bone_marrow_in_bones,
MonstersClues.drained_organs, MonstersClues.people_dead_weirdly, MonstersClues.bite_marks]
rougarou.kill_methods = [MonstersKillMethods.burn_it, MonstersKillMethods.demon_killing_knife,
MonstersKillMethods.man_of_letters_rougarou_gun, MonstersKillMethods.will_of_a_nephilim]
samhain = Monster("Samhain", description="A demon that is the origin of Halloween. Celts believed, that the 31st "
"of October is the day, when the veil is the thinnest between the living "
"and dead. And this is also Samhain's night. Masks were put on to hide "
"from him, sweets left on doorsteps to appease him and faces carved into "
"pumpkins to worship him.", episodes={"S04": [7]})
samhain.clues = [MonstersClues.travels_as_black_fog, MonstersClues.white_eyes, MonstersClues.yellow_blast,
MonstersClues.can_bring_back_dead_people, MonstersClues.can_summon_ghosts]
samhain.disable_methods = [MonstersDisableMethods.extrusion_by_people_with_abilities]
fallen_angel = Monster("Fallen Angel", description="An angel, that disobeyed the orders or was cursed by "
"spell banishing Angels to Earth and fell. Like Angels - when "
"killed, the organs of the vessel are vapourised. "
"After The Fall in S08E23 we have the following fallen "
"angels: Hael, Ezekiel, Bartholomew, Malachi, Gadreel "
"(committed suicide in S0923), Muriel, Azrael, Sophia, Theo, "
"Thaddeus, Abner, Hannah, Ezra, Esther, Asariel, Purah. Gadreel "
"was the Angel, that let Lucifer into the Garden of Eden.",
episodes={"S04": [9, 10], "S08": [23], "S09": [1, 2, 3, 4, 5, 8, 9, 10, 14, 18, 21, 22, 23],
"S10": [1, 2, 3, 7, 10, 17], "S11": [1, 2, 3, 9, 10, 11, 12, 22]})
fallen_angel.clues = [MonstersClues.people_hear_voices, MonstersClues.can_see_real_appearance_of_entities,
MonstersClues.telekinesis, MonstersClues.people_acting_weirdly, MonstersClues.falling_meteor,
MonstersClues.can_hear_angel_radio, MonstersClues.can_erase_and_bring_back_memories,
MonstersClues.can_repair_human_body, MonstersClues.can_posses_a_person,
MonstersClues.bright_eyes, MonstersClues.can_hear_demon_radio, MonstersClues.bright_light,
MonstersClues.burned_eyes, MonstersClues.travels_as_white_fog, MonstersClues.body_torn_apart,
MonstersClues.vapourised_organs, MonstersClues.can_bring_back_dead_people,
MonstersClues.blue_eyes, MonstersClues.leaves_burned_marks, MonstersClues.triangle_wound,
MonstersClues.people_acting_weirdly, MonstersClues.travels_as_white_fog,
MonstersClues.can_kill_humans_with_hand_on_forehead, MonstersClues.weird_things_behavior,
MonstersClues.can_put_a_person_to_sleep, MonstersClues.weird_electronics_behavior,
MonstersClues.flashing_lights, MonstersClues.burned_eyes, MonstersClues.people_dead_weirdly]
fallen_angel.disable_methods = [MonstersDisableMethods.holy_oil, MonstersDisableMethods.angel_blade,
MonstersDisableMethods.first_blade]
fallen_angel.kill_methods = [MonstersKillMethods.angel_blade, MonstersKillMethods.first_blade,
MonstersKillMethods.will_of_an_archangel]
demon_alastair = Monster("Demon Alastair", description="A very powerful demon. Tortures souls in Hell. "
"Killed in S04E16 by Sam with powers.",
episodes={"S04": [9, 10, 15, 16]})
demon_alastair.clues = [MonstersClues.white_eyes, MonstersClues.demon_killing_knife_is_ineffective,
MonstersClues.immune_to_extrusion_by_people_with_abilities,
MonstersClues.immune_to_exorcism_of_an_angel]
demon_alastair.disable_methods = [MonstersDisableMethods.demon_killing_knife, MonstersDisableMethods.holy_water,
MonstersDisableMethods.reconnection_of_angel_with_its_grace,
MonstersDisableMethods.enochian_devils_trap,
MonstersDisableMethods.salt_or_salted_bullets]
demon_alastair.kill_methods = [MonstersKillMethods.will_of_a_person_with_abilities]
siren = Monster("Siren", description="Beautiful creatures, that prey on men, entice them with their siren song. "
"For men, they are perfect and they want to do anything for them. Sirens "
"lived on islands in the past. Has a venom in it's mouth. Can be killed with "
"it's own venom or the blood of the victim, that is under the spell.",
episodes={"S04": [14]})
siren.clues = [MonstersClues.people_dead_weirdly, MonstersClues.people_acting_weirdly,
MonstersClues.high_oxytocin_levels, MonstersClues.can_read_peoples_minds,
MonstersClues.real_appearance_can_be_seen_in_a_reflection_or_camera]
siren.kill_methods = [MonstersKillMethods.its_own_venom]
angel_zachariah = Monster("Angel Zachariah", description="High Tier Angel. Killed in S05E18 by Dean. "
"Zachariah from the alternate timeline appears in S13E14 "
"and is killed in the same episode by Jack + in S14E13 "
"and is killed by Sam.",
episodes={"S04": [17, 18, 22], "S05": [1, 4, 16, 18], "S13": [14], "S14": [13]})
angel_zachariah.clues = [MonstersClues.can_put_people_into_alternate_timelines, MonstersClues.can_repair_human_body,
MonstersClues.can_erase_and_bring_back_memories, MonstersClues.can_appear_out_of_thin_air,
MonstersClues.can_vanish, MonstersClues.can_give_people_diseases,
MonstersClues.telekinesis]
angel_zachariah.disable_methods = [MonstersDisableMethods.symbol_made_with_blood_against_angels]
angel_zachariah.kill_methods = [MonstersKillMethods.angel_blade]
prophet = Monster("Prophet of the Lord", description="A person that is gifted with the knowledge of the future. "
"Only one prophet can exist at a time. There are multiple "
"people in the world, that can become one if needed. Prophets "
"throughout the series: Chuck Shurley, Kevin Tran (Killed by "
"Gadreel in S09E09). Chuck came back in S10E05. Next Prophet, "
"that Winchesters encounter in S11E21 is professor Donatello "
"Redfield.",
episodes={"S04": [18, 22], "S05": [1, 9, 22], "S07": [21, 22, 23],
"S08": [1, 2, 7, 10, 14, 19, 21, 23], "S09": [2, 6, 9], "S10": [5], "S11": [21, 22],
"S13": [2, 7, 13, 14, 20], "S14": [12, 15, 17], "S15": [8]})
prophet.clues = [MonstersClues.can_see_future, MonstersClues.protected_by_an_archangel, MonstersClues.visions,
MonstersClues.can_repair_broken_word_of_god, MonstersClues.can_read_word_of_god,
MonstersClues.weird_weather, MonstersClues.missing_or_dead_people_regularly_in_different_areas,
MonstersClues.marks_on_victims_bodies, MonstersClues.people_dead_weirdly,
MonstersClues.missing_or_dead_people_in_similar_way_randomly_across_time_in_the_same_area]
prophet.kill_methods = [MonstersKillMethods.will_of_an_angel, MonstersKillMethods.like_any_human]
archangel = Monster("Archangel", description="They are heaven's most terrifying weapon. "
"They are fierce and absolute.", episodes={"S04": [22]})
archangel.clues = [MonstersClues.small_earth_quake, MonstersClues.bright_light]
archangel_raphael = Monster("Archangel Raphael", description="One of the Archangels of God. Wanted to bring the "
"Apocalypse. Killed by Castiel in S06E22.",
episodes={"S04": [18], "S05": [3], "S06": [3, 15, 20, 22]})
archangel_raphael.clues = [MonstersClues.small_earth_quake, MonstersClues.bright_light, MonstersClues.invulnerable,
MonstersClues.can_vanish, MonstersClues.can_hurt_people_with_a_thought,
MonstersClues.telekinesis]
archangel_raphael.disable_methods = [MonstersDisableMethods.holy_oil]
archangel_raphael.kill_methods = [MonstersKillMethods.archangel_blade,
MonstersKillMethods.will_of_an_angel_on_soul_juice]
ghoul = Monster("Ghoul", description="Ghoul is a creature, that feeds on dead people. It can take the form of a "
"person that it ate with all memories and thoughts.",
episodes={"S04": [19], "S06": [10], "S13": [6]})
ghoul.clues = [MonstersClues.empty_graves, MonstersClues.body_torn_apart, MonstersClues.missing_body,
MonstersClues.missing_or_dead_people_in_similar_way_randomly_across_time_in_the_same_area,
MonstersClues.holy_water_does_not_affect_it, MonstersClues.silver_does_not_affect_it,
MonstersClues.moves_fast, MonstersClues.bite_marks, MonstersClues.people_dead_weirdly,
MonstersClues.high_strength]
ghoul.kill_methods = [MonstersKillMethods.decapitation, MonstersKillMethods.head_shot]
archangel_lucyfer = Monster("Archangel - Lucyfer", description="Archangel, that disobeyed God when he requested to "
"bow before the men. To upset God he twisted one of "
"the people into Lilith. Lucyfer is released from "
"his Cage in S11 and is send back not to his cage "
"but to cage, where Crowley resides in S12E08. It "
"is revealed, that the Cage is not the place where "
"Lucyfer is in S12E12. Lucyfer is stuck in "
"Alternate timeline in S12E23, back in S13E07. "
"Trapped in Apocalypse World in S13E22, but back in "
"S13E23. Can consume Nephilim Grace and be more "
"powerful. With that power he can kill Archangels "
"with hand on forehead. Killed by Dean in S13E23. "
"Seen again in Empty in S14E07. Lucyfer is brought "
"back by GOD in S15E19 and is killed by Archangel "
"Michael in the same episode.",
episodes={"S04": [22], "S05": [1, 3, 4, 10, 19, 22], "S07": [1, 2, 15, 17],
"S11": [9, 10, 11, 14, 15, 18, 21, 22],
"S12": [2, 3, 7, 8, 12, 13, 15, 17, 19, 21, 23],
"S13": [1, 2, 7, 12, 13, 18, 21, 22, 23], "S14": [7, 17], "S15": [19]})
archangel_lucyfer.clues = [MonstersClues.weird_things_behavior, MonstersClues.true_voice_can_hurt_people,
MonstersClues.bright_light, MonstersClues.weird_weather, MonstersClues.visions,
MonstersClues.people_seeing_strange_things, MonstersClues.biblical_like_events,
MonstersClues.people_hear_voices, MonstersClues.can_read_peoples_minds,
MonstersClues.can_make_themselves_appear_as_they_like, MonstersClues.cold_spots,
MonstersClues.can_give_hallucinations, MonstersClues.can_vanish, MonstersClues.red_eyes,
MonstersClues.can_appear_out_of_thin_air, MonstersClues.can_contact_a_person_in_a_dream,
MonstersClues.missing_or_dead_people_in_similar_way_randomly_across_time_in_the_same_area,
MonstersClues.immune_to_colt_of_colt, MonstersClues.temperature_fluctuations,
MonstersClues.flashing_lights, MonstersClues.telekinesis, MonstersClues.double_tongue,
MonstersClues.weird_fire_spontaneous_combustion, MonstersClues.revelation_omens,
MonstersClues.can_go_and_put_into_a_persons_mind, MonstersClues.can_posses_an_angel,
MonstersClues.high_strength, MonstersClues.invulnerable, MonstersClues.can_time_travel,
MonstersClues.can_send_people_to_the_past, MonstersClues.people_dead_weirdly,
MonstersClues.travels_as_white_fog, MonstersClues.weird_electronics_behavior,
MonstersClues.can_repair_human_body, MonstersClues.has_wings, MonstersClues.burned_eyes,
MonstersClues.bible_burns_it, MonstersClues.burned_people, MonstersClues.cut_throat,
MonstersClues.angel_blade_is_ineffective, MonstersClues.can_eat_angelic_grace,
MonstersClues.can_teleport_angels, MonstersClues.can_kill_humans_with_a_thought,
MonstersClues.can_bring_back_dead_people, MonstersClues.small_earth_quake,
MonstersClues.people_burned_on_the_ceiling,
MonstersClues.in_true_form_burns_eyes_of_people]
archangel_lucyfer.disable_methods = [MonstersDisableMethods.cage_of_lucyfer_in_hell,
MonstersDisableMethods.colt_of_colt_with_magic_bullets,
MonstersDisableMethods.symbol_made_with_blood_against_angels,
MonstersDisableMethods.hand_of_god, MonstersDisableMethods.holy_oil,
MonstersDisableMethods.angel_knuckle_duster]
archangel_lucyfer.kill_methods = [MonstersKillMethods.archangel_blade, MonstersKillMethods.the_darkness]
# ------------------------------------------------ ALL EPISODES DONE -----------------------------------------------
# ---------------------------------------------------- SEASON 5 ----------------------------------------------------
archangel_michael = Monster("Archangel - Michael", description="He commands the heavenly host. He was the one, who "
"brought down Lucifer to Hell. He did it with his "
"sword (Sword of Archangel Michael). Can kill other "
"angels with a touch. Another Michael exists in "
"alternate timeline. Alternate Timeline Michael is "
"killed by Jack in S14E14. Michael is killed in "
"S15E19 by GOD.",
episodes={"S05": [4, 13, 18, 22], "S13": [2, 7, 14, 22, 23], "S14": [1, 2, 3, 9, 10, 14],
"S15": [8, 19]})
archangel_michael.clues = [MonstersClues.can_put_a_person_to_sleep, MonstersClues.can_erase_and_bring_back_memories,
MonstersClues.can_send_people_back_to_their_time, MonstersClues.can_repair_human_body,
MonstersClues.can_kill_angels_with_a_touch, MonstersClues.travels_as_white_fog,
MonstersClues.can_go_and_put_into_a_persons_mind, MonstersClues.flashing_lights,
MonstersClues.small_earth_quake, MonstersClues.can_sense_number_of_angels_in_the_world,
MonstersClues.telekinesis, MonstersClues.burned_eyes, MonstersClues.people_dead_weirdly,
MonstersClues.missing_or_dead_people_in_similar_way_randomly_across_time_in_the_same_area,
MonstersClues.has_wings, MonstersClues.can_see_real_appearance_of_entities,
MonstersClues.falling_meteor, MonstersClues.bright_eyes, MonstersClues.can_vanish,
MonstersClues.can_appear_out_of_thin_air, MonstersClues.can_open_rift_to_purgatory,
MonstersClues.can_kill_demons_with_power_of_will]
archangel_michael.disable_methods = [MonstersDisableMethods.holy_oil, MonstersDisableMethods.bad_place_spear,
MonstersDisableMethods.cage_of_lucyfer_in_hell,
MonstersDisableMethods.enochian_handcuffs,
MonstersDisableMethods.sword_of_michael_mind,
MonstersDisableMethods.symbol_made_with_blood_against_angels]
archangel_michael.kill_methods = [MonstersKillMethods.archangel_blade, MonstersKillMethods.will_of_a_nephilim,
MonstersKillMethods.will_of_god]
god = Monster("THE GOD", description="The light, the beginning of everything. Brother of the Darkness. A being "
"with almost unlimited power. Only mentioned for now. According to Death - he "
"will die too some day by Death's hand (S05E21). At the end of the S05E22 "
"Chuck disappears, hinting he is THE God. His voice can be heard "
"in S07E01 talking to Castiel. In S11E20 it is revealed, that Chuck Shurley "
"is GOD. According to GOD, he is being, Amara is nothingness. HE created "
"life, because he was lonely. Whenever he created a new world, Amara would "
"destroy it. GOD is heavily weakened by the Darkness in S11E22. In S15E19 GOD "
"becomes human - looses his power to Jack.",
episodes={"S11": [4, 20, 21, 22, 23], "S14": [20], "S15": [2, 4, 8, 9, 12, 17, 19]})
god.clues = [MonstersClues.can_bring_back_dead_angels, MonstersClues.can_teleport_people, MonstersClues.can_vanish,
MonstersClues.shining_of_magic_amulet, MonstersClues.visions, MonstersClues.can_appear_out_of_thin_air,
MonstersClues.can_bring_back_angelic_grace, MonstersClues.knows_past, MonstersClues.can_kill_nephilim,
MonstersClues.can_make_themselves_appear_as_they_like, MonstersClues.weird_electronics_behavior,
MonstersClues.weird_things_behavior, MonstersClues.things_disappearing, MonstersClues.telekinesis,
MonstersClues.travels_as_white_fog, MonstersClues.can_repair_an_archangel, MonstersClues.burned_eyes,
MonstersClues.can_teleport_angels, MonstersClues.can_control_electronics, MonstersClues.invulnerable,
MonstersClues.can_give_others_knowledge, MonstersClues.people_cured_miraculously,
MonstersClues.people_dead_weirdly, MonstersClues.can_posses_a_person, MonstersClues.high_strength,
MonstersClues.lack_of_body_control, MonstersClues.can_hurt_people_with_a_thought]
god.disable_methods = [MonstersDisableMethods.darkness_powers, MonstersDisableMethods.god_gun,
MonstersDisableMethods.power_of_nephilim_on_juice]
god.kill_methods = [MonstersKillMethods.the_darkness]
horseman_war = Monster("Horseman War", description="One of the four horseman. Can give people hallucinations with "
"his ring. The ring is a source of his power.",
episodes={"S05": [2]})
horseman_war.clues = [MonstersClues.people_dead_weirdly, MonstersClues.people_acting_weirdly,
MonstersClues.black_eyes, MonstersClues.salt_does_not_affect_it,
MonstersClues.people_seeing_strange_things, MonstersClues.immune_to_exorcism,
MonstersClues.can_take_form_of_other_people, MonstersClues.can_read_peoples_minds,
MonstersClues.can_give_hallucinations]
horseman_war.disable_methods = [MonstersDisableMethods.demon_killing_knife]
pagan_god_leshii = Monster("Pagan god Leshi", description="Guardian of the forest in Balkan legends. He is "
"a mischievous god and can take infinite forms. Can only "
"be pleased with the blood of his worshippers. He would "
"drain them, then stuff their stomachs with seeds. "
"Killed in S05E05 by Sam.",
episodes={"S05": [5]})
pagan_god_leshii.clues = [MonstersClues.weird_electronics_behavior, MonstersClues.weird_things_behavior,
MonstersClues.cold_spots, MonstersClues.can_make_themselves_appear_as_they_like,
MonstersClues.people_seeing_things_or_figures, MonstersClues.people_dead_weirdly,
MonstersClues.seeds_in_victims_stomachs, MonstersClues.can_read_peoples_minds]
pagan_god_leshii.kill_methods = [MonstersKillMethods.chop_a_head_off_with_an_iron_axe]
antichrist = Monster("Antichrist", description="Also known as Cambion or Katako. Half-demon, half-human, "
"but far more powerful than any of them. Can make real, "
"whatever comes to his mind.",
episodes={"S05": [6]})
antichrist.clues = [MonstersClues.claws, MonstersClues.animal_like_attack, MonstersClues.no_cold_spots,
MonstersClues.people_dead_weirdly, MonstersClues.strange_different_things_happening,
MonstersClues.no_sulfur, MonstersClues.can_exorcise_demons_with_a_thought,
MonstersClues.telekinesis, MonstersClues.can_vanish]
demon_crowley = Monster("Demon - Crowley", description="Crossroads demon in S05. King of Hell in S06. According to "
"a crossroads demon, he's real name is Fergus Rodric "
"MacLeod. He was born in Canisbay, Scotland 1661. "
"Supposedly died in S06E10, but in S06E19 it is revealed he "
"was working with Castiel. Crowley sacrifices himself to "
"close the portal in S12E23.",
episodes={"S05": [10, 20, 21], "S06": [4, 7, 8, 10, 19, 20, 21, 22],
"S07": [1, 6, 8, 22, 23], "S08": [1, 2, 7, 10, 17, 19, 21, 22, 23],
"S09": [2, 4, 6, 10, 11, 16, 17, 21, 23],
"S10": [1, 2, 3, 7, 9, 10, 14, 16, 17, 21, 22, 23],
"S11": [1, 2, 3, 6, 9, 10, 14, 15, 18, 22, 23],
"S12": [1, 2, 3, 7, 8, 9, 12, 13, 15, 17, 21, 23]})
demon_crowley.clues = [MonstersClues.can_vanish, MonstersClues.pact_sealed_with_a_kiss, MonstersClues.telekinesis,
MonstersClues.summoned_by_placing_box_in_the_crossroads, MonstersClues.small_earth_quake,
MonstersClues.victims_got_better_at_something_up_to_ten_years_earlier,
MonstersClues.can_appear_out_of_thin_air, MonstersClues.can_control_electronics,
MonstersClues.weird_fire_spontaneous_combustion, MonstersClues.can_become_invisible,
MonstersClues.can_bring_back_dead_people, MonstersClues.can_give_people_diseases,
MonstersClues.cannot_be_exorcised_by_an_angel_with_hand_on_forehead_when_protected_by_an_archangel,
MonstersClues.can_create_fire_large_temperatures, MonstersClues.travels_as_red_fog,
MonstersClues.red_eyes, MonstersClues.can_posses_a_person_possessed_by_an_angel,
MonstersClues.can_give_hallucinations, MonstersClues.burned_by_holy_water,
MonstersClues.can_give_others_knowledge, MonstersClues.can_posses_an_archangel,
MonstersClues.can_teleport_people, MonstersClues.can_posses_an_animal]
demon_crowley.disable_methods = [MonstersDisableMethods.devils_trap, MonstersDisableMethods.will_of_an_archangel,
MonstersDisableMethods.demonic_handcuffs, MonstersDisableMethods.darkness_powers,
MonstersDisableMethods.rowenas_immobilization_spell,
MonstersDisableMethods.holy_water, MonstersDisableMethods.angel_blade,
MonstersDisableMethods.demon_killing_knife]
demon_crowley.kill_methods = [MonstersKillMethods.angel_blade]
reaper_death = Monster("Reaper - Death", description="One of the Horseman, the pale rider. Angel of Death. "
"Can be brought to the Earth at midnight through a place of "
"awful carnage. Summoned in S05E10 and his actions seen "
"in S05E15. According to Reaper Billie, this reality has a "
"rule, that states, if a Reaper Death dies, next reaper to "
"die, takes his place.",
episodes={"S05": [21], "S06": [11], "S07": [1], "S09": [1], "S10": [23]})
reaper_death.clues = [MonstersClues.number_of_reapers_appearing, MonstersClues.can_bring_back_dead_people,
MonstersClues.can_kill_people_with_a_thought, MonstersClues.people_dead_weirdly,
MonstersClues.can_appear_out_of_thin_air, MonstersClues.can_put_a_soul_back_to_a_body,
MonstersClues.can_go_to_lucifers_cage_and_back_with_ease]