Du kannst im einerseits bei allen Eingängen/Ausgängen eine entsprechende Eigenschaft hinzufügen/entfernen. Dann musst du aber verhindern, dass der Spieler die Zelle auf anderem Weg betritt/verlässt (z.B. per Teleportspruch). GSI bietet sich da sehr stark an.
Mein Ansatz sähe da so aus (Skript muss auf alle Ein- & Ausgänge):
Ansonsten kannst du noch per Questskript über Player.GetInCell, bzw. Player.GetInWorldSpace abfragen, ob er sich in der entsprechenden Zelle/Welt befindet und dann, falls er die Eigenschaft noch nicht/immer noch hat (überprüfen mit Player.IsSpellTarget ) per AddSpell/RemoveSpell hinzufügen/entfernen.
--
Ich kam, sah, und konnte meinen Augen nicht trauen