From 29e1e51b04dc8af6693dd516d3c7b89b63a41f50 Mon Sep 17 00:00:00 2001 From: MagicBot Date: Mon, 26 Oct 2026 09:26:32 -0400 Subject: [PATCH] Check the teleport block against the power's category City spire effects give players BlockedPowerType TELEPORT. TeleportPowerAction checked TELEPORT for every teleport, so Infiltrate (SAB-001, category SPIREPROOFTELEPORT) passed the cast check but never moved. Use the power's category as finishUsePower does. Co-Authored-By: Claude Opus 5.5 --- src/engine/powers/poweractions/TeleportPowerAction.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/engine/powers/poweractions/TeleportPowerAction.java b/src/engine/powers/poweractions/TeleportPowerAction.java index fbde8b06..067c8237 100644 --- a/src/engine/powers/poweractions/TeleportPowerAction.java +++ b/src/engine/powers/poweractions/TeleportPowerAction.java @@ -73,7 +73,8 @@ public class TeleportPowerAction extends AbstractPowerAction { return; } - if (source.getBonuses().getBool(ModType.BlockedPowerType, SourceType.TELEPORT)) + // Blocks go by power category, so SPIREPROOFTELEPORT (SAB-001) passes a TELEPORT block such as the spire's + if (source.getBonuses().getBool(ModType.BlockedPowerType, SourceType.GetSourceType(pb.getCategory()))) return; City city = ZoneManager.getCityAtLocation(targetLoc);