Merge remote-tracking branch 'origin/magicbox1.5' into new-booty-system

This commit is contained in:
2023-04-06 19:41:19 -05:00
4 changed files with 44 additions and 7 deletions
+17
View File
@@ -396,6 +396,10 @@ public class InfoCmd extends AbstractDevCmd {
output += "BuildingID : " + targetNPC.getRegion().parentBuildingID;
output += "building level : " + targetNPC.getRegion().level;
output += "building room : " + targetNPC.getRegion().room;
}else if(targetNPC.getBuilding() != null) {
output += newline;
output += "Building : " + targetNPC.getBuilding();
output += "In BuildingLoc : " + targetNPC.inBuildingLoc;
}else{
output += newline;
output += "No building found.";
@@ -462,6 +466,19 @@ public class InfoCmd extends AbstractDevCmd {
output += "Parent Zone LoadNum : " + targetMob.getParentZone().getLoadNum();
output += newline;
output += "isMoving : " + targetMob.isMoving();
if (targetMob.getRegion() != null){
output += newline;
output += "BuildingID : " + targetMob.getRegion().parentBuildingID;
output += "building level : " + targetMob.getRegion().level;
output += "building room : " + targetMob.getRegion().room;
}else if(targetMob.building != null) {
output += newline;
output += "BuildingID : " + targetMob.building;
output += "In BuildingLoc : " + targetMob.inBuildingLoc;
}else{
output += newline;
output += "No building found.";
}
break;
case Item: //intentional passthrough
case MobLoot:
@@ -86,22 +86,39 @@ public class LoadCharacterMsg extends ClientNetMsg {
} else if (absChar != null) {
if (absChar.getObjectType().equals(GameObjectType.PlayerCharacter)){
if (absChar.getObjectType().equals(GameObjectType.PlayerCharacter)) {
Regions region = absChar.getRegion();
if (region == null){
if (region == null) {
writer.putInt(-1);
writer.putInt(-1);
}else{
} else {
Building regionBuilding = Regions.GetBuildingForRegion(region);
if (regionBuilding == null){
if (regionBuilding == null) {
writer.putInt(-1);
writer.putInt(-1);
}else{
} else {
writer.putInt(region.getLevel());
writer.putInt(region.getRoom());
}
}
}
else if (absChar.getObjectType().equals(GameObjectType.Mob)){
Regions region = absChar.getRegion();
if (region == null){
writer.putInt(-1);
writer.putInt(-1);
}else{
Building regionBuilding = Regions.GetBuildingForRegion(region);
if (regionBuilding == null){
writer.putInt(-1);
writer.putInt(-1);
}else{
writer.putInt(region.getLevel());
writer.putInt(region.getRoom());
}
}
//TODO below is Mob Region Serialization, not implemented. default to -1, which is ground.
}else {
+2
View File
@@ -1152,11 +1152,13 @@ public class Mob extends AbstractIntelligenceAgent {
if (newLoc.equals(this.getEndLoc())) {
this.stopMovement(newLoc);
this.region = AbstractWorldObject.GetRegionByWorldObject(this);
return;
//Next upda
}
setLoc(newLoc);
this.region = AbstractWorldObject.GetRegionByWorldObject(this);
//Next update will be end Loc, lets stop him here.
}
+2 -1
View File
@@ -1222,6 +1222,7 @@ public class NPC extends AbstractCharacter {
}catch (Exception e){
Logger.error( e.getMessage());
}
this.region = AbstractWorldObject.GetRegionByWorldObject(this);
}
public void removeFromZone() {
@@ -1461,7 +1462,7 @@ public class NPC extends AbstractCharacter {
mob.setSpawnTime(10);
mob.setNpcOwner(this);
mob.state = STATE.Awake;
mob.region = AbstractWorldObject.GetRegionByWorldObject(mob);
return mob;
}