(0:31) When a furre says {~hide},
 (1:170) and their name is not {Arinos},
 (1:170) and their name is not {Sonira},
 (1:170) and their name is not {Dreambot},
 (1:170) and their name is not {Ralen},
 (1:170) and their name is not {Yellow-White|Rose},
 (1:170) and their name is not {LlubNek},
 (1:170) and their name is not {Dreamless|Dancer},
 (1:170) and their name is not {Kitkow},
 (1:170) and their name is not {Kinsem},
 (1:170) and their name is not {jh'Scrud},
 (1:181) and the triggering furre is not within the diamond (126,164) - (149,164),
    (5:300) set variable %hiding to the value 1.
    (5:312) set variable %office to the total of rolling 1 dice with 6 sides plus 432.
    (5:532) set variable %locktest to the X,Y position of a random spot where the object is type %office somewhere in the dream,
    (5:532) set variable %roomentry to the X,Y position of a random spot where the object is type %office somewhere in the dream,

* // get the room info positions (one)
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
    (5:530) set variable %hider to the X,Y position of a random spot where the object is type %office within the rectangle (188,172) - (192,188),
    (5:380) set variable %locktest.x to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %locktest.y to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %roomentry.x to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %roomentry.y to the floor type at (%hider).

* // check if room unlocked (one)
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
 (1:1013) and position (%locktest) is object type 163,
    (5:300) set variable %hiding to the value 0.
    (5:15) move the triggering furre to (%roomentry), or to someplace nearby if it's occupied.

* // room was locked, advance, roll over if needed
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
    (5:302) take variable %office and add 1 to it.

(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
 (1:200) and variable %office is equal to 439,
    (5:300) set variable %office to the value 433.

* // get the room info positions (two)
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
    (5:530) set variable %hider to the X,Y position of a random spot where the object is type %office within the rectangle (188,172) - (192,188),
    (5:380) set variable %locktest.x to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %locktest.y to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %roomentry.x to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %roomentry.y to the floor type at (%hider).

* // check if room unlocked (two)
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
 (1:1013) and position (%locktest) is object type 163,
    (5:300) set variable %hiding to the value 0.
    (5:15) move the triggering furre to (%roomentry), or to someplace nearby if it's occupied.

* // room was locked, advance, roll over if needed
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
    (5:302) take variable %office and add 1 to it.

(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
 (1:200) and variable %office is equal to 439,
    (5:300) set variable %office to the value 433.

* // get the room info positions (three)
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
    (5:530) set variable %hider to the X,Y position of a random spot where the object is type %office within the rectangle (188,172) - (192,188),
    (5:380) set variable %locktest.x to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %locktest.y to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %roomentry.x to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %roomentry.y to the floor type at (%hider).

* // check if room unlocked (three)
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
 (1:1013) and position (%locktest) is object type 163,
    (5:300) set variable %hiding to the value 0.
    (5:15) move the triggering furre to (%roomentry), or to someplace nearby if it's occupied.

* // room was locked, advance, roll over if needed
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
    (5:302) take variable %office and add 1 to it.

(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
 (1:200) and variable %office is equal to 439,
    (5:300) set variable %office to the value 433.

* // get the room info positions (four)
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
    (5:530) set variable %hider to the X,Y position of a random spot where the object is type %office within the rectangle (188,172) - (192,188),
    (5:380) set variable %locktest.x to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %locktest.y to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %roomentry.x to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %roomentry.y to the floor type at (%hider).

* // check if room unlocked (four)
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
 (1:1013) and position (%locktest) is object type 163,
    (5:300) set variable %hiding to the value 0.
    (5:15) move the triggering furre to (%roomentry), or to someplace nearby if it's occupied.

* // room was locked, advance, roll over if needed
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
    (5:302) take variable %office and add 1 to it.

(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
 (1:200) and variable %office is equal to 439,
    (5:300) set variable %office to the value 433.

* // get the room info positions (five)
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
    (5:530) set variable %hider to the X,Y position of a random spot where the object is type %office within the rectangle (188,172) - (192,188),
    (5:380) set variable %locktest.x to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %locktest.y to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %roomentry.x to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %roomentry.y to the floor type at (%hider).

* // check if room unlocked (five)
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
 (1:1013) and position (%locktest) is object type 163,
    (5:300) set variable %hiding to the value 0.
    (5:15) move the triggering furre to (%roomentry), or to someplace nearby if it's occupied.

* // room was locked, advance, roll over if needed
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
    (5:302) take variable %office and add 1 to it.

(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
 (1:200) and variable %office is equal to 439,
    (5:300) set variable %office to the value 433.

* // get the room info positions (six)
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
    (5:530) set variable %hider to the X,Y position of a random spot where the object is type %office within the rectangle (188,172) - (192,188),
    (5:380) set variable %locktest.x to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %locktest.y to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %roomentry.x to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %roomentry.y to the floor type at (%hider).

* // check if room unlocked (six)
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
 (1:1013) and position (%locktest) is object type 163,
    (5:300) set variable %hiding to the value 0.
    (5:15) move the triggering furre to (%roomentry), or to someplace nearby if it's occupied.

* // all rooms locked, put them in the clock tower
(0:31) When a furre says {~hide},
 (1:200) and variable %hiding is equal to 1,
    (5:200) emit message {Hmm, all the office's seem to be locked, here, hide out in the clock tower.} to whoever set off the trigger.
    (5:530) set variable %hider to the X,Y position of a random spot where the object is type 439 within the rectangle (188,172) - (192,188),
    (5:380) set variable %roomentry.x to the floor type at (%hider).
    (5:353) move the position in variable %hider southeast (down and right) 1 step(s).
    (5:380) set variable %roomentry.y to the floor type at (%hider).
    (5:300) set variable %hiding to the value 0.
    (5:15) move the triggering furre to (%roomentry), or to someplace nearby if it's occupied.