Players grounded properly when losing flight.
This commit is contained in:
@@ -1600,11 +1600,26 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
|
|||||||
|
|
||||||
//Call to apply any new effects to player
|
//Call to apply any new effects to player
|
||||||
public synchronized void applyBonuses() {
|
public synchronized void applyBonuses() {
|
||||||
|
PlayerCharacter player;
|
||||||
//tell the player to applyBonuses because something has changed
|
//tell the player to applyBonuses because something has changed
|
||||||
|
|
||||||
//start running the bonus calculations
|
//start running the bonus calculations
|
||||||
|
|
||||||
try{
|
try{
|
||||||
runBonuses();
|
runBonuses();
|
||||||
|
|
||||||
|
// Check if calculations affected flight.
|
||||||
|
|
||||||
|
if (this.getGridObjectType().equals(GameObjectType.PlayerCharacter)) {
|
||||||
|
player = (PlayerCharacter) this;
|
||||||
|
|
||||||
|
// Ground players who cannot fly but are currently flying
|
||||||
|
|
||||||
|
if (CanFly(player) == false &&
|
||||||
|
player.getMovementState().equals(MovementState.FLYING))
|
||||||
|
PlayerCharacter.GroundPlayer(player);
|
||||||
|
}
|
||||||
|
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
Logger.error("Error in run bonuses for object UUID " + this.getObjectUUID());
|
Logger.error("Error in run bonuses for object UUID " + this.getObjectUUID());
|
||||||
Logger.error(e);
|
Logger.error(e);
|
||||||
|
|||||||
@@ -4771,12 +4771,6 @@ public void dismissNecroPets() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ground players who cannot fly but are currently flying
|
|
||||||
|
|
||||||
if (CanFly(this) &&
|
|
||||||
this.getMovementState().equals(MovementState.FLYING))
|
|
||||||
GroundPlayer(this);
|
|
||||||
|
|
||||||
RealmMap.updateRealm(this);
|
RealmMap.updateRealm(this);
|
||||||
updateBlessingMessage();
|
updateBlessingMessage();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user