alias UBW_DEFAULT return I am the bone of my ¤n1¤.\¤n2¤ is my body, and ¤n3¤ is my blood.\I have ¤v4¤ over a thousand ¤n5¤.\Unknown to ¤n6¤.\Nor known to ¤n7¤.\Have withstood pain to ¤v8¤ many ¤n9¤.\Yet, these ¤n10¤ will never ¤v11¤ anything.\So as I pray, "Unlimited ¤n12¤ Works." alias UBW_TOKENS return n n n v n n n v n n v n alias UBW_CHANS return #machogang alias UBW_TIMEOUT return 4 alias UBW_DELAY_NICK return 300 alias UBW_DELAY_GLOBAL return 10 alias UBW_ENABLED return 0 on *:text:!ubw*:$($UBW_CHANS): { if ($UBW_ENABLED == 1 && (%ubw_next <= $ctime || %ubw_next == $null)) { if ($eval($+(%,ubw_next_,$nick),2) <= $ctime || $eval($+(%,ubw_next_,$nick),2) == $null) { var %i = 1 while (%i <= 12) { if ($eval($+($,$calc(%i + 1)),2) == $null) { set $+(%,word,%i) $null } else { set $+(%,word,%i) $eval($+($,$calc(%i + 1)),2) } inc %i } var %text = $ubw_translate( %word1 , %word2 , %word3 , %word4 , %word5 , %word6 , %word7 , %word8 , %word9 , %word10 , %word11 , %word12 ) if (%ubw_inprog != 1) { .timer 1 $UBW_TIMEOUT ubw_domsg $chan $nick %text set %ubw_inprog 1 } } } } on *:text:I am the bone of my*:$($UBW_CHANS): { if ($nick != $me) { set %ubw_other 1 .timer 1 10 set %ubw_other 0 } } alias ubw_domsg { if (%ubw_other == 1) { set %ubw_other 0 } else { var %i = 1, %chan = $1, %nick = $2, %text = $3- set $+(%,ubw_next_,%nick) $calc($ctime + $UBW_DELAY_NICK) set %ubw_next $calc($ctime + $UBW_DELAY_GLOBAL) while (%i <= $gettok(%text,0,92)) { msg %chan $gettok(%text,%i,92) inc %i } } set %ubw_inprog 0 ubw_unset } alias ubw_translate { var %i = 1, %word, %text = $UBW_DEFAULT while (%i <= 12) { %word = $null if ($eval($+($,%i),2) == $null) { %word = $read(ubw\ $+ $+($iif($gettok($UBW_TOKENS,%i,32) == n, nouns, verbs),.txt)) } else { %word = $eval($+($,%i),2) } %text = $replace(%text,$+(¤,$gettok($UBW_TOKENS,%i,32),%i,¤),%word) inc %i } return %text } alias ubw_echo { var %i = 1 while (%i <= 12) { if ($eval($+($,%i),2) == $null) { set $+(%,word,%i) $null } else { set $+(%,word,%i) $eval($+($,%i),2) } inc %i } var %text = $ubw_translate( %word1 , %word2 , %word3 , %word4 , %word5 , %word6 , %word7 , %word8 , %word9 , %word10 , %word11 , %word12 ) %i = 1 while (%i <= $gettok(%text,0,92)) { echo -a $gettok(%text,%i,92) inc %i } ubw_unset } alias ubw_unset { unset %word1 %word2 %word3 %word4 %word5 %word6 %word7 %word8 %word9 %word10 %word11 %word12 }