Fix basic trials not rewarding materials

This commit is contained in:
Melledy
2025-10-29 20:49:34 -07:00
parent d024ab62a8
commit e002bec13a
13 changed files with 147 additions and 57 deletions

View File

@@ -15,6 +15,14 @@ public interface InstanceData {
public ItemParamMap getRewards();
public default ItemParamMap getFirstRewards(int rewardType) {
return this.getFirstRewards();
}
public default ItemParamMap getRewards(int rewardType) {
return this.getRewards();
}
/**
* Checks if the player has enough energy to complete this instance
* @return true if the player has enough energy

View File

@@ -19,7 +19,6 @@ import emu.nebula.proto.Public.WeekBossLevel;
import it.unimi.dsi.fastutil.ints.Int2IntMap;
import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap;
import lombok.Getter;
import lombok.Setter;
@Getter
@Entity(value = "instances", useDiscriminator = false)
@@ -33,8 +32,8 @@ public class InstanceManager extends PlayerManager implements GameDatabaseObject
private Int2IntMap charGemLog;
private Int2IntMap weekBossLog;
@Setter
private transient int curInstanceId;
private transient int rewardType;
@Deprecated // Morphia
public InstanceManager() {
@@ -54,6 +53,15 @@ public class InstanceManager extends PlayerManager implements GameDatabaseObject
this.save();
}
public void setCurInstanceId(int id) {
this.setCurInstanceId(id, 0);
}
public void setCurInstanceId(int id, int rewardType) {
this.curInstanceId = id;
this.rewardType = rewardType;
}
public void saveInstanceLog(Int2IntMap log, String logName, int id, int newStar) {
// Get current star
int star = log.get(id);