mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-06-06 03:53:34 +08:00
58 lines
2.0 KiB
Java
58 lines
2.0 KiB
Java
package emu.grasscutter.data.excels;
|
|
|
|
import dev.morphia.annotations.Transient;
|
|
import emu.grasscutter.data.GameResource;
|
|
import emu.grasscutter.data.ResourceType;
|
|
import emu.grasscutter.data.common.FightPropData;
|
|
import emu.grasscutter.data.common.ItemParamData;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import lombok.Getter;
|
|
|
|
@ResourceType(name = "ProudSkillExcelConfigData.json")
|
|
public class ProudSkillData extends GameResource {
|
|
private int proudSkillId;
|
|
@Getter private int proudSkillGroupId;
|
|
@Getter private int level;
|
|
@Getter private int coinCost;
|
|
@Getter private int breakLevel;
|
|
@Getter private int proudSkillType;
|
|
@Getter private String openConfig;
|
|
@Getter private List<ItemParamData> costItems;
|
|
@Getter private List<String> filterConds;
|
|
@Getter private List<String> lifeEffectParams;
|
|
@Getter private FightPropData[] addProps;
|
|
@Getter private float[] paramList;
|
|
@Getter private long[] paramDescList;
|
|
@Getter private long nameTextMapHash;
|
|
@Transient private Iterable<ItemParamData> totalCostItems;
|
|
|
|
@Override
|
|
public int getId() {
|
|
return proudSkillId;
|
|
}
|
|
|
|
public Iterable<ItemParamData> getTotalCostItems() {
|
|
if (this.totalCostItems == null) {
|
|
ArrayList<ItemParamData> total =
|
|
(this.costItems != null) ? new ArrayList<>(this.costItems) : new ArrayList<>(1);
|
|
if (this.coinCost > 0) total.add(new ItemParamData(202, this.coinCost));
|
|
this.totalCostItems = total;
|
|
}
|
|
return this.totalCostItems;
|
|
}
|
|
|
|
@Override
|
|
public void onLoad() {
|
|
// Fight props
|
|
ArrayList<FightPropData> parsed = new ArrayList<FightPropData>(getAddProps().length);
|
|
for (FightPropData prop : getAddProps()) {
|
|
if (prop.getPropType() != null && prop.getValue() != 0f) {
|
|
prop.onLoad();
|
|
parsed.add(prop);
|
|
}
|
|
}
|
|
this.addProps = parsed.toArray(new FightPropData[parsed.size()]);
|
|
}
|
|
}
|