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() {
this.standardBanner = new PlayerGachaBannerInfo();
this.eventCharacterBanner = new PlayerGachaBannerInfo();
this.eventWeaponBanner = new PlayerGachaBannerInfo();
}
public PlayerGachaBannerInfo getStandardBanner() {
return standardBanner;
}
public PlayerGachaBannerInfo getEventCharacterBanner() { public PlayerGachaInfo() {
return eventCharacterBanner; this.standardBanner = new PlayerGachaBannerInfo();
} this.eventCharacterBanner = new PlayerGachaBannerInfo();
this.eventWeaponBanner = new PlayerGachaBannerInfo();
public PlayerGachaBannerInfo getEventWeaponBanner() { }
return eventWeaponBanner;
}
public PlayerGachaBannerInfo getBannerInfo(GachaBanner banner) { public PlayerGachaBannerInfo getStandardBanner() {
switch (banner.getBannerType()) { if (this.standardBanner == null) this.standardBanner = new PlayerGachaBannerInfo();
case EVENT: return this.standardBanner;
return this.eventCharacterBanner; }
case WEAPON:
return this.eventWeaponBanner; public PlayerGachaBannerInfo getBeginnerBanner() {
case STANDARD: if (this.beginnerBanner == null) this.beginnerBanner = new PlayerGachaBannerInfo();
default: return this.beginnerBanner;
return this.standardBanner; }
}
} public PlayerGachaBannerInfo getEventCharacterBanner() {
if (this.eventCharacterBanner == null) this.eventCharacterBanner = new PlayerGachaBannerInfo();
return this.eventCharacterBanner;
}
public PlayerGachaBannerInfo getEventWeaponBanner() {
if (this.eventWeaponBanner == null) this.eventWeaponBanner = new PlayerGachaBannerInfo();
return this.eventWeaponBanner;
}
public PlayerGachaBannerInfo getBannerInfo(GachaBanner banner) {
return switch (banner.getBannerType()) {
case STANDARD -> this.getStandardBanner();
case BEGINNER -> this.getBeginnerBanner();
case EVENT, CHARACTER, CHARACTER2 -> this.getEventCharacterBanner();
case WEAPON -> this.getEventWeaponBanner();
};
}
} }