mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
New feature: "Chaos Remixed" booster draft (#10328)
* Fix error in draft pick logger that was failing on chaos drafts with fewer than 3 sets * Implement Remixed Booster Draft * Add debug test * minor cleanup * Cleanup unnecessary checks * Fix elimination tournament type * Add note for future improvement
This commit is contained in:
parent
6d4e353867
commit
4cc9329b15
20 changed files with 437 additions and 47 deletions
|
|
@ -18,7 +18,7 @@ public class RandomBoosterDraftEliminationTournamentType extends TournamentType
|
|||
this.draft = true;
|
||||
this.limited = true;
|
||||
this.cubeBooster = false;
|
||||
this.elimination = false;
|
||||
this.elimination = true;
|
||||
this.isRandom = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
package mage.tournament;
|
||||
|
||||
import mage.constants.TournamentPlayerState;
|
||||
import mage.game.draft.DraftOptions;
|
||||
import mage.game.draft.RemixedBoosterDraft;
|
||||
import mage.game.events.TableEvent;
|
||||
import mage.game.tournament.TournamentOptions;
|
||||
import mage.game.tournament.TournamentPlayer;
|
||||
|
||||
public class RemixedBoosterDraftEliminationTournament extends BoosterDraftEliminationTournament {
|
||||
|
||||
public RemixedBoosterDraftEliminationTournament(TournamentOptions options) {
|
||||
super(options);
|
||||
currentStep = TournamentStep.START;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void draft() {
|
||||
draft = new RemixedBoosterDraft((DraftOptions) options.getLimitedOptions(), getSets());
|
||||
for (TournamentPlayer player: players.values()) {
|
||||
draft.addPlayer(player.getPlayer());
|
||||
player.setState(TournamentPlayerState.DRAFTING);
|
||||
}
|
||||
tableEventSource.fireTableEvent(TableEvent.EventType.START_DRAFT, null, draft);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
|
||||
package mage.tournament;
|
||||
|
||||
import mage.game.tournament.TournamentType;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class RemixedBoosterDraftEliminationTournamentType extends TournamentType {
|
||||
|
||||
public RemixedBoosterDraftEliminationTournamentType() {
|
||||
this.name = "Booster Draft Elimination (Remixed)";
|
||||
this.maxPlayers = 16;
|
||||
this.minPlayers = 4;
|
||||
this.numBoosters = 3;
|
||||
this.draft = true;
|
||||
this.limited = true;
|
||||
this.cubeBooster = false;
|
||||
this.elimination = true;
|
||||
this.isRemixed = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package mage.tournament;
|
||||
|
||||
import mage.constants.TournamentPlayerState;
|
||||
import mage.game.draft.DraftOptions;
|
||||
import mage.game.draft.RemixedBoosterDraft;
|
||||
import mage.game.events.TableEvent;
|
||||
import mage.game.tournament.TournamentOptions;
|
||||
import mage.game.tournament.TournamentPlayer;
|
||||
|
||||
public class RemixedBoosterDraftSwissTournament extends BoosterDraftSwissTournament {
|
||||
|
||||
public RemixedBoosterDraftSwissTournament(TournamentOptions options) {
|
||||
super(options);
|
||||
currentStep = BoosterDraftSwissTournament.TournamentStep.START;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void draft() {
|
||||
draft = new RemixedBoosterDraft((DraftOptions) options.getLimitedOptions(), getSets());
|
||||
for (TournamentPlayer player: players.values()) {
|
||||
draft.addPlayer(player.getPlayer());
|
||||
player.setState(TournamentPlayerState.DRAFTING);
|
||||
}
|
||||
tableEventSource.fireTableEvent(TableEvent.EventType.START_DRAFT, null, draft);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
|
||||
package mage.tournament;
|
||||
|
||||
import mage.game.tournament.TournamentType;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public class RemixedBoosterDraftSwissTournamentType extends TournamentType {
|
||||
|
||||
public RemixedBoosterDraftSwissTournamentType() {
|
||||
this.name = "Booster Draft Swiss (Remixed)";
|
||||
this.maxPlayers = 16;
|
||||
this.minPlayers = 4;
|
||||
this.numBoosters = 3;
|
||||
this.draft = true;
|
||||
this.limited = true;
|
||||
this.cubeBooster = false;
|
||||
this.elimination = false;
|
||||
this.isRemixed = true;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue