[AFR] Implementing Class enchantments (ready for review) (#7992)

* [AFR] Implemented Druid Class

* [AFR] Implemented Wizard Class

* [AFR] Implemented Cleric Class

* [AFR] Implemented Fighter Class

* reworked class ability implementation

* fixed an error with setting class level

* small reworking of class triggers

* added class level hint

* added tests

* small change

* added common class for reminder text
This commit is contained in:
Evan Kranzler 2021-07-14 09:17:07 -04:00 committed by GitHub
parent d00765c2d5
commit 5b88484cb6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 884 additions and 5 deletions

View file

@ -72,6 +72,7 @@ public abstract class PermanentImpl extends CardImpl implements Permanent {
protected boolean renowned;
protected boolean manifested = false;
protected boolean morphed = false;
protected int classLevel = 1;
protected UUID originalControllerId;
protected UUID controllerId;
protected UUID beforeResetControllerId;
@ -163,6 +164,7 @@ public abstract class PermanentImpl extends CardImpl implements Permanent {
this.transformed = permanent.transformed;
this.monstrous = permanent.monstrous;
this.renowned = permanent.renowned;
this.classLevel = permanent.classLevel;
this.pairedPermanent = permanent.pairedPermanent;
this.bandedCards.addAll(permanent.bandedCards);
this.timesLoyaltyUsed = permanent.timesLoyaltyUsed;
@ -1519,6 +1521,20 @@ public abstract class PermanentImpl extends CardImpl implements Permanent {
this.renowned = value;
}
@Override
public int getClassLevel() {
return classLevel;
}
@Override
public boolean setClassLevel(int classLevel) {
if (this.classLevel == classLevel - 1) {
this.classLevel = classLevel;
return true;
}
return false;
}
@Override
public void setPairedCard(MageObjectReference pairedCard) {
this.pairedPermanent = pairedCard;