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_0032_0006___APOS_RE,R_0032_0005__YOU,R_0032_0001__MONSTERS,R_0032_0011__SIGHT,R_0032_0009__LINE] :
( ( r_0032_0001__Monsters(R_0032_0001__MONSTERS)
& r_0032_0005__you(R_0032_0005__YOU)
& r_0032_0011__sight(R_0032_0011__SIGHT)
& r_0032_0006___apos_re(R_0032_0006___APOS_RE)
& has_r_0032_0007__in_clr22(R_0032_0006___APOS_RE,R_0032_0009__LINE)
& r_0032_0009__line(R_0032_0009__LINE)
& has_r_0032_0010__of(R_0032_0009__LINE,R_0032_0011__SIGHT)
& has_gen(R_0032_0009__LINE,R_0032_0001__MONSTERS)
& has_arg0(R_0032_0006___APOS_RE,R_0032_0005__YOU) )
=> ? [R_0032_0002__ONLY,R_0032_0003__ATTACK] :
( r_0032_0002__only(R_0032_0002__ONLY)
& r_0032_0003__attack(R_0032_0003__ATTACK)
& has_nim5(R_0032_0003__ATTACK,R_0032_0002__ONLY)
& has_arg0(R_0032_0003__ATTACK,R_0032_0001__MONSTERS) ) ) ).
( (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))