mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-05 16:49:04 +00:00
Update the sector the mob was previously in when they move out of one.
This commit is contained in:
@@ -10,6 +10,8 @@ import org.apollo.game.model.Direction;
|
|||||||
import org.apollo.game.model.Graphic;
|
import org.apollo.game.model.Graphic;
|
||||||
import org.apollo.game.model.Position;
|
import org.apollo.game.model.Position;
|
||||||
import org.apollo.game.model.World;
|
import org.apollo.game.model.World;
|
||||||
|
import org.apollo.game.model.area.Sector;
|
||||||
|
import org.apollo.game.model.area.SectorRepository;
|
||||||
import org.apollo.game.model.def.NpcDefinition;
|
import org.apollo.game.model.def.NpcDefinition;
|
||||||
import org.apollo.game.model.entity.attr.Attribute;
|
import org.apollo.game.model.entity.attr.Attribute;
|
||||||
import org.apollo.game.model.entity.attr.AttributeMap;
|
import org.apollo.game.model.entity.attr.AttributeMap;
|
||||||
@@ -392,7 +394,15 @@ public abstract class Mob extends Entity {
|
|||||||
* @param position The position.
|
* @param position The position.
|
||||||
*/
|
*/
|
||||||
public final void setPosition(Position position) {
|
public final void setPosition(Position position) {
|
||||||
|
Position old = this.position;
|
||||||
this.position = position;
|
this.position = position;
|
||||||
|
|
||||||
|
if (old.getTopLeftSectorX() != position.getTopLeftSectorX()) {
|
||||||
|
SectorRepository repository = World.getWorld().getSectorRepository();
|
||||||
|
Sector oldSector = repository.fromPosition(old), newSector = repository.fromPosition(position);
|
||||||
|
oldSector.removeEntity(this);
|
||||||
|
newSector.addEntity(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user