forked from External/mage
[AFR] Implementing dungeon mechanic (ready for review) (#7937)
* added dungeon and dungeon room class * [AFR] Implemented Tomb of Annihilation * [AFR] Implemented Shortcut Seeker * [AFR] Implemented Gloom Stalker * [AFR] Implemented Nadaar, Selfless Paladin * added room triggers * added more venturing code, currently untested * fixed error * moved venture into dungeon from player class to game class * removed unnecessary sourceobject from dungeon * fixed npe error * added dungeon completion * fixed concurrent modification exception * added logging * added proper copy methods * added views * updated room text generation * added some missing code * finished implementing CompletedDungeonCondition * [AFR] Implemented Ellywick Tumblestrum * [AFR] Implemented Lost Mine of Phandelver * added choice dialog for dungeons * [AFR] Implemented Dungeon of the Mad Mage * small text fix * added initial dungeon test * [AFR] Implemented Cloister Gargoyle * [AFR] Implemented Dungeon Crawler * small text change for dungeon rooms * added more tests * some simplification to dungeon props * updated testing helper functions * added currently failing test for venturing on separate steps and turns * added tests for dungeon completion * fixed missing trigger visual and dungeons not persisting through turns * some text updates * added rollback test * added a test for multiple dungeons at once * added one more condition test
This commit is contained in:
parent
c6d08ce344
commit
bb591dd038
42 changed files with 2481 additions and 144 deletions
|
|
@ -1,7 +1,10 @@
|
|||
package mage.client.deckeditor.collection.viewer;
|
||||
|
||||
import mage.abilities.icon.CardIconRenderSettings;
|
||||
import mage.cards.*;
|
||||
import mage.cards.CardDimensions;
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.cards.MageCard;
|
||||
import mage.cards.Sets;
|
||||
import mage.cards.repository.CardCriteria;
|
||||
import mage.cards.repository.CardInfo;
|
||||
import mage.cards.repository.CardRepository;
|
||||
|
|
@ -18,15 +21,13 @@ import mage.client.util.audio.AudioManager;
|
|||
import mage.client.util.sets.ConstructedFormats;
|
||||
import mage.components.ImagePanel;
|
||||
import mage.components.ImagePanelStyle;
|
||||
import mage.game.command.Dungeon;
|
||||
import mage.game.command.Emblem;
|
||||
import mage.game.command.Plane;
|
||||
import mage.game.draft.RateCard;
|
||||
import mage.game.permanent.PermanentToken;
|
||||
import mage.game.permanent.token.Token;
|
||||
import mage.view.CardView;
|
||||
import mage.view.EmblemView;
|
||||
import mage.view.PermanentView;
|
||||
import mage.view.PlaneView;
|
||||
import mage.view.*;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.card.arcane.ManaSymbols;
|
||||
import org.mage.plugins.card.images.CardDownloadData;
|
||||
|
|
@ -365,6 +366,8 @@ public class MageBook extends JComponent {
|
|||
addToken((Token) item, bigCard, null, position);
|
||||
} else if (item instanceof Emblem) {
|
||||
addEmblem((Emblem) item, bigCard, null, position);
|
||||
} else if (item instanceof Dungeon) {
|
||||
addDungeon((Dungeon) item, bigCard, null, position);
|
||||
} else if (item instanceof Plane) {
|
||||
addPlane((Plane) item, bigCard, null, position);
|
||||
} else {
|
||||
|
|
@ -430,6 +433,11 @@ public class MageBook extends JComponent {
|
|||
addCard(cardView, bigCard, gameId, rectangle, false);
|
||||
}
|
||||
|
||||
private void addDungeon(Dungeon dungeon, BigCard bigCard, UUID gameId, Rectangle rectangle) {
|
||||
CardView cardView = new CardView(new DungeonView(dungeon));
|
||||
addCard(cardView, bigCard, gameId, rectangle, false);
|
||||
}
|
||||
|
||||
private void addPlane(Plane plane, BigCard bigCard, UUID gameId, Rectangle rectangle) {
|
||||
CardView cardView = new CardView(new PlaneView(plane));
|
||||
addCard(cardView, bigCard, gameId, rectangle, false);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue