AbilityModifier.java 1.21 KB
Newer Older
Melledy's avatar
Melledy committed
1
package emu.grasscutter.data.binout;
Melledy's avatar
Melledy committed
2
3

import java.util.Map;
4
import java.io.Serializable;
Melledy's avatar
Melledy committed
5

6
7
8
9
10
11
import com.google.gson.annotations.SerializedName;

public class AbilityModifier implements Serializable {
	private static final long serialVersionUID = -2001232313615923575L;

	@SerializedName(value="onAdded", alternate={"KCICDEJLIJD"})
Melledy's avatar
Melledy committed
12
	public AbilityModifierAction[] onAdded;
13
	@SerializedName(value="onThinkInterval", alternate={"PBDDACFFPOE"})
Melledy's avatar
Melledy committed
14
15
16
17
18
19
20
21
22
	public AbilityModifierAction[] onThinkInterval;
	public AbilityModifierAction[] onRemoved;

	public static class AbilityConfigData {
		public AbilityData Default;
	}
	
	public static class AbilityData {
		public String abilityName;
23
        @SerializedName(value="modifiers", alternate={"HNEIEGHMLKH"})
Melledy's avatar
Melledy committed
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
		public Map<String, AbilityModifier> modifiers;
	}
	
	public static class AbilityModifierAction {
		public String $type;
		public AbilityModifierActionType type;
		public String target;
		public AbilityModifierValue amount;
		public AbilityModifierValue amountByTargetCurrentHPRatio;
	}
	
	public static class AbilityModifierValue {
		public boolean isFormula;
		public boolean isDynamic;
		public String dynamicKey;
	}
	
	public enum AbilityModifierActionType {
		HealHP, ApplyModifier, LoseHP;
	}
}