Skip to content

Commit 9698056

Browse files
authored
Merge pull request #78 from boraini/fix/target-teleporter
Make target teleporters only check for player-owned protector fields.
1 parent a0a1d0b commit 9698056

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

gameserver/src/main/java/brainwine/gameserver/item/interactions/TargetTeleportInteraction.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,12 @@ public void interact(Zone zone, Entity entity, int x, int y, Layer layer, Item i
7575
player.notify("That area hasn't been explored yet.");
7676
return;
7777
}
78-
78+
7979
// Check area protection
80-
if(!player.isGodMode() && targetZone.isBlockProtected(targetX, targetY, player)) {
80+
if(!player.isGodMode() && targetZone.isBlockProtectedByField(targetX, targetY, player)) {
8181
Player owner = metaBlock.getOwner();
8282
int setting = metaBlock.getIntProperty("pt");
83-
boolean ownerCanEdit = !targetZone.isBlockProtected(targetX, targetY, owner);
83+
boolean ownerCanEdit = !targetZone.isBlockProtectedByField(targetX, targetY, owner);
8484

8585
// Check protection entry setting
8686
if(owner == null || !ownerCanEdit || setting == 0 || (setting == 1 && !owner.isFollowing(player))) {

gameserver/src/main/java/brainwine/gameserver/zone/Zone.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,14 @@ public boolean isBlockProtected(int x, int y, Player player, Collection<MetaBloc
685685
return true;
686686
}
687687

688+
return isBlockProtectedByField(x, y, player, fieldBlocks);
689+
}
690+
691+
public boolean isBlockProtectedByField(int x, int y, Player player) {
692+
return isBlockProtectedByField(x, y, player, fieldBlocks.values());
693+
}
694+
695+
public boolean isBlockProtectedByField(int x, int y, Player player, Collection<MetaBlock> fieldBlocks) {
688696
// Check field blocks
689697
for(MetaBlock fieldBlock : fieldBlocks) {
690698
Item item = fieldBlock.getItem();
@@ -705,7 +713,7 @@ public boolean isBlockProtected(int x, int y, Player player, Collection<MetaBloc
705713
}
706714
}
707715
}
708-
716+
709717
return false;
710718
}
711719

0 commit comments

Comments
 (0)