(somersault (pattern "<string>") (pattern "<indirect:any-living>") (pattern "<string> <indirect:any-living>") (pattern "<indirect:any-living> <string>") (single (arguments (arguments forward, backward, double, double backward) (self "You do a $arg$ somersault.") (rest "$mcname$ do$s$ a $arg$ somersault.") ) (arguments (arguments like a frog, like a hamster, off the bed, from a standing start, happily, sadly, ineptly, carefully, but doesn't quite make the landing, head over heels, off into the distance, into the garbage bin, viciously, dangerously, spectacularly, #) (self "You somersault $arg$.") (rest "$mcname$ somersault$s$ $arg$.") ) ) (targeted (arguments (arguments forward, backward, double, double backward) (self "You do a $arg$ somersault over $hcname$.") (target "$mcname$ do$s$ a $arg$ somersault over you.") (rest "$mcname$ do$s$ a $arg$ somersault over $hcname$.") ) (arguments) (arguments like a frog, like a hamster, off the bed, from a standing start, happily, sadly ineptly, carefully, but don't quite make the landing, head over heels, off into the distance, into the garbage bin, viciously, dangerously, spectacularly, #) (self "You somersault over $hcname$ $arg$.") (target "$mcname$ somersault$s$ over you $arg$.") (rest "$mcname$ somersault$s$ over $hcname$ $arg$.") ) (arguments (arguments lap) (self "You somersault and land on $mhcname$ $arg$.") (target "$mcname$ somersault$s$ and lands on your $arg$.") (rest "$mcname$ somersault$s$ and lands on $mhcname$ $arg$.") ) (arguments (arguments shoulders) (self "You somersault and land on $mhcname$ $arg$.") (target "$mcname$ somersault$s$ and lands on your $arg$.") (rest "$mcname$ somersault$s$ and lands on $mhcname$ $arg$.") ) (arguments (arguments diving board, trampoline, bed, chair, lounge, roof, ceiling, feet) (self "You somersault off your $arg$ and land on $hcname$.") (target "$mcname$ somersault$s$ off $mposs$ $arg$ and lands on you.") (rest "$mcname$ somersault$s$ off $mposs$ $arg$ and lands on $hcname$.") ) ) )