mirror of
https://github.com/magefree/mage.git
synced 2025-12-23 03:51:58 -08:00
refactored targets
This commit is contained in:
parent
37cec55493
commit
5c01b832b9
16 changed files with 46 additions and 48 deletions
|
|
@ -86,12 +86,12 @@ class FireballEffect extends OneShotEffect<FireballEffect> {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
int numTargets = source.getTargets().get(0).getTargets().size();
|
||||
int numTargets = targetPointer.getTargets(source).size();
|
||||
int damage = source.getManaCostsToPay().getX();
|
||||
if (numTargets > 0) {
|
||||
int damagePer = damage/numTargets;
|
||||
if (damagePer > 0) {
|
||||
for (UUID targetId: source.getTargets().get(0).getTargets()) {
|
||||
for (UUID targetId: targetPointer.getTargets(source)) {
|
||||
Permanent permanent = game.getPermanent(targetId);
|
||||
if (permanent != null) {
|
||||
permanent.damage(damagePer, source.getSourceId(), game, true, false);
|
||||
|
|
|
|||
|
|
@ -88,13 +88,10 @@ class MorbidPlunderEffect extends OneShotEffect<MorbidPlunderEffect> {
|
|||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
boolean result = false;
|
||||
List<UUID> targets = source.getTargets().get(0).getTargets();
|
||||
if (targets.size() > 0) {
|
||||
for (UUID target : targets) {
|
||||
Card card = game.getCard(target);
|
||||
if (card != null) {
|
||||
result |= card.moveToZone(Zone.HAND, source.getId(), game, true);
|
||||
}
|
||||
for (UUID target : targetPointer.getTargets(source)) {
|
||||
Card card = game.getCard(target);
|
||||
if (card != null) {
|
||||
result |= card.moveToZone(Zone.HAND, source.getId(), game, true);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ class ArcTrailEffect extends OneShotEffect {
|
|||
boolean twoDamageDone = false;
|
||||
int damage = 2;
|
||||
|
||||
for ( UUID target : source.getTargets().get(0).getTargets() ) {
|
||||
for ( UUID target : targetPointer.getTargets(source) ) {
|
||||
Permanent permanent = game.getPermanent(target);
|
||||
|
||||
if ( twoDamageDone ) {
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ class FulgentDistractionEffect extends OneShotEffect<FulgentDistractionEffect> {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
for ( UUID target : source.getTargets().get(0).getTargets() ) {
|
||||
for ( UUID target : targetPointer.getTargets(source) ) {
|
||||
Permanent creature = game.getPermanent(target);
|
||||
|
||||
List<UUID> copiedAttachments = new ArrayList<UUID>(creature.getAttachments());
|
||||
|
|
|
|||
|
|
@ -174,7 +174,7 @@ class LiegeOfTheTangleEffect extends ContinuousEffectImpl<LiegeOfTheTangleEffect
|
|||
public void init(Ability source, Game game) {
|
||||
super.init(source, game);
|
||||
if (this.affectedObjectsSet) {
|
||||
for (UUID permId: source.getTargets().get(0).getTargets()) {
|
||||
for (UUID permId: targetPointer.getTargets(source)) {
|
||||
objects.add(permId);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ class RustTickTapTargetEffect extends TapTargetEffect {
|
|||
public boolean apply(Game game, Ability source) {
|
||||
Permanent rustTick = game.getPermanent(source.getSourceId());
|
||||
if (rustTick != null) rustTick.clearConnectedCards();
|
||||
for (UUID target : source.getTargets().get(0).getTargets()) {
|
||||
for (UUID target : targetPointer.getTargets(source)) {
|
||||
Permanent permanent = game.getPermanent(target);
|
||||
if (permanent != null) {
|
||||
rustTick.addConnectedCard(permanent.getId());
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ class KhalniGemReturnToHandTargetEffect extends OneShotEffect<KhalniGemReturnToH
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
for ( UUID target : source.getTargets().get(0).getTargets() ) {
|
||||
for ( UUID target : targetPointer.getTargets(source) ) {
|
||||
Permanent permanent = game.getPermanent(target);
|
||||
if ( permanent != null ) {
|
||||
permanent.moveToZone(Zone.HAND, source.getId(), game, true);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue