(roll
(pattern "<indirect:any-living>")
(pattern "<string>")
(pattern "<string> <indirect:any-living>")
(pattern "<string> at <indirect:any-living>")
(pattern "<indirect:any-living> <string>")
(single
(arguments
(arguments around on the floor laughing, up into a paper to be delivered,
up into a ball, over and plays dead, sideways, backwards,
professionally, like a spy through an imaginary door,
fearfully, tightly, slowly, a joint)
(self "You roll $arg$.")
(rest "$mcname$ rolls $arg$.")
)
(arguments
(arguments eyes,own cigarette)
(self "You roll your $arg$.")
(rest "$mcname$ rolls $mposs$ $arg$.")
)
)
(targeted
(no-arguments
(self "You roll over $hcname$.")
(target "$mcname$ rolls over you.")
(rest "$mcname$ rolls over $hcname$.")
)
(arguments
(arguments quickly, slowly, painfully, excitedly, lovingly, carefully)
(self "You roll $arg$ over $hcname$.")
(target "$mcname$ rolls $arg$ over you.")
(rest "$mcname$ rolls $arg$ over $hcname$.")
)
(arguments
(arguments eyes,own cigarette)
(self "You roll your $arg$ at $hcname$.")
(target "$mcname$ rolls $mposs$ $arg$ at you.")
(rest "$mcname$ rolls $mposs$ $arg$ at $hcname$.")
)
(arguments
(arguments around on the floor laughing)
(self "You roll $arg$ at $hcname$.")
(target "$mcname$ rolls $arg$ at you.")
(rest "$mcname$ rolls $arg$ at $hcname$.")
)
)
)