Browse Source

region lookup and height offset for AbstractCharacters when setLoc is called

combat-2
FatBoy-DOTC 1 year ago
parent
commit
7654d5183a
  1. 6
      src/engine/objects/AbstractWorldObject.java
  2. 1
      src/engine/objects/Mob.java

6
src/engine/objects/AbstractWorldObject.java

@ -502,7 +502,13 @@ public abstract class AbstractWorldObject extends AbstractGameObject {
return; return;
this.lastLoc = new Vector3fImmutable(this.loc); this.lastLoc = new Vector3fImmutable(this.loc);
this.loc = loc; this.loc = loc;
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()); this.loc = this.loc.setY(HeightMap.getWorldHeight(this.getLoc()) + this.getAltitude());
}
//lets not add mob to world grid if he is currently despawned. //lets not add mob to world grid if he is currently despawned.
if (this.getObjectType().equals(GameObjectType.Mob) && ((Mob) this).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 {
this.level = (short) newRank; this.level = (short) newRank;
this.recalculateStats(); this.recalculateStats();
this.setHealth(this.healthMax); this.setHealth(this.healthMax);
this.setLoc(this.bindLoc);
} }
public boolean isRanking() { public boolean isRanking() {

Loading…
Cancel
Save