Browse Source

Rotation slot location by building rotation.

master
MagicBot 2 years ago
parent
commit
48172fb220
  1. 10
      src/engine/objects/Mob.java
  2. 7
      src/engine/objects/NPC.java

10
src/engine/objects/Mob.java

@ -917,8 +917,14 @@ public class Mob extends AbstractIntelligenceAgent { @@ -917,8 +917,14 @@ public class Mob extends AbstractIntelligenceAgent {
slotLocation = BuildingManager.getSlotLocation(building, slot);
this.bindLoc = building.getLoc().add(slotLocation);
this.loc = building.getLoc().add(slotLocation);
this.endLoc = bindLoc;
// Rotate slot position by the building rotation
Vector3fImmutable.rotateAroundPoint(building.getLoc(), this.bindLoc, -building.getBounds().getQuaternion().angleY);
this.loc = new Vector3fImmutable(bindLoc);
this.endLoc = new Vector3fImmutable(bindLoc);
;
}

7
src/engine/objects/NPC.java

@ -361,7 +361,12 @@ public class NPC extends AbstractCharacter { @@ -361,7 +361,12 @@ public class NPC extends AbstractCharacter {
slotLocation = BuildingManager.getSlotLocation(building, slot);
this.bindLoc = building.getLoc().add(slotLocation);
this.loc = building.getLoc().add(slotLocation);
// Rotate slot position by the building rotation
Vector3fImmutable.rotateAroundPoint(building.getLoc(), this.bindLoc, -building.getBounds().getQuaternion().angleY);
this.loc = new Vector3fImmutable(bindLoc);
// Configure region and floor/level for this NPC

Loading…
Cancel
Save