Browse Source

NPC derives position from slot.

master
MagicBot 2 years ago
parent
commit
5729492c6a
  1. 8
      src/engine/gameManager/BuildingManager.java
  2. 2
      src/engine/objects/NPC.java

8
src/engine/gameManager/BuildingManager.java

@ -513,7 +513,7 @@ public enum BuildingManager { @@ -513,7 +513,7 @@ public enum BuildingManager {
}
if (NPC.ISGuardCaptain(contract.getContractID())) {
mob = Mob.createMob( contract.getMobbaseID(), NpcLoc, contractOwner.getGuild(), true, zone, building, contract.getContractID(), pirateName, rank);
mob = Mob.createMob(contract.getMobbaseID(), NpcLoc, contractOwner.getGuild(), true, zone, building, contract.getContractID(), pirateName, rank);
if (mob == null)
return false;
@ -523,6 +523,12 @@ public enum BuildingManager { @@ -523,6 +523,12 @@ public enum BuildingManager {
mob.setParentZone(zone);
return true;
}
// NPC in a Building derives position from slot
if (building != null)
NpcLoc = Vector3fImmutable.ZERO;
npc = NPC.createNPC(pirateName, contract.getObjectUUID(), NpcLoc, contractOwner.getGuild(), false, zone, (short) rank, false, building);
if (npc == null)

2
src/engine/objects/NPC.java

@ -387,7 +387,7 @@ public class NPC extends AbstractCharacter { @@ -387,7 +387,7 @@ public class NPC extends AbstractCharacter {
// Configure region and floor/level for this NPC
this.region = BuildingManager.GetRegion(this.building, slotLocation.x, slotLocation.y, slotLocation.z);
this.region = BuildingManager.GetRegion(this.building, bindLoc.x, bindLoc.y, bindLoc.z);
if (this.region != null) {
this.buildingFloor = region.getRoom();

Loading…
Cancel
Save