Browse Source

region lookup and height offset for AbstractCharacters when setLoc is called

feature-region-set
FatBoy-DOTC 1 year ago
parent
commit
7654d5183a
  1. 8
      src/engine/objects/AbstractWorldObject.java
  2. 1
      src/engine/objects/Mob.java

8
src/engine/objects/AbstractWorldObject.java

@ -502,7 +502,13 @@ public abstract class AbstractWorldObject extends AbstractGameObject { @@ -502,7 +502,13 @@ public abstract class AbstractWorldObject extends AbstractGameObject {
return;
this.lastLoc = new Vector3fImmutable(this.loc);
this.loc = loc;
this.loc = this.loc.setY(HeightMap.getWorldHeight(this.getLoc()) + this.getAltitude());
if(this instanceof AbstractCharacter && this.region != null){
this.loc = this.loc.setY(this.region.lerpY(this) + this.getAltitude());
} else{
this.loc = this.loc.setY(HeightMap.getWorldHeight(this.getLoc()) + this.getAltitude());
}
//lets not add mob to world grid if he is currently despawned.
if (this.getObjectType().equals(GameObjectType.Mob) && ((Mob) this).despawned)

1
src/engine/objects/Mob.java

@ -1743,7 +1743,6 @@ public class Mob extends AbstractIntelligenceAgent { @@ -1743,7 +1743,6 @@ public class Mob extends AbstractIntelligenceAgent {
this.level = (short) newRank;
this.recalculateStats();
this.setHealth(this.healthMax);
this.setLoc(this.bindLoc);
}
public boolean isRanking() {

Loading…
Cancel
Save