Method needHpUpdate simplification.

This commit is contained in:
MobiusDevelopment
2021-11-14 23:13:54 +00:00
parent 8779759ad6
commit 25a3ca5ce8
50 changed files with 224 additions and 224 deletions
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3983,7 +3983,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -4005,7 +4005,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4016,7 +4016,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4038,7 +4038,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3985,7 +3985,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -4007,7 +4007,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4018,7 +4018,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4040,7 +4040,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3987,7 +3987,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -4009,7 +4009,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4020,7 +4020,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4042,7 +4042,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3983,7 +3983,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -4005,7 +4005,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4016,7 +4016,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4038,7 +4038,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3998,7 +3998,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -4020,7 +4020,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4031,7 +4031,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4053,7 +4053,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3998,7 +3998,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -4020,7 +4020,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4031,7 +4031,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4053,7 +4053,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3999,7 +3999,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -4021,7 +4021,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4032,7 +4032,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4054,7 +4054,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3935,7 +3935,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -3957,7 +3957,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -3968,7 +3968,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -3990,7 +3990,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3965,7 +3965,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -3987,7 +3987,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -3998,7 +3998,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4020,7 +4020,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3982,7 +3982,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -4004,7 +4004,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4015,7 +4015,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4037,7 +4037,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -4015,7 +4015,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -4037,7 +4037,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4048,7 +4048,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4070,7 +4070,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -143,6 +143,8 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
{ {
protected static final Logger LOGGER = Logger.getLogger(Creature.class.getName()); protected static final Logger LOGGER = Logger.getLogger(Creature.class.getName());
public static final double MAX_HP_BAR_PX = 352.0;
private long attackStance; private long attackStance;
private List<Creature> _attackByList; private List<Creature> _attackByList;
private Skill _lastSkillCast; private Skill _lastSkillCast;
@@ -285,9 +287,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
*/ */
protected void initCharStatusUpdateValues() protected void initCharStatusUpdateValues()
{ {
_hpUpdateInterval = getStat().getMaxHp() / 352.0; // MAX_HP div MAX_HP_BAR_PX _hpUpdateInterval = _stat.getMaxHp() / MAX_HP_BAR_PX;
_hpUpdateIncCheck = getStat().getMaxHp(); _hpUpdateIncCheck = _stat.getMaxHp();
_hpUpdateDecCheck = getStat().getMaxHp() - _hpUpdateInterval; _hpUpdateDecCheck = _stat.getMaxHp() - _hpUpdateInterval;
} }
/** /**
@@ -412,21 +414,20 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
} }
/** /**
* Need hp update.
* @param barPixels the bar pixels
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
protected boolean needHpUpdate(int barPixels) protected boolean needHpUpdate()
{ {
final double currentHp = getStatus().getCurrentHp(); final double currentHp = _status.getCurrentHp();
if ((currentHp <= 1.0) || (getStat().getMaxHp() < barPixels)) final double maxHp = _stat.getMaxHp();
if ((currentHp <= 1.0) || (maxHp < MAX_HP_BAR_PX))
{ {
return true; return true;
} }
if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (currentHp == getStat().getMaxHp()) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -435,9 +436,10 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
return true; return true;
} }
@@ -463,7 +465,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
return; return;
} }
if (!needHpUpdate(352)) if (!needHpUpdate())
{ {
return; return;
} }
@@ -4471,13 +4471,12 @@ public class PlayerInstance extends Playable
/** /**
* Returns true if cp update should be done, false if not. * Returns true if cp update should be done, false if not.
* @param barPixels the bar pixels
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate(int barPixels) private boolean needCpUpdate()
{ {
final double currentCp = getCurrentCp(); final double currentCp = getCurrentCp();
if ((currentCp <= 1.0) || (getMaxCp() < barPixels)) if ((currentCp <= 1.0) || (getMaxCp() < MAX_HP_BAR_PX))
{ {
return true; return true;
} }
@@ -4493,7 +4492,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4505,13 +4504,12 @@ public class PlayerInstance extends Playable
/** /**
* Returns true if mp update should be done, false if not. * Returns true if mp update should be done, false if not.
* @param barPixels the bar pixels
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate(int barPixels) private boolean needMpUpdate()
{ {
final double currentMp = getCurrentMp(); final double currentMp = getCurrentMp();
if ((currentMp <= 1.0) || (getMaxMp() < barPixels)) if ((currentMp <= 1.0) || (getMaxMp() < MAX_HP_BAR_PX))
{ {
return true; return true;
} }
@@ -4527,7 +4525,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -4569,7 +4567,7 @@ public class PlayerInstance extends Playable
} }
// Check if a party is in progress and party window update is usefull // Check if a party is in progress and party window update is usefull
if (isInParty() && (needCpUpdate(352) || super.needHpUpdate(352) || needMpUpdate(352))) if (isInParty() && (needCpUpdate() || needHpUpdate() || needMpUpdate()))
{ {
// Send the Server->Client packet PartySmallWindowUpdate with current HP, MP and Level to all other PlayerInstance of the Party // Send the Server->Client packet PartySmallWindowUpdate with current HP, MP and Level to all other PlayerInstance of the Party
getParty().broadcastToPartyMembers(this, new PartySmallWindowUpdate(this)); getParty().broadcastToPartyMembers(this, new PartySmallWindowUpdate(this));
@@ -145,6 +145,8 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
{ {
protected static final Logger LOGGER = Logger.getLogger(Creature.class.getName()); protected static final Logger LOGGER = Logger.getLogger(Creature.class.getName());
public static final double MAX_HP_BAR_PX = 352.0;
private long attackStance; private long attackStance;
private List<Creature> _attackByList; private List<Creature> _attackByList;
private Skill _lastSkillCast; private Skill _lastSkillCast;
@@ -287,9 +289,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
*/ */
protected void initCharStatusUpdateValues() protected void initCharStatusUpdateValues()
{ {
_hpUpdateInterval = getStat().getMaxHp() / 352.0; // MAX_HP div MAX_HP_BAR_PX _hpUpdateInterval = _stat.getMaxHp() / MAX_HP_BAR_PX;
_hpUpdateIncCheck = getStat().getMaxHp(); _hpUpdateIncCheck = _stat.getMaxHp();
_hpUpdateDecCheck = getStat().getMaxHp() - _hpUpdateInterval; _hpUpdateDecCheck = _stat.getMaxHp() - _hpUpdateInterval;
} }
/** /**
@@ -414,21 +416,20 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
} }
/** /**
* Need hp update.
* @param barPixels the bar pixels
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
protected boolean needHpUpdate(int barPixels) protected boolean needHpUpdate()
{ {
final double currentHp = getStatus().getCurrentHp(); final double currentHp = _status.getCurrentHp();
if ((currentHp <= 1.0) || (getStat().getMaxHp() < barPixels)) final double maxHp = _stat.getMaxHp();
if ((currentHp <= 1.0) || (maxHp < MAX_HP_BAR_PX))
{ {
return true; return true;
} }
if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (currentHp == getStat().getMaxHp()) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -437,9 +438,10 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
return true; return true;
} }
@@ -465,7 +467,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
return; return;
} }
if (!needHpUpdate(352)) if (!needHpUpdate())
{ {
return; return;
} }
@@ -4559,13 +4559,12 @@ public class PlayerInstance extends Playable
/** /**
* Returns true if cp update should be done, false if not. * Returns true if cp update should be done, false if not.
* @param barPixels the bar pixels
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate(int barPixels) private boolean needCpUpdate()
{ {
final double currentCp = getCurrentCp(); final double currentCp = getCurrentCp();
if ((currentCp <= 1.0) || (getMaxCp() < barPixels)) if ((currentCp <= 1.0) || (getMaxCp() < MAX_HP_BAR_PX))
{ {
return true; return true;
} }
@@ -4581,7 +4580,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4593,13 +4592,12 @@ public class PlayerInstance extends Playable
/** /**
* Returns true if mp update should be done, false if not. * Returns true if mp update should be done, false if not.
* @param barPixels the bar pixels
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate(int barPixels) private boolean needMpUpdate()
{ {
final double currentMp = getCurrentMp(); final double currentMp = getCurrentMp();
if ((currentMp <= 1.0) || (getMaxMp() < barPixels)) if ((currentMp <= 1.0) || (getMaxMp() < MAX_HP_BAR_PX))
{ {
return true; return true;
} }
@@ -4615,7 +4613,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -4657,7 +4655,7 @@ public class PlayerInstance extends Playable
} }
// Check if a party is in progress and party window update is usefull // Check if a party is in progress and party window update is usefull
if (isInParty() && (needCpUpdate(352) || super.needHpUpdate(352) || needMpUpdate(352))) if (isInParty() && (needCpUpdate() || needHpUpdate() || needMpUpdate()))
{ {
// Send the Server->Client packet PartySmallWindowUpdate with current HP, MP and Level to all other PlayerInstance of the Party // Send the Server->Client packet PartySmallWindowUpdate with current HP, MP and Level to all other PlayerInstance of the Party
getParty().broadcastToPartyMembers(this, new PartySmallWindowUpdate(this)); getParty().broadcastToPartyMembers(this, new PartySmallWindowUpdate(this));
@@ -620,7 +620,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -631,9 +631,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -642,7 +642,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -4048,7 +4048,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -4070,7 +4070,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4081,7 +4081,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4103,7 +4103,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -621,7 +621,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -632,9 +632,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -643,7 +643,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3959,7 +3959,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -3981,7 +3981,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -3992,7 +3992,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4014,7 +4014,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3960,7 +3960,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -3982,7 +3982,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -3993,7 +3993,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4015,7 +4015,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3960,7 +3960,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -3982,7 +3982,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -3993,7 +3993,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4015,7 +4015,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3944,7 +3944,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -3966,7 +3966,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -3977,7 +3977,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -3999,7 +3999,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -695,7 +695,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -706,9 +706,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -717,7 +717,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3958,7 +3958,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -3980,7 +3980,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -3991,7 +3991,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4013,7 +4013,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -695,7 +695,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -706,9 +706,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -717,7 +717,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3958,7 +3958,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -3980,7 +3980,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -3991,7 +3991,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4013,7 +4013,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -695,7 +695,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -706,9 +706,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -717,7 +717,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3884,7 +3884,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -3906,7 +3906,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -3917,7 +3917,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -3939,7 +3939,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -694,7 +694,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -705,9 +705,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -716,7 +716,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3941,7 +3941,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -3963,7 +3963,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -3974,7 +3974,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -3996,7 +3996,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -695,7 +695,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -706,9 +706,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -717,7 +717,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -3970,7 +3970,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -3992,7 +3992,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4003,7 +4003,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4025,7 +4025,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -695,7 +695,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -706,9 +706,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -717,7 +717,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -4011,7 +4011,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -4033,7 +4033,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4044,7 +4044,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4066,7 +4066,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }
@@ -695,7 +695,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
} }
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not.
*/ */
protected boolean needHpUpdate() protected boolean needHpUpdate()
{ {
@@ -706,9 +706,9 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return true; return true;
} }
if ((currentHp < _hpUpdateDecCheck) || (Math.abs(currentHp - _hpUpdateDecCheck) <= 1e-6) || (currentHp > _hpUpdateIncCheck) || (Math.abs(currentHp - _hpUpdateIncCheck) <= 1e-6)) if ((currentHp <= _hpUpdateDecCheck) || (currentHp >= _hpUpdateIncCheck))
{ {
if (Math.abs(currentHp - maxHp) <= 1e-6) if (currentHp == maxHp)
{ {
_hpUpdateIncCheck = currentHp + 1; _hpUpdateIncCheck = currentHp + 1;
_hpUpdateDecCheck = currentHp - _hpUpdateInterval; _hpUpdateDecCheck = currentHp - _hpUpdateInterval;
@@ -717,7 +717,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
{ {
final double doubleMulti = currentHp / _hpUpdateInterval; final double doubleMulti = currentHp / _hpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _hpUpdateDecCheck = _hpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval; _hpUpdateIncCheck = _hpUpdateDecCheck + _hpUpdateInterval;
} }
@@ -4011,7 +4011,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if cp update should be done, false if not * Returns true if cp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needCpUpdate() private boolean needCpUpdate()
@@ -4033,7 +4033,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentCp / _cpUpdateInterval; final double doubleMulti = currentCp / _cpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval; _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
} }
@@ -4044,7 +4044,7 @@ public class PlayerInstance extends Playable
} }
/** /**
* Returns true if mp update should be done, false if not * Returns true if mp update should be done, false if not.
* @return boolean * @return boolean
*/ */
private boolean needMpUpdate() private boolean needMpUpdate()
@@ -4066,7 +4066,7 @@ public class PlayerInstance extends Playable
{ {
final double doubleMulti = currentMp / _mpUpdateInterval; final double doubleMulti = currentMp / _mpUpdateInterval;
int intMulti = (int) doubleMulti; int intMulti = (int) doubleMulti;
_mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti); _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti - 1 : intMulti);
_mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval; _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
} }