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
|
|
@ -20,6 +20,7 @@ import mage.counters.CounterType;
|
|||
import mage.designations.Designation;
|
||||
import mage.filter.FilterMana;
|
||||
import mage.game.Game;
|
||||
import mage.game.command.Dungeon;
|
||||
import mage.game.command.Emblem;
|
||||
import mage.game.command.Plane;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
|
@ -579,6 +580,11 @@ public class CardView extends SimpleCardView {
|
|||
Emblem emblem = (Emblem) object;
|
||||
this.rarity = Rarity.SPECIAL;
|
||||
this.rules = emblem.getAbilities().getRules(emblem.getName());
|
||||
} else if (object instanceof Dungeon) {
|
||||
this.mageObjectType = MageObjectType.DUNGEON;
|
||||
Dungeon dungeon = (Dungeon) object;
|
||||
this.rarity = Rarity.SPECIAL;
|
||||
this.rules = dungeon.getRules();
|
||||
} else if (object instanceof Plane) {
|
||||
this.mageObjectType = MageObjectType.PLANE;
|
||||
Plane plane = (Plane) object;
|
||||
|
|
@ -631,6 +637,21 @@ public class CardView extends SimpleCardView {
|
|||
this.rarity = Rarity.COMMON;
|
||||
}
|
||||
|
||||
public CardView(DungeonView dungeon) {
|
||||
this(true);
|
||||
this.gameObject = true;
|
||||
this.id = dungeon.getId();
|
||||
this.mageObjectType = MageObjectType.DUNGEON;
|
||||
this.name = dungeon.getName();
|
||||
this.displayName = name;
|
||||
this.displayFullName = name;
|
||||
this.rules = dungeon.getRules();
|
||||
// emblem images are always with common (black) symbol
|
||||
this.frameStyle = FrameStyle.M15_NORMAL;
|
||||
this.expansionSetCode = dungeon.getExpansionSetCode();
|
||||
this.rarity = Rarity.COMMON;
|
||||
}
|
||||
|
||||
public CardView(PlaneView plane) {
|
||||
this(true);
|
||||
this.gameObject = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue