protected override ActionResult OnProcess()
        {
            switch (Dungeon.Tiles[mDoorPos].Type)
            {
            case TileType.DoorClosed:
                // open it
                Dungeon.SetTileType(mDoorPos, TileType.DoorOpen);
                Dungeon.DirtyLighting();
                Dungeon.DirtyVisibility();

                Log(LogType.Message, "{subject} open[s] the door.");
                return(ActionResult.Done);

            case TileType.DoorOpen:
            case TileType.DoorStore1:
            case TileType.DoorStore2:
            case TileType.DoorStore3:
            case TileType.DoorStore4:
            case TileType.DoorStore5:
            case TileType.DoorStore6:
                return(Fail("The door is already open."));

            default:
                return(Fail("There is no door there."));
            }
        }
Exemple #2
0
        protected override void OnSetPosition(Vec pos)
        {
            base.OnSetPosition(pos);

            Dungeon.DirtyVisibility();
        }