forked from Upstream/mmocore
Bug Fixing for Skill Trees.
This commit is contained in:
parent
4ae7fa4387
commit
b44283abcb
@ -9,10 +9,10 @@ import org.apache.commons.lang.Validate;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class StatTrigger extends Trigger {
|
public class StatTrigger extends Trigger {
|
||||||
|
private final StatModifier statModifier;
|
||||||
private final String stat;
|
private final String stat;
|
||||||
private final double amount;
|
|
||||||
private final ModifierType type;
|
|
||||||
private final String modifierKey = "mmocore_trigger." + UUID.randomUUID();
|
private final String modifierKey = "mmocore_trigger." + UUID.randomUUID();
|
||||||
|
private final double amount;
|
||||||
|
|
||||||
public StatTrigger(MMOLineConfig config) {
|
public StatTrigger(MMOLineConfig config) {
|
||||||
super(config);
|
super(config);
|
||||||
@ -24,12 +24,16 @@ public class StatTrigger extends Trigger {
|
|||||||
Validate.isTrue(type.equals("FLAT") || type.equals("RELATIVE"));
|
Validate.isTrue(type.equals("FLAT") || type.equals("RELATIVE"));
|
||||||
stat = config.getString("stat");
|
stat = config.getString("stat");
|
||||||
amount = config.getDouble("amount");
|
amount = config.getDouble("amount");
|
||||||
this.type = ModifierType.valueOf(type);
|
statModifier = new StatModifier(modifierKey, stat, amount, ModifierType.valueOf(type));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void apply(PlayerData player) {
|
public void apply(PlayerData player) {
|
||||||
new StatModifier(modifierKey, stat, amount, type).register(player.getMMOPlayerData());
|
StatModifier prevModifier = player.getMMOPlayerData().getStatMap().getInstance(stat).getModifier(modifierKey);
|
||||||
|
if (prevModifier == null)
|
||||||
|
statModifier.register(player.getMMOPlayerData());
|
||||||
|
else
|
||||||
|
prevModifier.add(amount).register(player.getMMOPlayerData());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user