forked from 2009Scape/Server
Another potential fix for construction
This commit is contained in:
parent
4dabe82069
commit
cf6fbf2321
2 changed files with 11 additions and 1 deletions
|
|
@ -267,6 +267,9 @@ public final class HouseManager {
|
||||||
int diffX = player.getLocation().getX() - r.getBaseLocation().getX();
|
int diffX = player.getLocation().getX() - r.getBaseLocation().getX();
|
||||||
int diffY = player.getLocation().getY() - r.getBaseLocation().getY();
|
int diffY = player.getLocation().getY() - r.getBaseLocation().getY();
|
||||||
int diffZ = player.getLocation().getZ() - r.getBaseLocation().getZ();
|
int diffZ = player.getLocation().getZ() - r.getBaseLocation().getZ();
|
||||||
|
RegionManager.getRegionCache().remove(r);
|
||||||
|
region.flagInactive();
|
||||||
|
dungeon.flagInactive();
|
||||||
region = null;
|
region = null;
|
||||||
dungeon = null;
|
dungeon = null;
|
||||||
enter(player, buildingMode, false);
|
enter(player, buildingMode, false);
|
||||||
|
|
@ -378,7 +381,8 @@ public final class HouseManager {
|
||||||
Region.load(from, true);
|
Region.load(from, true);
|
||||||
RegionChunk defaultChunk = from.getPlanes()[style.getPlane()].getRegionChunk(1, 0);
|
RegionChunk defaultChunk = from.getPlanes()[style.getPlane()].getRegionChunk(1, 0);
|
||||||
ZoneBorders borders = DynamicRegion.reserveArea(8, 8);
|
ZoneBorders borders = DynamicRegion.reserveArea(8, 8);
|
||||||
region = new DynamicRegion(-1, borders.getSouthWestX() >> 6, borders.getSouthWestY() >> 6);
|
//region = DynamicRegion.create(from.getRegionId());
|
||||||
|
region = new DynamicRegion(from.getRegionId(), borders.getSouthWestX() >> 6, borders.getSouthWestY() >> 6);
|
||||||
region.setBorders(borders);
|
region.setBorders(borders);
|
||||||
region.setUpdateAllPlanes(true);
|
region.setUpdateAllPlanes(true);
|
||||||
RegionManager.addRegion(region.getId(), region);
|
RegionManager.addRegion(region.getId(), region);
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package core.game.node.entity.skill.construction;
|
||||||
|
|
||||||
import core.game.node.entity.Entity;
|
import core.game.node.entity.Entity;
|
||||||
import core.game.node.entity.player.Player;
|
import core.game.node.entity.player.Player;
|
||||||
|
import core.game.world.map.RegionManager;
|
||||||
import core.game.world.map.zone.MapZone;
|
import core.game.world.map.zone.MapZone;
|
||||||
import core.game.world.map.zone.ZoneRestriction;
|
import core.game.world.map.zone.ZoneRestriction;
|
||||||
|
|
||||||
|
|
@ -70,6 +71,11 @@ public final class HouseZone extends MapZone {
|
||||||
if (e instanceof Player) {
|
if (e instanceof Player) {
|
||||||
Player p = (Player) e;
|
Player p = (Player) e;
|
||||||
HouseManager.leave(p);
|
HouseManager.leave(p);
|
||||||
|
if(house.getRegion() == p.getHouseManager().getRegion()){
|
||||||
|
house.getRegion().flagActive();
|
||||||
|
house.getDungeonRegion().flagActive();
|
||||||
|
RegionManager.getRegionCache().remove(house.getRegion());
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue