/* Inverts a Dungeon by changing walls to spaces and spaces to walls :) (C) Zach Forsyth 1995 $VER: 0.41 Modified by LORENT Michel on 18-Apr-1995. */ /* initialization of invert table */ do i = 0 to 30 invert.i = 0 end invert.0 = 1 invert.1 = 0 invert.2 = 5 invert.3 = 4 invert.4 = 3 invert.5 = 2 invert.20 = 21 invert.21 = 20 invert.22 = 23 invert.23 = 22 options results address IMPDUNGEON.1 GET MAPX max_x = RESULT /* Get the maximum X value */ GET MAPY max_y = RESULT /* Get the maximum Y value */ GET BRUSH orig_brush = RESULT /* Store user's original brush */ b0 = orig_brush do y = 0 to max_y s = "Inverting line " || y || " of " || max_y MESSAGE s do x = 0 to max_x MAP x y b = RESULT invb = invert.b if invb ~= b0 then do SETBRUSH invb b0 = invb end PAINT x y ok = RESULT end end MESSAGE /* Proper script behavior, return things to */ SETBRUSH orig_brush /* the way they were before the script ran */