(cackle
(pattern "<indirect:any-living>")
(pattern "<string>")
(pattern "<string> [at] <indirect:any-living>")
(pattern "[at] <indirect:any-living> <string>")
(single
(no-arguments
(self "You cackle with glee.")
(rest "$mcname$ throws back $mposs$ head and cackles with glee.")
)
)
(targeted
(no-arguments
(self "You cackle at $hcname$.")
(target "$mcname$ cackles at $hcname$.")
(rest "$mcname$ cackles at $hcname$.")
)
(arguments
(arguments with glee,happily,sadly,brightly,curtly,patiently,slowly,eagerly,expectantly,firmly,sagely,emphatically,knowingly,vigorously,in disagreement,tentatively,angrily,manically,mischievously,nastily,despairingly,womblely,backwards,#)
(self "You cackle $arg$ at $hcname$.")
(target "$mcname$ cackles $arg$ at you.")
(rest "$mcname$ cackles $arg$ at $hcname$.")
)
)
)