Refactor avatar skilldepot and constellation/talent changing

Ensures Traveler retains talent levels and constellations on inactive elements when switching elements.
Relevant for any other skillDepot-changing activities like Windtrace too, though keeping those in the db might not be as useful.

Refactor avatar talent upgrade and access
Refactor skillExtraCharges
This commit is contained in:
AnimeGitB
2022-08-17 19:48:41 +09:30
Unverified
parent 78b7fb70ac
commit fb1bacb0f8
14 changed files with 399 additions and 476 deletions
@@ -1,6 +1,7 @@
package emu.grasscutter.data.excels;
import java.util.List;
import java.util.stream.IntStream;
import emu.grasscutter.data.GameData;
import emu.grasscutter.data.GameDepot;
@@ -71,4 +72,9 @@ public class AvatarSkillDepotData extends GameResource {
@Getter private int proudSkillGroupId;
@Getter private int needAvatarPromoteLevel;
}
public IntStream getSkillsAndEnergySkill() {
return IntStream.concat(this.skills.stream().mapToInt(i -> i), IntStream.of(this.energySkill))
.filter(skillId -> skillId > 0);
}
}