22
33import mage .abilities .Ability ;
44import mage .abilities .common .SagaAbility ;
5- import mage .abilities .dynamicvalue .DynamicValue ;
6- import mage .abilities .effects .Effect ;
5+ import mage .abilities .dynamicvalue .common .CountersSourceCount ;
76import mage .abilities .effects .OneShotEffect ;
87import mage .abilities .effects .common .CreateTokenEffect ;
98import mage .abilities .effects .common .DestroyAllEffect ;
1918import mage .game .Game ;
2019import mage .game .events .GameEvent ;
2120import mage .game .events .ZoneChangeEvent ;
22- import mage .game .permanent .Permanent ;
2321import mage .game .permanent .token .DalekToken ;
2422import mage .players .Player ;
2523import mage .target .common .TargetOpponent ;
@@ -44,7 +42,7 @@ public GenesisOfTheDaleks(UUID ownerId, CardSetInfo setInfo) {
4442 // I, II, III -- Create a 3/3 black Dalek artifact creature token with menace for each lore counter on Genesis of the Daleks.
4543 sagaAbility .addChapterEffect (
4644 this , SagaChapter .CHAPTER_I , SagaChapter .CHAPTER_III ,
47- new CreateTokenEffect (new DalekToken (), GenesisOfTheDaleksValue . instance )
45+ new CreateTokenEffect (new DalekToken (), new CountersSourceCount ( CounterType . LORE ) )
4846 );
4947
5048 // IV -- Target opponent faces a villainous choice -- Destroy all Dalek creatures and each of your opponents loses life equal to the total power of Daleks that died this turn, or destroy all non-Dalek creatures.
@@ -65,41 +63,6 @@ public GenesisOfTheDaleks copy() {
6563 }
6664}
6765
68- enum GenesisOfTheDaleksValue implements DynamicValue {
69- instance ;
70-
71- @ Override
72- public int calculate (Game game , Ability sourceAbility , Effect effect ) {
73- Permanent permanent = sourceAbility .getSourcePermanentOrLKI (game );
74- if (permanent != null ) {
75- return permanent
76- .getCounters (game )
77- .getCount (CounterType .LORE );
78- }
79- return Optional
80- .ofNullable (sourceAbility )
81- .map (Ability ::getSourceId )
82- .map (game ::getPermanentOrLKIBattlefield )
83- .map (p -> p .getCounters (game ).getCount (CounterType .LORE ))
84- .orElse (0 );
85- }
86-
87- @ Override
88- public GenesisOfTheDaleksValue copy () {
89- return this ;
90- }
91-
92- @ Override
93- public String getMessage () {
94- return "lore counter on {this}" ;
95- }
96-
97- @ Override
98- public String toString () {
99- return "1" ;
100- }
101- }
102-
10366class GenesisOfTheDaleksEffect extends OneShotEffect {
10467
10568 private static final FaceVillainousChoice choice = new FaceVillainousChoice (
0 commit comments