Improve achievement params handling

This commit is contained in:
Melledy
2025-12-16 00:11:18 -08:00
parent 85b08c7593
commit d9b502002c
24 changed files with 1768 additions and 229 deletions
@@ -76,6 +76,9 @@ public class GachaModule extends GameContextModule {
var transformItemsDst = new ItemParamMap();
var bonusItems = new ItemParamMap();
// Character count (for achievements)
int characters = 0;
// Add for player
for (var entry : acquireItems.getItems().int2ObjectEntrySet()) {
// Get ids and aquire params
@@ -102,6 +105,9 @@ public class GachaModule extends GameContextModule {
transformItemsDst.add(characterData.getFragmentsId(), characterData.getTransformQty() * count);
transformItemsDst.add(24, 40 * count); // Expert permits
}
// Add to count
characters += acquire.getCount();
} else if (acquire.getType() == ItemType.Disc) {
// Get add amount
int begin = acquire.getBegin();
@@ -167,6 +173,7 @@ public class GachaModule extends GameContextModule {
// Trigger achievements
player.trigger(AchievementCondition.GachaTotal, amount);
player.trigger(AchievementCondition.GachaCharacterTotal, characters);
// Complete
return new GachaResult(info, change, results);