Implement Ascend Compat, Irons spellbooks compat, And rehauled most things.
This commit is contained in:
@@ -2,7 +2,11 @@ package net.fretux.mindmotion.player;
|
||||
|
||||
public class TempoCapability implements ITempo {
|
||||
private int tempo = 0;
|
||||
private final int maxTempo = 120;
|
||||
|
||||
private int baseMaxTempo = 120;
|
||||
private float bonusMaxTempo = 0f; // from Ascend willpower
|
||||
|
||||
private int ventCooldown = 0;
|
||||
|
||||
@Override
|
||||
public int getTempo() {
|
||||
@@ -11,12 +15,12 @@ public class TempoCapability implements ITempo {
|
||||
|
||||
@Override
|
||||
public void setTempo(int tempo) {
|
||||
this.tempo = Math.max(0, Math.min(maxTempo, tempo));
|
||||
this.tempo = Math.max(0, Math.min(getMaxTempo(), tempo));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxTempo() {
|
||||
return maxTempo;
|
||||
return Math.max(0, Math.round(baseMaxTempo + bonusMaxTempo));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -29,8 +33,6 @@ public class TempoCapability implements ITempo {
|
||||
setTempo(this.tempo - amount);
|
||||
}
|
||||
|
||||
private int ventCooldown = 0;
|
||||
|
||||
@Override
|
||||
public int getVentCooldown() {
|
||||
return ventCooldown;
|
||||
@@ -38,6 +40,20 @@ public class TempoCapability implements ITempo {
|
||||
|
||||
@Override
|
||||
public void setVentCooldown(int ticks) {
|
||||
ventCooldown = ticks;
|
||||
ventCooldown = Math.max(0, ticks);
|
||||
}
|
||||
}
|
||||
|
||||
public void setBaseMaxTempo(int baseMaxTempo) {
|
||||
this.baseMaxTempo = baseMaxTempo;
|
||||
setTempo(this.tempo);
|
||||
}
|
||||
|
||||
public void setBonusMaxTempo(float bonusMaxTempo) {
|
||||
this.bonusMaxTempo = Math.max(0f, bonusMaxTempo);
|
||||
setTempo(this.tempo);
|
||||
}
|
||||
|
||||
public float getBonusMaxTempo() {
|
||||
return bonusMaxTempo;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user