Fix up pity tallies for new BannerTypes

Also fixes Beginner banner using Standard pity.
This commit is contained in:
AnimeGitB 2022-11-26 02:03:11 +10:30
parent 83b84408a1
commit 100d08ec5d

View File

@ -4,37 +4,43 @@ import dev.morphia.annotations.Entity;
@Entity @Entity
public class PlayerGachaInfo { public class PlayerGachaInfo {
private PlayerGachaBannerInfo standardBanner; private PlayerGachaBannerInfo standardBanner;
private PlayerGachaBannerInfo eventCharacterBanner; private PlayerGachaBannerInfo beginnerBanner;
private PlayerGachaBannerInfo eventWeaponBanner; private PlayerGachaBannerInfo eventCharacterBanner;
private PlayerGachaBannerInfo eventWeaponBanner;
public PlayerGachaInfo() { public PlayerGachaInfo() {
this.standardBanner = new PlayerGachaBannerInfo(); this.standardBanner = new PlayerGachaBannerInfo();
this.eventCharacterBanner = new PlayerGachaBannerInfo(); this.eventCharacterBanner = new PlayerGachaBannerInfo();
this.eventWeaponBanner = new PlayerGachaBannerInfo(); this.eventWeaponBanner = new PlayerGachaBannerInfo();
} }
public PlayerGachaBannerInfo getStandardBanner() { public PlayerGachaBannerInfo getStandardBanner() {
return standardBanner; if (this.standardBanner == null) this.standardBanner = new PlayerGachaBannerInfo();
} return this.standardBanner;
}
public PlayerGachaBannerInfo getEventCharacterBanner() { public PlayerGachaBannerInfo getBeginnerBanner() {
return eventCharacterBanner; if (this.beginnerBanner == null) this.beginnerBanner = new PlayerGachaBannerInfo();
} return this.beginnerBanner;
}
public PlayerGachaBannerInfo getEventWeaponBanner() { public PlayerGachaBannerInfo getEventCharacterBanner() {
return eventWeaponBanner; if (this.eventCharacterBanner == null) this.eventCharacterBanner = new PlayerGachaBannerInfo();
} return this.eventCharacterBanner;
}
public PlayerGachaBannerInfo getBannerInfo(GachaBanner banner) { public PlayerGachaBannerInfo getEventWeaponBanner() {
switch (banner.getBannerType()) { if (this.eventWeaponBanner == null) this.eventWeaponBanner = new PlayerGachaBannerInfo();
case EVENT: return this.eventWeaponBanner;
return this.eventCharacterBanner; }
case WEAPON:
return this.eventWeaponBanner; public PlayerGachaBannerInfo getBannerInfo(GachaBanner banner) {
case STANDARD: return switch (banner.getBannerType()) {
default: case STANDARD -> this.getStandardBanner();
return this.standardBanner; case BEGINNER -> this.getBeginnerBanner();
} case EVENT, CHARACTER, CHARACTER2 -> this.getEventCharacterBanner();
} case WEAPON -> this.getEventWeaponBanner();
};
}
} }