mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2026-08-01 14:39:13 -06:00
Test logic improvements
This commit is contained in:
parent
61f3dd1ffc
commit
e9d56fa57f
2 changed files with 13 additions and 4 deletions
|
|
@ -462,7 +462,8 @@ public class NPC extends Entity {
|
|||
getLocks().lockMovement(100);
|
||||
getImpactHandler().setDisabledTicks(100);
|
||||
setAttribute("return-to-spawn", true);
|
||||
GameWorld.getPulser().submit(new MovementPulse(this, getProperties().getSpawnLocation(), Pathfinder.SMART) {
|
||||
|
||||
MovementPulse returnPulse = new MovementPulse(this, getProperties().getSpawnLocation(), Pathfinder.SMART) {
|
||||
@Override
|
||||
public boolean pulse() {
|
||||
getProperties().getCombatPulse().stop();
|
||||
|
|
@ -470,9 +471,13 @@ public class NPC extends Entity {
|
|||
fullRestore();
|
||||
getImpactHandler().setDisabledTicks(0);
|
||||
removeAttribute("return-to-spawn");
|
||||
removeAttribute("return-to-spawn-pulse");
|
||||
return true;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
setAttribute("return-to-spawn-pulse", returnPulse);
|
||||
GameWorld.getPulser().submit(returnPulse);
|
||||
return;
|
||||
}
|
||||
if (dialoguePlayer == null || !dialoguePlayer.isActive() || !dialoguePlayer.getInterfaceManager().hasChatbox()) {
|
||||
|
|
@ -530,7 +535,11 @@ public class NPC extends Entity {
|
|||
getUpdateMasks().reset();
|
||||
if (getAttribute("return-to-spawn", false)) {
|
||||
this.location = getProperties().getSpawnLocation();
|
||||
removeAttribute("return-to-spawn");
|
||||
MovementPulse returnPulse = getAttribute("return-to-spawn-pulse");
|
||||
if (returnPulse != null) {
|
||||
returnPulse.pulse();
|
||||
returnPulse.stop();
|
||||
}
|
||||
}
|
||||
Repository.removeRenderableNPC(this);
|
||||
if (getViewport().getRegion() instanceof DynamicRegion) {
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@ class PathfinderTests {
|
|||
|
||||
@Test fun npcShouldReliablyReturnToSpawnEvenIfRegionUnloaded() {
|
||||
//spawn a player into the area just to make sure it ticks...
|
||||
TestUtils.getMockPlayer("areatest").use { p ->
|
||||
TestUtils.getMockPlayer("areaunloadtest").use { p ->
|
||||
val npc = NPC(1, Location.create(3240, 3226, 0))
|
||||
npc.isWalks = true
|
||||
npc.isNeverWalks = false
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue