Skip to content

Commit 2e7f91c

Browse files
committed
Allow RememberTarget to be added to when Single target or other immutable targets are used
1 parent cb2735b commit 2e7f91c

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

src/main/java/studio/magemonkey/fabled/dynamic/mechanic/RememberTargetsMechanic.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,14 @@
3030
import studio.magemonkey.fabled.api.CastData;
3131
import studio.magemonkey.fabled.dynamic.DynamicSkill;
3232

33+
import java.util.ArrayList;
3334
import java.util.List;
3435

3536
/**
3637
* Applies a flag to each target
3738
*/
3839
public class RememberTargetsMechanic extends MechanicComponent {
39-
private static final String KEY = "key";
40+
private static final String KEY = "key";
4041
private static final String OVERWRITE = "overwrite";
4142

4243
@Override
@@ -59,17 +60,17 @@ public boolean execute(LivingEntity caster, int level, List<LivingEntity> target
5960
return false;
6061
}
6162

62-
String key = settings.getString(KEY);
63-
boolean overwrite = settings.getBool(OVERWRITE, true);
64-
CastData castData = DynamicSkill.getCastData(caster);
65-
Object rawTargets = castData.getRaw(key);
63+
String key = settings.getString(KEY);
64+
boolean overwrite = settings.getBool(OVERWRITE, true);
65+
CastData castData = DynamicSkill.getCastData(caster);
66+
Object rawTargets = castData.getRaw(key);
6667

6768
if (!overwrite && rawTargets instanceof List<?>) {
6869
@SuppressWarnings("unchecked")
6970
List<LivingEntity> originalTargets = (List<LivingEntity>) rawTargets;
7071
originalTargets.addAll(targets);
7172
} else {
72-
castData.put(key, targets);
73+
castData.put(key, new ArrayList<>(targets));
7374
}
7475
return true;
7576
}

0 commit comments

Comments
 (0)