32_a_freedoom
Monsters only attack when you're in their line of sight.
arc(r_0032_0003__attack, r_0032_0001__Monsters, arg0).
arc(r_0032_0003__attack, r_0032_0002__only, nim5).
arc(r_0032_0004__when, r_0032_0003__attack, scope).
arc(r_0032_0004__when, r_0032_0006___apos_re, restriction).
arc(r_0032_0006___apos_re, r_0032_0005__you, arg0).
arc(r_0032_0006___apos_re, r_0032_0009__line, r_0032_0007__in_clr22).
arc(r_0032_0009__line, r_0032_0001__Monsters, gen).
arc(r_0032_0009__line, r_0032_0011__sight, r_0032_0010__of).
fof(formula,axiom,
! [R_32_6__APOS_RE,R_32_5_YOU,R_32_9_LINE,R_32_1_MONSTERS,R_32_11_SIGHT] :
( ( you(R_32_5_YOU)
& monsters(R_32_1_MONSTERS)
& sight(R_32_11_SIGHT)
& _apos_re(R_32_6__APOS_RE,R_32_5_YOU)
& in_clr22(R_32_6__APOS_RE,R_32_9_LINE)
& line(R_32_9_LINE)
& gen(R_32_9_LINE,R_32_1_MONSTERS)
& of(R_32_9_LINE,R_32_11_SIGHT) )
=> ? [R_32_3_ATTACK,R_32_2_ONLY] :
( only(R_32_2_ONLY)
& attack(R_32_3_ATTACK,R_32_1_MONSTERS)
& nim5(R_32_3_ATTACK,R_32_2_ONLY) ) ) ).
( (IP-MAT (NP-SBJ;{MONSTERS} (NS Monsters;{monster}))
(ADVP-NIM (ADV only;{only}))
(VBP;_I_ attack;{attack})
(PP-SCON (P-CONN when;{when})
(IP-ADV (NP-SBJ (PRO you;{you}))
(BEP;_Ipr_ <apos>re;{be[in]})
(PP-CLR (P-ROLE in;{in})
(NP (NP-GEN;{MONSTERS} (PRO;_genm_ their;{their}))
(N line;{line})
(PP (P-ROLE of;{of})
(NP (N sight;{sight})))))))
(PUNC .))
(ID 32_a_freedoom))