Changeset 891


Ignore:
Timestamp:
02/17/08 18:54:27 (4 years ago)
Author:
james
Message:

exciting times

Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/modules/abstract.tcl

    r862 r891  
    344344        } 
    345345 
     346} 
     347 
     348# look to see if an abstract contains an item (warning: could be slow) 
     349proc bMotion_abstract_contains { abstract item } { 
     350        bMotion_putloglev 4 * "abstract: bMotion_abstract_contains $abstract $item" 
     351 
     352        set contents [bMotion_abstract_all $abstract] 
     353        putlog $contents 
     354 
     355        if {[llength $contents] == 0} { 
     356                return 0 
     357        } 
     358 
     359        set location [lsearch $contents $item] 
     360        if {$location > -1} { 
     361                return 1 
     362        } else { 
     363                return 0 
     364        } 
    346365} 
    347366 
  • trunk/modules/abstracts/en/abstracts.tcl

    r882 r891  
    10281028bMotion_abstract_register "lols" 
    10291029bMotion_abstract_register "lostPlot" 
    1030 bMotion_abstract_register "loveresponses" 
    10311030bMotion_abstract_register "makeItSos" 
    10321031bMotion_abstract_register "mingreplies" 
     
    11241123bMotion_abstract_batchadd "sorryoks" [list "ok" "that's ok" "alright then" "i forgive you" "/spanks %%%|%BOT\[¬VAR{rarrs}\]" "That's ok then. I suppose. Don't think this makes me like you again though" "humph" ] 
    11251124 
    1126 bMotion_abstract_batchadd "loveresponses" [list "awww thanks" "i love you too" "i wuv you too" "and i love you" "and i wuv you" "aww wuv you too" "awww *giggle*" "i love you just as much" "i want to have your babies" "/blushes" "hehe thanks" "you know, I've always loved you the most" ":*" ":x" ] 
     1125bMotion_abstract_register "loveresponses" { 
     1126        "awww thanks"  
     1127        "i love you too"  
     1128        "i wuv you too"  
     1129        "and i love you"  
     1130        "and i wuv you"  
     1131        "aww wuv you too"  
     1132        "awww *giggle*"  
     1133        "i love you just as much"  
     1134        "i want to have your babies"  
     1135        "/blushes"  
     1136        "hehe thanks"  
     1137        "you know, I've always loved you the most"  
     1138        ":*"  
     1139        ":x" 
     1140        "and i love you th%REPEAT{3:7:i}s much: <%REPEAT{10:50:-}>" 
     1141} 
     1142 
     1143bMotion_abstract_register "loveresponses_male" { 
     1144        "and i love you th%REPEAT{3:7:i}s much:%|*schwing*%|%VAR{oops}" 
     1145} 
    11271146 
    11281147bMotion_abstract_batchadd "hugs" [list "*hugs %%*" "/huggles %%" "/snuggles %%" "*snuggles %%*" "/huggles with %%" "/squeezes %%" "/snoofles %%" ] 
  • trunk/modules/friendship.tcl

    r889 r891  
    6363proc setFriendshipHandle { handle friendship } { 
    6464        if {$friendship > 100} { 
    65                 bMotion_putloglev 2 * "friendship: friendship for $nick went over 100, capping back to 90" 
     65                bMotion_putloglev 2 * "friendship: friendship for $handle went over 100, capping back to 90" 
    6666                set friendship 90 
    6767        } 
    6868 
    6969        if {$friendship < 1} { 
    70                 bMotion_putloglev 2 * "friendship: friendship for $nick went under 1, capping back to 10" 
     70                bMotion_putloglev 2 * "friendship: friendship for $handle went under 1, capping back to 10" 
    7171                set friendship 10 
    7272        } 
     
    8585                if {![validuser $nick]} { 
    8686                        bMotion_putloglev 1 * "friendship: couldn't find a handle for $nick to set friendship." 
    87                         return 50 
     87                        return 0 
    8888                } 
    8989                set handle $nick 
    9090        } 
    9191 
    92  
    93         if {$friendship > 100} { 
    94                 bMotion_putloglev 2 * "friendship: friendship for $nick went over 100, capping back to 9" 
    95                 set friendship 99 
    96         } 
    97  
    98         if {$friendship < 0} { 
    99                 bMotion_putloglev 2 * "friendship: friendship for $nick went under 0, capping back to 1" 
    100                 set friendship 1 
    101         } 
    102  
    103  
    104         catch { 
    105                 setuser $handle XTRA friend $friendship 
    106         } 
     92        setFriendshipHandle $handle $friendship 
    10793} 
    10894 
  • trunk/modules/output.tcl

    r882 r891  
    3131 
    3232proc pickRandom { list } { 
    33                 bMotion_putloglev 5 * "pickRandom ($list)" 
     33        bMotion_putloglev 5 * "pickRandom ($list)" 
    3434        return [lindex $list [rand [llength $list]]] 
    3535} 
    3636 
    3737proc getPronoun {} { 
    38                 bMotion_putloglev 5 * "getPronoun" 
     38        bMotion_putloglev 5 * "getPronoun" 
    3939        global bMotionInfo 
    4040        if {$bMotionInfo(gender) == "male"} { return "himself" } 
     
    4444 
    4545proc getHisHers {} { 
    46                 bMotion_putloglev 5 * "getHisHers" 
     46        bMotion_putloglev 5 * "getHisHers" 
    4747        global bMotionInfo 
    4848        if {$bMotionInfo(gender) == "male"} { return "his" } 
     
    5252 
    5353proc getHisHer {} { 
    54                 bMotion_putloglev 5 * "getHisHer" 
     54        bMotion_putloglev 5 * "getHisHer" 
    5555        global bMotionInfo 
    5656        if {$bMotionInfo(gender) == "male"} { return "his" } 
     
    6161 
    6262proc getHeShe {} { 
    63                 bMotion_putloglev 5 * "getHeShe" 
     63        bMotion_putloglev 5 * "getHeShe" 
    6464        global bMotionInfo 
    6565        if {$bMotionInfo(gender) == "male"} { return "he" } 
     
    7070 
    7171proc mee {channel action {urgent 0} } { 
    72                 bMotion_putloglev 5 * "mee ($channel, $action, $urgent)" 
     72        bMotion_putloglev 5 * "mee ($channel, $action, $urgent)" 
    7373        set channel [chandname2name $channel] 
    7474        if {$urgent} { 
     
    8484        bMotion_putloglev 5 * "bMotionDoAction($channel,$nick,$text,$moreText,$noTypo)" 
    8585        global bMotionInfo bMotionCache bMotionOriginalInput 
    86                 global bMotion_output_delay bMotionSettings BMOTION_SLEEP 
    87  
    88                 set bMotion_output_delay 0 
     86        global bMotion_output_delay bMotionSettings BMOTION_SLEEP 
     87 
     88        set bMotion_output_delay 0 
    8989 
    9090        set bMotionCache($channel,last) 1 
     
    9696        } 
    9797 
    98                 # check if we're asleep 
    99                 if {$bMotionSettings(asleep) == $BMOTION_SLEEP(ASLEEP)} { 
    100                                 return 0 
    101                 } 
     98        # check if we're asleep 
     99        if {$bMotionSettings(asleep) == $BMOTION_SLEEP(ASLEEP)} { 
     100        return 0 
     101        } 
    102102 
    103103        if [regexp "^\[#!\].+" $channel] { 
    104104                set channel [string tolower $channel] 
    105                                 if {![channel get $channel bmotion]} { 
     105                if {![channel get $channel bmotion]} { 
    106106                        bMotion_putloglev d * "bMotion: aborting bMotionDoAction ... $channel not allowed" 
    107107                        return 0 
     
    137137 
    138138                while {[string match "*%|*" $text]} { 
    139                                                 set origtext $text 
     139                        set origtext $text 
    140140                        set sentence [string range $text 0 [expr [string first "%|" $text] -1]] 
    141141                        if {$sentence != ""} { 
     
    148148                        } 
    149149                        set text [string range $text [expr [string first "%|" $text] + 2] end] 
    150                                                 if {$text == $origtext} { 
     150                        if {$text == $origtext} { 
    151151                                putlog "bMotion ALERT! Bailed in bMotionDoAction with $text. Lost output." 
    152152                                return 0 
     
    341341 
    342342proc bMotionInterpolation2 { line } { 
    343                 bMotion_putloglev 5 * "bMotionInterpolation2 ($line)" 
     343        bMotion_putloglev 5 * "bMotionInterpolation2 ($line)" 
    344344        #owners 
    345345        set loops 0 
     
    348348                set BOOM [string map {\\ \\\\ [ \\\[ ] \\\] \{ \\\{ \} \\\} $ \\\$ \" \\\" | \\\|} $BOOM] 
    349349 
    350                 incr loops 
    351                 if {$loops > 10} { 
    352                         putlog "bMotion: ALERT! looping too much in %OWNER code with $line" 
    353                         set line "/has a tremendous error while trying to sort something out :(" 
    354                 } 
    355                 # set line [bMotionInsertString $line "%OWNER\{$BOOM\}" [bMotionMakePossessive $BOOM]] 
    356                 regsub -nocase "%OWNER\{$BOOM\}" $line [bMotionMakePossessive $BOOM] line 
    357                 regsub -all "\\\\" $line "" line 
    358         } 
    359  
    360         set loops 0 
    361         while {[regexp -nocase "%VERB\{(.*?)\}" $line matches BOOM]} { 
    362                 incr loops 
    363                 if {$loops > 10} { 
    364                         putlog "bMotion: ALERT! looping too much in %VERB code with $line" 
    365                         set line "/has a tremendous error while trying to sort something out :(" 
    366                 } 
    367                 # set line [bMotionInsertString $line "%VERB\{$BOOM\}" [bMotionMakeVerb $BOOM]] 
    368                 regsub -nocase "%VERB\{$BOOM\}" $line [bMotionMakeVerb $BOOM] line 
    369         } 
    370  
    371         set loops 0 
    372         while {[regexp -nocase "%PLURAL\{(.*?)\}" $line matches BOOM]} { 
    373                 incr loops 
    374                 if {$loops > 10} { 
    375                         putlog "bMotion: ALERT! looping too much in %PLURAL code with $line" 
    376                         set line "/has a tremendous error while trying to sort something out :(" 
    377                 } 
    378                 # set line [bMotionInsertString $line "%PLURAL\{$BOOM\}" [bMotionMakePlural $BOOM]] 
    379                 regsub -nocase "%PLURAL\{$BOOM\}" $line [bMotionMakePlural $BOOM] line 
    380         } 
    381  
    382         set loops 0 
    383         while {[regexp -nocase "%REPEAT\{(.+?)\}" $line matches BOOM]} { 
    384                 incr loops 
    385                 if {$loops > 10} { 
    386                         putlog "bMotion: ALERT! looping too much in %REPEAT code with $line" 
    387                         set line "/has a tremendous error while trying to sort something out :(" 
    388                 } 
    389                                 set replacement [bMotionMakeRepeat $BOOM] 
    390                 regsub -nocase "%REPEAT\\{$BOOM\\}" $line $replacement line 
    391         } 
    392  
    393         return $line 
     350        incr loops 
     351        if {$loops > 10} { 
     352                putlog "bMotion: ALERT! looping too much in %OWNER code with $line" 
     353                set line "/has a tremendous error while trying to sort something out :(" 
     354        } 
     355        # set line [bMotionInsertString $line "%OWNER\{$BOOM\}" [bMotionMakePossessive $BOOM]] 
     356        regsub -nocase "%OWNER\{$BOOM\}" $line [bMotionMakePossessive $BOOM] line 
     357        regsub -all "\\\\" $line "" line 
     358} 
     359 
     360set loops 0 
     361while {[regexp -nocase "%VERB\{(.*?)\}" $line matches BOOM]} { 
     362        incr loops 
     363        if {$loops > 10} { 
     364                putlog "bMotion: ALERT! looping too much in %VERB code with $line" 
     365                set line "/has a tremendous error while trying to sort something out :(" 
     366        } 
     367        # set line [bMotionInsertString $line "%VERB\{$BOOM\}" [bMotionMakeVerb $BOOM]] 
     368        regsub -nocase "%VERB\{$BOOM\}" $line [bMotionMakeVerb $BOOM] line 
     369} 
     370 
     371set loops 0 
     372while {[regexp -nocase "%PLURAL\{(.*?)\}" $line matches BOOM]} { 
     373        incr loops 
     374        if {$loops > 10} { 
     375                putlog "bMotion: ALERT! looping too much in %PLURAL code with $line" 
     376                set line "/has a tremendous error while trying to sort something out :(" 
     377        } 
     378        # set line [bMotionInsertString $line "%PLURAL\{$BOOM\}" [bMotionMakePlural $BOOM]] 
     379        regsub -nocase "%PLURAL\{$BOOM\}" $line [bMotionMakePlural $BOOM] line 
     380} 
     381 
     382set loops 0 
     383while {[regexp -nocase "%REPEAT\{(.+?)\}" $line matches BOOM]} { 
     384        incr loops 
     385        if {$loops > 10} { 
     386                putlog "bMotion: ALERT! looping too much in %REPEAT code with $line" 
     387                set line "/has a tremendous error while trying to sort something out :(" 
     388        } 
     389        set replacement [bMotionMakeRepeat $BOOM] 
     390        regsub -nocase "%REPEAT\\{$BOOM\\}" $line $replacement line 
     391} 
     392 
     393return $line 
    394394} 
    395395 
     
    397397        bMotion_putloglev 5 * "bMotionSayLine: channel = $channel, nick = $nick, line = $line, moreText = $moreText, noTypo = $noTypo" 
    398398        global mood botnick bMotionInfo bMotionCache bMotionOriginalInput 
    399                 global bMotion_output_delay 
     399        global bMotion_output_delay 
    400400 
    401401        set line [bMotionInterpolation2 $line] 
     
    408408                set dobreak 0 
    409409                if {$botcmd == "bot"} { 
    410                         #random 
     410                #random 
    411411                        bMotion_putloglev 1 * "bMotion: %bot detected" 
    412412                        regexp {%bot\[([[:digit:]]+),(@[^,]+,)?(.+)\]} $line matches chance condition cmd 
     
    420420                        } 
    421421                } else { 
    422                         #non-random 
    423                         regexp {%BOT\[(@[^,]+,)?(.+)\]} $line matches condition cmd 
     422                #non-random 
     423                regexp {%BOT\[(@[^,]+,)?(.+)\]} $line matches condition cmd 
    424424                } 
    425425 
     
    452452 
    453453        if [regexp {%DELAY\{([0-9]+)\}} $line matches delay] { 
    454                         set bMotion_output_delay $delay 
    455                         bMotion_putloglev d * "Changing output delay to $delay" 
    456                         set line "" 
     454                set bMotion_output_delay $delay 
     455                bMotion_putloglev d * "Changing output delay to $delay" 
     456                set line "" 
    457457        } 
    458458 
     
    482482                                } 
    483483                                if {$result == ""} { 
    484                                                 return 0 
     484                                        return 0 
    485485                                } 
    486486                                set line $result 
     
    494494        } 
    495495 
    496                 if {[string index $line end] == " "} { 
    497                                 set line [string range $line 0 end-1] 
    498                 } 
     496        if {[string index $line end] == " "} { 
     497                set line [string range $line 0 end-1] 
     498        } 
    499499 
    500500        #check if this line matches the last line said on IRC 
     
    504504                return 0 
    505505        } 
    506                  
    507                 #protect this block - it'll generate an error if noone's talked yet, and then 
    508                 #we try an admin plugin 
    509                 if [info exists bMotionOriginalInput] { 
    510                                 if [string match -nocase $bMotionOriginalInput $line] { 
    511                                                 bMotion_putloglev 1 * "my output matches the trigger, dropping" 
    512                                                 return 0 
    513                                 } 
    514                 } 
    515  
    516         set line [bMotionInsertString $line "%slash" "/"] 
    517  
    518                 global bMotion_output_delay 
    519  
    520         if [regexp "^/" $line] { 
    521                 #it's an action 
    522                 mee $channel [string range $line 1 end] $urgent 
     506 
     507        #protect this block - it'll generate an error if noone's talked yet, and then 
     508        #we try an admin plugin 
     509        if [info exists bMotionOriginalInput] { 
     510        if [string match -nocase $bMotionOriginalInput $line] { 
     511        bMotion_putloglev 1 * "my output matches the trigger, dropping" 
     512        return 0 
     513        } 
     514        } 
     515 
     516set line [bMotionInsertString $line "%slash" "/"] 
     517 
     518global bMotion_output_delay 
     519 
     520if [regexp "^/" $line] { 
     521#it's an action 
     522        mee $channel [string range $line 1 end] $urgent 
     523} else { 
     524        if {$urgent} { 
     525                bMotion_queue_add_now [chandname2name $channel] $line 
    523526        } else { 
    524                 if {$urgent} { 
    525                         bMotion_queue_add_now [chandname2name $channel] $line 
    526                 } else { 
    527                         bMotion_queue_add [chandname2name $channel] $line $bMotion_output_delay 
    528                 } 
    529         } 
    530         return 0 
     527                bMotion_queue_add [chandname2name $channel] $line $bMotion_output_delay 
     528        } 
     529} 
     530return 0 
    531531} 
    532532 
    533533proc bMotionInsertString {line swapout toInsert} { 
    534                 bMotion_putloglev 5 * "bMotionInsertString ($line, $swapout, $toInsert)" 
     534        bMotion_putloglev 5 * "bMotionInsertString ($line, $swapout, $toInsert)" 
    535535        set loops 0 
    536536        set inputLine $line 
     
    548548 
    549549proc bMotionGetColenChars {} { 
    550                 bMotion_putloglev 5 * "bMotionGetColenChars" 
     550        bMotion_putloglev 5 * "bMotionGetColenChars" 
    551551        set randomChar "!£$%^*@#~" 
    552552 
     
    569569 
    570570proc makeSmiley { mood } { 
    571                 bMotion_putloglev 5 * "makeSmiley" 
     571        bMotion_putloglev 5 * "makeSmiley" 
    572572        if {$mood > 30} { 
    573573                return ":D" 
     
    592592# 
    593593proc bMotionWashNick { nick } { 
    594                 bMotion_putloglev 5 * "bMotionWashNick ($nick)" 
     594        bMotion_putloglev 5 * "bMotionWashNick ($nick)" 
    595595        #remove leading 
    596596        regsub {^[|`_\[]+} $nick "" nick 
     
    620620                set handle [finduser $host] 
    621621                if {$handle == "*"} { 
    622                         #not in bot 
     622                #not in bot 
    623623                        bMotion_putloglev 2 * "bMotion: no match, washing nick" 
    624624                        return [bMotionWashNick $nick] 
     
    633633        set realname [getuser $handle XTRA irl] 
    634634        if {$realname == ""} { 
    635                 #not set 
     635        #not set 
    636636                return [bMotionWashNick $nick] 
    637637        } 
     
    653653 
    654654        if [validuser $nick] { 
    655                 #it's a handle already 
     655        #it's a handle already 
    656656                set handle $nick 
    657657        } else { 
    658                 #try to figure it out 
     658        #try to figure it out 
    659659                set handle [nick2hand $nick] 
    660660                if {($handle == "") ||($handle == "*")} { 
    661                         #not in bot 
     661                #not in bot 
    662662                        bMotion_putloglev 2 * "bMotion: no match, using nick" 
    663663                        return $nick 
     
    670670        set realname [getuser $handle XTRA irl] 
    671671        if {$realname == ""} { 
    672                 #not set 
     672        #not set 
    673673                bMotion_putloglev 2 * "no IRL set, using nick" 
    674674                return $nick 
     
    679679 
    680680proc bMotionTransformNick { target nick {host ""} } { 
    681                 bMotion_putloglev 5 * "bMotionTransformNick($target, $nick, $host)" 
     681        bMotion_putloglev 5 * "bMotionTransformNick($target, $nick, $host)" 
    682682        set newTarget [bMotionTransformTarget $target $host] 
    683683        if {$newTarget == "me"} { 
     
    688688 
    689689proc bMotionTransformTarget { target {host ""} } { 
    690                 bMotion_putloglev 5 * "bMotionTransformTarget($target, $host)" 
     690        bMotion_putloglev 5 * "bMotionTransformTarget($target, $host)" 
    691691        global botnicks 
    692692        if {$target != "me"} { 
     
    718718#               * prev - return previously chosen user/bot 
    719719proc bMotion_choose_random_user { channel bot condition } { 
    720         bMotion_putloglev 5 * "bMotion_choose_random_user ($channel, $bot, $condition)" 
     720        bMotion_putloglev 5 * "ruser: bMotion_choose_random_user ($channel, $bot, $condition)" 
    721721        global bMotionCache 
    722722        set users [chanlist $channel] 
     
    729729                        set what [array get bMotionCache "lastruser$bot"] 
    730730                } 
    731                 bMotion_putloglev 4 * "accept: prev ($what)" 
     731                bMotion_putloglev 4 * "ruser: accept: prev ($what)" 
    732732                return [lindex $what 1] 
    733733        } 
    734734 
    735735        foreach user $users { 
    736                 bMotion_putloglev 4 * "eval user $user" 
     736                bMotion_putloglev 4 * "ruser: eval user $user" 
    737737                #is it me? 
    738                 if [isbotnick $user] { continue } 
     738                if [isbotnick $user] {  
     739                        bMotion_putloglev 4 * "ruser:  that's me" 
     740                        continue  
     741                } 
    739742 
    740743                if {[bMotion_setting_get "bitlbee"] && ($user == "root")} { 
    741                         bMotion_putloglev 4 * "  --reject: bitlbee root user" 
     744                        bMotion_putloglev 4 * "ruser:  reject: bitlbee root user" 
    742745                        continue 
    743746                } 
     
    746749                #get their handle 
    747750                set handle [nick2hand $user $channel] 
    748                 bMotion_putloglev 4 * "  handle: $handle" 
     751                bMotion_putloglev 4 * "ruser:  handle: $handle" 
    749752 
    750753                # some people don't like interacting with the bot 
    751754                if [matchattr $handle J] { 
    752                         bMotion_putloglev 4 * "  --reject: user is +J" 
     755                        bMotion_putloglev 4 * "ruser:  reject: user is +J" 
    753756                        continue 
    754757                } 
     
    756759                #unless we're looking for any old user, we'll need handle 
    757760                if {(($handle == "") || ($handle == "*")) && ($condition != "")} { 
    758                         bMotion_putloglev 4 * "  --reject: no handle" 
     761                        bMotion_putloglev 4 * "ruser:  reject: no handle" 
    759762                        continue 
    760763                } 
     
    763766                #we don't want a bot, then use nick 
    764767                if {(($handle == "") || ($handle == "*")) && ($condition == "") && ($bot == 0)} { 
    765                         bMotion_putloglev 4 * "  ++accept: $user (no handle)" 
     768                        bMotion_putloglev 4 * "ruser:  accept: $user (no handle)" 
    766769                        lappend acceptable $user 
    767770                        continue 
     
    771774                if {$bot == 1} { 
    772775                        if {![matchattr $handle b]} { 
    773                                 bMotion_putloglev 4 * "  --reject: not a bot" 
     776                                bMotion_putloglev 4 * "ruser:  reject: not a bot" 
    774777                                continue 
    775778                        } 
     
    777780                        global bMotion_interbot_otherbots 
    778781                        if {[lsearch [array names bMotion_interbot_otherbots] $handle] == -1} { 
    779                                 bMotion_putloglev 4 * "  --reject: not a bmotion bot" 
     782                                bMotion_putloglev 4 * "ruser:  reject: not a bmotion bot" 
    780783                                continue 
    781784                        } 
    782785                        #else add them 
    783786                        lappend acceptable $user 
    784                         bMotion_putloglev 4 * "  ++accept: bmotion bot" 
     787                        bMotion_putloglev 4 * "ruser:  accept: bmotion bot" 
    785788                        continue 
    786789                } 
     
    788791                #conversely if we're looking for a user... 
    789792                if {($bot == 0) && [matchattr $handle b]} { 
    790                         bMotion_putloglev 4 * "  --reject: not a user" 
     793                        bMotion_putloglev 4 * "ruser:  reject: not a user" 
    791794                        continue 
    792795                } 
     
    794797                switch $condition { 
    795798                        "" { 
    796                                 bMotion_putloglev 4 * "  ++accept: any" 
     799                                bMotion_putloglev 4 * "ruser:  accept: any" 
    797800                                lappend acceptable $handle 
    798801                                continue 
     
    800803                        "male" { 
    801804                                if {[getuser $handle XTRA gender] == "male"} { 
    802                                         bMotion_putloglev 4 * "  ++accept: male" 
     805                                        bMotion_putloglev 4 * "ruser:  accept: male" 
    803806                                        lappend acceptable $handle 
    804807                                        continue 
     
    807810                        "female" { 
    808811                                if {[getuser $handle XTRA gender] == "female"} { 
    809                                         bMotion_putloglev 4 * "  ++accept: female" 
     812                                        bMotion_putloglev 4 * "ruser:  accept: female" 
    810813                                        lappend acceptable $handle 
    811814                                        continue 
     
    814817                        "like" { 
    815818                                if {[bMotionLike $user [getchanhost $user]]} { 
    816                                         bMotion_putloglev 4 * "  ++accept: like" 
     819                                        bMotion_putloglev 4 * "ruser:  accept: like" 
    817820                                        lappend acceptable $handle 
    818821                                        continue 
     
    821824                        "dislike" { 
    822825                                if {![bMotionLike $user [getchanhost $user]]} { 
    823                                         bMotion_putloglev 4 * "  ++accept: dislike" 
     826                                        bMotion_putloglev 4 * "ruser:  accept: dislike" 
    824827                                        lappend acceptable $handle 
    825828                                        continue 
     
    827830                        } 
    828831                        "friend" { 
    829                                 if {[getFriendshipHandle $user] > 50} { 
    830                                         bMotion_putloglev 4 * "  ++accept: friend" 
     832                                if {[getFriendshipHandle $user] >= 50} { 
     833                                        bMotion_putloglev 4 * "ruser:  accept: friend" 
    831834                                        lappend acceptable $handle 
    832835                                        continue 
     
    835838                        "enemy" { 
    836839                                if {[getFriendshipHandle $user] < 50} { 
    837                                         bMotion_putloglev 4 * "  ++accept: enemy" 
     840                                        bMotion_putloglev 4 * "ruser:  accept: enemy" 
    838841                                        lappend acceptable $handle 
    839842                                        continue 
     
    842845                } 
    843846        } 
    844         bMotion_putloglev 4 * "acceptable users: $acceptable" 
     847        bMotion_putloglev 4 * "ruser: acceptable users: $acceptable" 
    845848        if {[llength $acceptable] > 0} { 
    846849                set user [pickRandom $acceptable] 
     
    849852                return $user 
    850853        } else { 
     854                bMotion_putloglev 4 * "ruser: no acceptable users found" 
    851855                if {$condition != ""} { 
     856                        bMotion_putloglev 4 * "ruser: picking a random user" 
    852857                        return [bMotion_choose_random_user $channel $bot ""] 
    853858                } else { 
     859                        bMotion_putloglev 4 * "ruser: unable to find a user, returning nothing" 
    854860                        return "" 
    855861                } 
     
    858864 
    859865proc bMotionMakePossessive { text { altMode 0 }} { 
    860                 bMotion_putloglev 5 * "bMotionMakePossessive ($text, $altMode)" 
     866        bMotion_putloglev 5 * "bMotionMakePossessive ($text, $altMode)" 
    861867        if {$text == ""} { 
    862868                return "someone's" 
     
    884890 
    885891proc bMotionMakeRepeat { text } { 
    886                 bMotion_putloglev 5 * "bMotionMakeRepeat ($text)" 
     892        bMotion_putloglev 5 * "bMotionMakeRepeat ($text)" 
    887893        if [regexp {([0-9]+):([0-9]+):(.+)} $text matches min max repeat] { 
    888                                 bMotion_putloglev 4 * "bMotionMakeRepeat: min = $min, max = $max, text = $repeat" 
     894                bMotion_putloglev 4 * "bMotionMakeRepeat: min = $min, max = $max, text = $repeat" 
    889895                set diff [expr $max - $min] 
    890896                if {$diff < 1} { 
    891                                 set diff 1 
     897                        set diff 1 
    892898                } 
    893899                set count [rand $diff] 
     
    896902                return $repstring 
    897903        } 
    898                 bMotion_putloglev 4 * "bMotionMakeRepeat: no match (!), returning nothing" 
     904        bMotion_putloglev 4 * "bMotionMakeRepeat: no match (!), returning nothing" 
    899905        return "" 
    900906} 
    901907 
    902908proc bMotion_strip_article { text } { 
    903                 bMotion_putloglev 5 * "bMotion_strip_article ($text)" 
    904                                 regsub "(an?|the|some) " $text "" text 
    905                                 return $text 
     909        bMotion_putloglev 5 * "bMotion_strip_article ($text)" 
     910        regsub "(an?|the|some) " $text "" text 
     911        return $text 
    906912} 
    907913 
    908914proc bMotionMakeVerb { text } { 
    909                 bMotion_putloglev 5 * "bMotionMakeVerb ($text)" 
     915        bMotion_putloglev 5 * "bMotionMakeVerb ($text)" 
    910916        if [regexp -nocase "(s|x)$" $text matches letter] { 
    911917                return $text 
     
    922928} 
    923929proc chr c { 
    924                 if {[string length $c] > 1 } { error "chr: arg should be a single char"} 
    925                 #               set c [ string range $c 0 0] 
    926                                 set v 0 
    927                                 scan $c %c v 
    928                                 return $v 
     930        if {[string length $c] > 1 } { error "chr: arg should be a single char"} 
     931        #               set c [ string range $c 0 0] 
     932        set v 0 
     933        scan $c %c v 
     934        return $v 
    929935} 
    930936 
  • trunk/modules/system.tcl

    r886 r891  
    400400proc bMotionLike {nick { host "" }} { 
    401401        global bMotionInfo mood bMotionSettings 
     402 
     403        bMotion_putloglev 4 * "bMotionLike: $nick $host" 
     404         
     405        if {$bMotionSettings(melMode) == 1} { 
     406                bMotion_putloglev 3 * "like: melmode is on, i'll do anyone" 
     407                return 1 
     408        } 
     409 
    402410        if {$host == ""} { 
    403411                set host [getchanhost $nick] 
     
    405413 
    406414        set host "$nick!$host" 
    407  
    408         if {$bMotionSettings(melMode) == 1} { 
    409                 return 1 
    410         } 
    411415 
    412416        set handle [finduser $host] 
     
    415419                #if i'm stoned enough, i'll sleep with anyone 
    416420                if {$mood(stoned) > 20} { 
     421                        bMotion_putloglev 3 * "like: i'm sufficiently stoned to do anyone" 
    417422                        return 1 
    418423                } 
     
    420425                #if i'm horny enough, i'll sleep with anyone 
    421426                if {$mood(horny) > 10} { 
     427                        bMotion_putloglev 3 * "like: i'm sufficiently horny to do anyone" 
    422428                        return 1 
    423429                } 
    424430                #else they can get lost 
     431                bMotion_putloglev 3 * "like: $host doesn't have a matching handle, so they can go away" 
    425432                return 0 
    426433        } 
    427434 
    428435        #don't like people who aren't my friends 
    429         if {![bMotionIsFriend $nick]} { return 0 } 
     436        if {![bMotionIsFriend $nick]} {  
     437                bMotion_putloglev 3 * "like: I don't do people I'm not friends with" 
     438                return 0  
     439        } 
    430440 
    431441        # we're friends, now get their gender 
    432442        set gender [getuser $handle XTRA gender] 
    433443        if {$gender == ""} { 
     444                bMotion_putloglev 3 * "like: $handle is genderless, so I'll do them. it's only 50/50 anyway. i like those odds!" 
    434445                # they don't have a gender. let's assume we'd have sex with them too 
    435446                return 1 
     
    438449                #they're my gender 
    439450                if {($bMotionInfo(orientation) == "bi") || ($bMotionInfo(orientation) == "gay") || ($bMotionInfo(orientation) == "lesbian")} { 
     451                        bMotion_putloglev 3 * "like: $handle is my gender and I like that" 
    440452                        return 1 
    441453                } 
     454                bMotion_putloglev 3 * "like: $handle is my gender and that's not koo" 
    442455                return 0 
    443456        } 
    444457        #they're not my gender. what now? 
    445458        if {($bMotionInfo(orientation) == "bi") || ($bMotionInfo(orientation) == "straight")} { 
     459                bMotion_putloglev 3 * "like: $handle isn't my gender and that's not koo" 
    446460                return 1 
    447461        } 
    448462        # that only leaves lesbian and gay who won't sleep with the opposite gender 
     463        bMotion_putloglev 3 * "like: nope, default case" 
    449464        return 0 
    450465} 
  • trunk/plugins/en/action_complex_attack.tcl

    r753 r891  
    1616 
    1717proc bMotion_plugin_complex_action_attack { nick host handle channel text } {   
    18   if {![bMotion_interbot_me_next $channel]} { return 1 } 
    19   set damage [rand 1500] 
    20   regexp -nocase "^attacks (.+) with (.+)" $text matches who item 
    21   set who [bMotionGetRealName $who] 
    22   regexp -nocase "(an?|the|some|his|her) (.+)" $item matches blah item 
    23   bMotion_plugins_settings_set "complex:attacks" "who" "" "" $who 
    24   bMotion_plugins_settings_set "complex:attacks" "item" "" "" $item 
    25   bMotion_plugins_settings_set "complex:attacks" "score" "" "" $damage 
    26   bMotionDoAction $channel $nick "%VAR{attack_responses}" 
    27   return 1 
     18        if {![bMotion_interbot_me_next $channel]} {  
     19                return 1  
     20        } 
     21        set damage [rand 1500] 
     22        regexp -nocase "^attacks (.+) with (.+)" $text matches who item 
     23        set who [bMotionGetRealName $who] 
     24        regexp -nocase "(an?|the|some|his|her) (.+)" $item matches blah item 
     25        bMotion_plugins_settings_set "complex:attacks" "who" "" "" $who 
     26        bMotion_plugins_settings_set "complex:attacks" "item" "" "" $item 
     27        bMotion_plugins_settings_set "complex:attacks" "score" "" "" $damage 
     28        bMotionDoAction $channel $nick "%VAR{attack_responses}" 
     29        return 1 
    2830} 
    2931 
    3032bMotion_abstract_register "attack_responses" 
    3133bMotion_abstract_batchadd "attack_responses" { 
    32   "%% attacks %SETTING{complex:attacks:who:_:_} with '%SETTING{complex:attacks:item:_:_}' for %SETTING{complex:attacks:score:_:_} damage." 
    33   "%SETTING{complex:attacks:who:_:_} takes %SETTING{complex:attacks:score:_:_} damage from %OWNER{%%} '%SETTING{complex:attacks:item:_:_}'" 
    34   "%SETTING{complex:attacks:who:_:_} is tremendously damaged by the %SETTING{complex:attacks:item:_:_} and takes %SETTING{complex:attacks:score:_:_} damage!" 
    35   "MISS!" 
    36   "%SETTING{complex:attacks:who:_:_} is immune to '%SETTING{complex:attacks:item:_:_}'" 
    37   "%SETTING{complex:attacks:who:_:_} absorbs the damage and gains %SETTING{complex:attacks:score:_:_} HP!" 
     34        "%% attacks %SETTING{complex:attacks:who:_:_} with '%SETTING{complex:attacks:item:_:_}' for %SETTING{complex:attacks:score:_:_} damage." 
     35        "%SETTING{complex:attacks:who:_:_} takes %SETTING{complex:attacks:score:_:_} damage from %OWNER{%%} '%SETTING{complex:attacks:item:_:_}'" 
     36        "%SETTING{complex:attacks:who:_:_} is tremendously damaged by the %SETTING{complex:attacks:item:_:_} and takes %SETTING{complex:attacks:score:_:_} damage!" 
     37        "MISS!" 
     38        "%SETTING{complex:attacks:who:_:_} is immune to '%SETTING{complex:attacks:item:_:_}'" 
     39        "%SETTING{complex:attacks:who:_:_} absorbs the damage and gains %SETTING{complex:attacks:score:_:_} HP!" 
    3840} 
  • trunk/plugins/en/action_complex_fucks.tcl

    r662 r891  
    1515 
    1616bMotion_plugin_add_action_complex "fuck" "((s(e|3)x(o|0)r(s|z|5))|(fluffles)|fucks|paalt|shags|paalt|fondles|ravages|rapes|spanks|kisses|zoent|snogs) %botnicks" 100 bMotion_plugin_complex_action_fucks "en" 
     17 
    1718proc bMotion_plugin_complex_action_fucks { nick host handle channel text } { 
    18   global botnicks 
     19        global botnicks 
    1920        if [regexp -nocase "((s(e|3)x(o|0)r(s|z|5))|(fluffles)|fucks|paalt|shags|paalt|fondles|ravages|rapes|spanks|kisses|zoent|snogs) $botnicks" $text] { 
    20     if {[regexp -nocase "(ass|arse|bottom|anal|rape(s)?|fist)" $text] && ![bMotion_setting_get "kinky"]} { 
    21       driftFriendship $nick -5 
    22       frightened $nick $channel 
    23       return 1 
    24     }     
     21                if {[regexp -nocase "(ass|arse|bottom|anal|rape(s)?|fist)" $text] && ![bMotion_setting_get "kinky"]} { 
     22                        driftFriendship $nick -5 
     23                        frightened $nick $channel 
     24                        return 1 
     25                }                 
     26 
    2527                if [bMotionLike $nick $host] { 
    26       driftFriendship $nick 4 
    27       bMotionDoAction $channel %% "%VAR{rarrs}" 
    28       bMotionGetHappy 
    29       bMotionGetHappy 
    30       bMotionGetHorny 
    31       bMotionGetUnLonely 
    32     } else {       
    33                         frightened $nick $channel 
    34       driftFriendship $nick -1     
    35         } 
     28                        driftFriendship $nick 4 
     29                        bMotionDoAction $channel %% "%VAR{rarrs}" 
     30                        bMotionGetHappy 
     31                        bMotionGetHappy 
     32                        bMotionGetHorny 
     33                        bMotionGetUnLonely 
     34                } else { 
     35                        bMotionDoAction $channel $nick "%VAR{fuck_fail}" 
     36                        driftFriendship $nick -10 
     37                } 
     38 
    3639                return 1 
    3740        } 
    3841} 
     42 
     43bMotion_abstract_register "fuck_fail" { 
     44        "get off me" 
     45        "wtf" 
     46        "not without dinner and drinks first you don't" 
     47        "/calls the police" 
     48        "/phones the police" 
     49        "not again %VAR{unsmiles}" 
     50} 
  • trunk/plugins/en/action_complex_hands.tcl

    r794 r891  
    1717 
    1818proc bMotion_plugin_complex_action_hands { nick host handle channel text } { 
    19   global botnicks 
     19        global botnicks 
    2020        if {[regexp -nocase "(hands|gives) $botnicks ((a|an|the|some) )?(.+)" $text bling act bot moo preposition item]} { 
    21           bMotion_putloglev d * "bMotion: Got handed !$item! by $nick in $channel" 
    22  
    23     #Coffee 
     21                bMotion_putloglev d * "bMotion: Got handed !$item! by $nick in $channel" 
     22 
     23                #Coffee 
    2424                if [regexp -nocase "(cup of )?coffee" $item] { 
    25       bMotion_plugin_complex_action_hands_coffee $channel $nick 
    26       return 1 
    27                 } 
    28  
    29     #hug 
    30     if [regexp -nocase "^hug" $item] { 
    31       if [bMotion_plugin_check_depend "action_complex:hugs"] { 
    32         bMotion_plugin_complex_action_hugs $nick $host $handle $channel "" 
    33         return 1 
    34       } 
    35     } 
    36  
    37     # Tissues 
    38     if [regexp -nocase "((box of)|a)? tissues?" $item] { 
    39       bMotion_plugin_complex_action_hands_tissues $channel $nick 
    40       return 1 
    41     } 
    42  
    43     # Body paint 
    44     if [regexp -nocase "(chocolate|strawberry) (sauce|bodypaint|body paint|body-paint)" $item] { 
    45       bMotion_plugin_complex_action_hands_bodypaint $channel $nick 
    46       return 1 
    47     } 
    48  
    49     # pie 
    50     if [regexp -nocase {\mpie\M} $item] { 
    51       bMotion_plugin_complex_action_hands_pie $channel $nick 
    52       return 1 
    53     } 
    54  
    55     #spliff 
    56     if [regexp -nocase "(spliff|joint|bong|pipe|dope|gear|pot)" $item] { 
    57       bMotion_plugin_complex_action_hands_spliff $channel $nick $handle 
    58       return 1 
    59     } 
    60  
    61     #dildo 
    62     if [regexp -nocase "(dildo|vibrator|cucumber|banana|flute)" $item bling item2] { 
    63       if [bMotion_plugin_check_depend "action_complex:hands_dildo"] { 
    64         bMotion_plugin_complex_action_hands_dildo $channel $nick $item $item2 
    65       } 
    66       return 1 
    67     }  
    68     #end of "hands dildo" 
    69  
    70     #catch everything else 
    71     bMotionDoAction $channel $item "%VAR{hand_generic}" 
    72      
    73     #we'll add it to our random things list for this session too 
    74     bMotion_abstract_add "sillyThings" $item 
    75     return 1 
    76   }  
    77   #end of "hands" handler 
     25                        driftFriendship $nick 5 
     26                        bMotion_plugin_complex_action_hands_coffee $channel $nick 
     27                        return 1 
     28                } 
     29 
     30                #hug 
     31                if [regexp -nocase "^hug" $item] { 
     32                        if [bMotion_plugin_check_depend "action_complex:hugs"] { 
     33                        driftFriendship $nick 5 
     34                                bMotion_plugin_complex_action_hugs $nick $host $handle $channel "" 
     35                                return 1 
     36                        } 
     37                } 
     38 
     39                # Tissues 
     40                if [regexp -nocase "((box of)|a)? tissues?" $item] { 
     41                        bMotion_plugin_complex_action_hands_tissues $channel $nick 
     42                        return 1 
     43                } 
     44 
     45                # Body paint 
     46                if [regexp -nocase "(chocolate|strawberry) (sauce|bodypaint|body paint|body-paint)" $item] { 
     47                        bMotion_plugin_complex_action_hands_bodypaint $channel $nick 
     48                        return 1 
     49                } 
     50 
     51                # pie 
     52                if [regexp -nocase {\mpie\M} $item] { 
     53                        driftFriendship $nick 5 
     54                        bMotion_plugin_complex_action_hands_pie $channel $nick 
     55                        return 1 
     56                } 
     57 
     58                #spliff 
     59                if [regexp -nocase "(spliff|joint|bong|pipe|dope|gear|pot)" $item] { 
     60                        driftFriendship $nick 3 
     61                        bMotion_plugin_complex_action_hands_spliff $channel $nick $handle 
     62                        return 1 
     63                } 
     64 
     65                #dildo 
     66                if [regexp -nocase "(dildo|vibrator|cucumber|banana|flute)" $item bling item2] { 
     67                        if [bMotion_plugin_check_depend "action_complex:hands_dildo"] { 
     68                                bMotion_plugin_complex_action_hands_dildo $channel $nick $item $item2 
     69                        } 
     70                        return 1 
     71                }  
     72                #end of "hands dildo" 
     73 
     74                #catch everything else 
     75                bMotion_abstract_add "sillyThings" $item 
     76 
     77                set original_item $item 
     78                set item [string tolower [bMotion_strip_article $item]] 
     79                regsub "e?s$" $item "" item 
     80 
     81                # check if we already know if we don't like this 
     82                if [bMotion_abstract_contains "_bmotion_dislike" $item] { 
     83                        bMotionDoAction $channel $original_item "%VAR{hand_dislike}" $nick 
     84                        return 1 
     85                } 
     86 
     87                if [bMotion_abstract_contains "_bmotion_like" $item] { 
     88                        bMotionDoAction $channel $original_item "%VAR{hand_like}" $nick 
     89                        return 1 
     90                } 
     91 
     92                if {[rand 100] > 80} { 
     93                        bMotionDoAction $channel $original_item "%VAR{hand_dislike}" $nick 
     94                        bMotion_abstract_add "_bmotion_dislike" $item 
     95                } else { 
     96                        bMotionDoAction $channel $original_item "%VAR{hand_like}" $nick 
     97                        bMotion_abstract_add "_bmotion_like" $item 
     98                } 
     99                return 1 
     100        }  
     101        #end of "hands" handler 
    78102} 
    79103 
     
    83107##### COFFEE 
    84108proc bMotion_plugin_complex_action_hands_coffee { channel nick } { 
    85   global got 
    86   set coffeeNick [bMotion_plugins_settings_get "complexaction:hands" "coffee_nick"  "" ""] 
    87   bMotion_putloglev 1 * "bMotion: ...and it's a cup of coffee... mmmmmmm" 
    88   if {$coffeeNick != ""} { 
    89     bMotion_putloglev 1 * "bMotion: But I already have one :/" 
    90     bMotionDoAction $channel $nick "%%: thanks anyway, but I'm already drinking the one $coffeeNick gave me :)" 
    91     return 1 
    92   } 
    93   driftFriendship $nick 2 
    94   bMotionDoAction $channel "" "%VAR{thanks}" 
    95   bMotionDoAction $channel "" "mmmmm..." 
    96   bMotionDoAction $channel "" "/drinks the coffee %VAR{smiles}" 
    97   bMotion_plugins_settings_set "complexaction:hands" "coffee_nick" "" "" $nick 
    98   bMotion_plugins_settings_set "complexaction:hands" "coffee_channel" "" "" $channel 
    99   utimer 45 { bMotion_plugin_complex_action_hands_finishcoffee } 
    100   return 1 
     109        global got 
     110        set coffeeNick [bMotion_plugins_settings_get "complexaction:hands" "coffee_nick"        "" ""] 
     111        bMotion_putloglev 1 * "bMotion: ...and it's a cup of coffee... mmmmmmm" 
     112        if {$coffeeNick != ""} { 
     113                bMotion_putloglev 1 * "bMotion: But I already have one :/" 
     114                bMotionDoAction $channel $nick "%%: thanks anyway, but I'm already drinking the one $coffeeNick gave me :)" 
     115                return 1 
     116        } 
     117        driftFriendship $nick 2 
     118        bMotionDoAction $channel "" "%VAR{thanks}" 
     119        bMotionDoAction $channel "" "mmmmm..." 
     120        bMotionDoAction $channel "" "/drinks the coffee %VAR{smiles}" 
     121        bMotion_plugins_settings_set "complexaction:hands" "coffee_nick" "" "" $nick 
     122        bMotion_plugins_settings_set "complexaction:hands" "coffee_channel" "" "" $channel 
     123        utimer 45 { bMotion_plugin_complex_action_hands_finishcoffee } 
     124        return 1 
    101125} 
    102126 
    103127proc bMotion_plugin_complex_action_hands_finishcoffee { } { 
    104   global mood 
    105   set coffeeChannel [bMotion_plugins_settings_get "complexaction:hands" "coffee_channel" "" ""] 
     128        global mood 
     129        set coffeeChannel [bMotion_plugins_settings_get "complexaction:hands" "coffee_channel" "" ""] 
    106130        bMotionDoAction $coffeeChannel "" "/finishes the coffee" 
    107131        bMotionDoAction $coffeeChannel "" "mmmm... thanks :)" 
    108   incr mood(happy) 1 
     132        incr mood(happy) 1 
    109133        bMotion_plugins_settings_set "complexaction:hands" "coffee_nick" "" "" "" 
    110134} 
     
    114138 
    115139proc bMotion_plugin_complex_action_hands_tissues { channel nick } { 
    116   bMotion_putloglev 1 * "bMotion: ...and it's a box of tissues! ~rarr~" 
    117   global mood 
    118   if {$mood(horny) < -3} { 
    119     bMotion_putloglev 1 * "bMotion: But i'm not in the mood" 
    120     bMotionDoAction $channel "" "$nick: thanks, but i'm not in the mood for that right now :(" 
    121   } 
    122  
    123   set tissuesNick [bMotion_plugins_settings_get "complexaction:hands" "tissues_nick" "" ""] 
    124   if {$tissuesNick != ""} { 
    125     bMotion_putloglev 1 * "bMotion: But I already have one :/" 
    126     bMotionDoAction $channel "" "$nick: thanks anyway, but I'm already using the tissues $tissuesNick gave me :) *uNF*" 
    127   } 
    128  
    129   driftFriendship $nick 2 
    130   bMotionDoAction $channel "" "%VAR{thanks}" 
    131   bMotionDoAction $channel $nick "/locks %himherself in the bathroom" 
    132   bMotion_plugins_settings_set "complexaction:hands" "tissues_nick" "" "" $nick 
    133   bMotion_plugins_settings_set "complexaction:hands" "tissues_channel" "" "" $channel 
    134  
    135   #TODO: this mood stuff is OLD 
    136   incr mood(lonely) -1 
    137   incr mood(horny) -1 
    138   incr mood(happy) 2 
    139  
    140   utimer 90 bMotion_plugin_complex_action_hands_finishtissues 
     140        bMotion_putloglev 1 * "bMotion: ...and it's a box of tissues! ~rarr~" 
     141        global mood 
     142        if {$mood(horny) < -3} { 
     143                bMotion_putloglev 1 * "bMotion: But i'm not in the mood" 
     144                bMotionDoAction $channel "" "$nick: thanks, but i'm not in the mood for that right now :(" 
     145        } 
     146 
     147        set tissuesNick [bMotion_plugins_settings_get "complexaction:hands" "tissues_nick" "" ""] 
     148        if {$tissuesNick != ""} { 
     149                bMotion_putloglev 1 * "bMotion: But I already have one :/" 
     150                bMotionDoAction $channel "" "$nick: thanks anyway, but I'm already using the tissues $tissuesNick gave me :) *uNF*" 
     151        } 
     152 
     153        driftFriendship $nick 2 
     154        bMotionDoAction $channel "" "%VAR{thanks}" 
     155        bMotionDoAction $channel $nick "/locks %himherself in the bathroom" 
     156        bMotion_plugins_settings_set "complexaction:hands" "tissues_nick" "" "" $nick 
     157        bMotion_plugins_settings_set "complexaction:hands" "tissues_channel" "" "" $channel 
     158 
     159        #TODO: this mood stuff is OLD 
     160        incr mood(lonely) -1 
     161        incr mood(horny) -1 
     162        incr mood(happy) 2 
     163 
     164        utimer 90 bMotion_plugin_complex_action_hands_finishtissues 
    141165} 
    142166 
    143167proc bMotion_plugin_complex_action_hands_finishtissues { } { 
    144   global mood 
    145   set tissuesChannel [bMotion_plugins_settings_get "complexaction:hands" "tissues_channel" "" ""] 
    146   bMotionDoAction $tissuesChannel "" "uNF *squeaky* *boing* *squirt*" 
    147   bMotionDoAction $tissuesChannel "" "/finishes using the tissues" 
    148   bMotion_plugins_settings_set "complexaction:hands" "tissues_nick" "" "" "" 
    149  
    150   #TODO: this mood stuff is OLD 
    151   incr mood(happy) 1 
    152   incr mood(horny) -2 
     168        global mood 
     169        set tissuesChannel [bMotion_plugins_settings_get "complexaction:hands" "tissues_channel" "" ""] 
     170        bMotionDoAction $tissuesChannel "" "uNF *squeaky* *boing* *squirt*" 
     171        bMotionDoAction $tissuesChannel "" "/finishes using the tissues" 
     172        bMotion_plugins_settings_set "complexaction:hands" "tissues_nick" "" "" "" 
     173 
     174        #TODO: this mood stuff is OLD 
     175        incr mood(happy) 1 
     176        incr mood(horny) -2 
    153177} 
    154178 
     
    157181 
    158182proc bMotion_plugin_complex_action_hands_bodypaint { channel nick } { 
    159   bMotion_putloglev 1 *  "bMotion: Ooh ooh body paint!" 
    160   if {![bMotionLike $nick]} { 
    161     frightened $nick $channel 
    162     return 0 
    163   } 
    164  
    165   global bMotionInfo 
    166   driftFriendship $nick 2 
    167   if {$bMotionInfo(gender) == "male"} { 
    168     bMotionDoAction $channel $nick "/applies it to %%" 
    169     bMotionDoAction $channel $nick "/licks it off" 
    170     return 0 
    171   } 
    172  
    173   #female 
    174   set bodyPaintNick [bMotion_plugins_settings_get "complexaction:hands" "paint_nick" "" ""] 
    175  
    176   if {$bodyPaintNick != ""} { 
    177     bMotion_putloglev 1 * "bMotion: But I'm already wearing some" 
    178     bMotionDoAction $channel $bodyPaintNick "Thanks $nick but I'm already waiting for %% to lick some body paint off me" 
    179     return 0 
    180   } 
    181  
    182   bMotionDoAction $channel $nick "/smears it over herself and waits for %% to come and lick it off" 
    183   bMotion_plugins_settings_set "complexaction:hands" "paint_nick" "" "" $nick 
    184   bMotion_plugins_settings_set "complexaction:hands" "paint_channel" "" "" $channel 
    185   utimer 60 bMotion_plugin_complex_action_hands_finishPaint 
    186   return 0 
     183        bMotion_putloglev 1 *  "bMotion: Ooh ooh body paint!" 
     184        if {![bMotionLike $nick]} { 
     185                frightened $nick $channel 
     186                return 0 
     187        } 
     188 
     189        global bMotionInfo 
     190        driftFriendship $nick 2 
     191        if {$bMotionInfo(gender) == "male"} { 
     192                bMotionDoAction $channel $nick "/applies it to %%" 
     193                bMotionDoAction $channel $nick "/licks it off" 
     194                return 0 
     195        } 
     196 
     197        #female 
     198        set bodyPaintNick [bMotion_plugins_settings_get "complexaction:hands" "paint_nick" "" ""] 
     199 
     200        if {$bodyPaintNick != ""} { 
     201                bMotion_putloglev 1 * "bMotion: But I'm already wearing some" 
     202                bMotionDoAction $channel $bodyPaintNick "Thanks $nick but I'm already waiting for %% to lick some body paint off me" 
     203                return 0 
     204        } 
     205 
     206        bMotionDoAction $channel $nick "/smears it over herself and waits for %% to come and lick it off" 
     207        bMotion_plugins_settings_set "complexaction:hands" "paint_nick" "" "" $nick 
     208        bMotion_plugins_settings_set "complexaction:hands" "paint_channel" "" "" $channel 
     209        utimer 60 bMotion_plugin_complex_action_hands_finishPaint 
     210        return 0 
    187211} 
    188212 
    189213proc bMotion_plugin_complex_action_hands_finishPaint { } { 
    190   set bodyPaintNick [bMotion_plugins_settings_get "complexaction:hands" "paint_nick" "" ""] 
    191   set bodyPaintChannel [bMotion_plugins_settings_get "complexaction:hands" "paint_channel" "" ""] 
    192   bMotionDoAction $bodyPaintChannel $bodyPaintNick "/gets bored of waiting for %% and licks the body paint off by herself instead" 
    193   bMotion_plugins_settings_set "complexaction:hands" "paint_nick" "" "" "" 
    194   bMotionGetHorny 
    195   bMotionGetLonely 
     214        set bodyPaintNick [bMotion_plugins_settings_get "complexaction:hands" "paint_nick" "" ""] 
     215        set bodyPaintChannel [bMotion_plugins_settings_get "complexaction:hands" "paint_channel" "" ""] 
     216        bMotionDoAction $bodyPaintChannel $bodyPaintNick "/gets bored of waiting for %% and licks the body paint off by herself instead" 
     217        bMotion_plugins_settings_set "complexaction:hands" "paint_nick" "" "" "" 
     218        bMotionGetHorny 
     219        bMotionGetLonely 
    196220} 
    197221 
     
    199223 
    200224proc bMotion_plugin_complex_action_hands_pie { channel nick } { 
    201   driftFriendship $nick 1 
    202   bMotion_putloglev 1 * "bMotion: ah ha, pie :D" 
    203   bMotionGetHappy 
    204   bMotionGetUnLonely 
    205   bMotionDoAction $channel $nick ":D%|thanks %%%|/eats pie" 
    206   return 0 
     225        driftFriendship $nick 1 
     226        bMotion_putloglev 1 * "bMotion: ah ha, pie :D" 
     227        bMotionGetHappy 
     228        bMotionGetUnLonely 
     229        bMotionDoAction $channel $nick ":D%|thanks %%%|/eats pie" 
     230        return 0 
    207231} 
    208232 
     
    210234 
    211235proc bMotion_plugin_complex_action_hands_spliff { channel nick handle } { 
    212   global mood 
    213  
    214   driftFriendship $nick 1 
    215   bMotion_putloglev 1 * "bMotion: ... and it's mind-altering drugs! WOOHOO!" 
    216   bMotion_putloglev 1 * "bMotion: ...... wheeeeeeeeeeeeeeeeeeeeeeeeeeeeeee...." 
    217   incr mood(stoned) 2 
    218   checkmood $nick $channel 
    219   bMotionDoAction $channel $nick "%VAR{smokes}" 
    220   return 0 
     236        global mood 
     237 
     238        driftFriendship $nick 1 
     239        bMotion_putloglev 1 * "bMotion: ... and it's mind-altering drugs! WOOHOO!" 
     240        bMotion_putloglev 1 * "bMotion: ...... wheeeeeeeeeeeeeeeeeeeeeeeeeeeeeee...." 
     241        incr mood(stoned) 2 
     242        checkmood $nick $channel 
     243        bMotionDoAction $channel $nick "%VAR{smokes}" 
     244        return 0 
    221245} 
    222246 
    223247# abstracts 
    224 bMotion_abstract_register "hand_generic" 
    225 bMotion_abstract_batchadd "hand_generic" { 
    226   "%VAR{thanks}" 
    227   "%REPEAT{3:6:m} %%" 
    228   "Do I want this?" 
    229   "Just what I've always wanted %VAR{smiles}" 
    230 } 
     248bMotion_abstract_register "hand_generic" { 
     249        "%VAR{thanks}" 
     250        "%REPEAT{3:6:m} %%" 
     251        "Do I want this?" 
     252        "Just what I've always wanted %VAR{smiles}" 
     253} 
     254 
     255bMotion_abstract_register "_bmotion_like" 
     256bMotion_abstract_register "_bmotion_dislike" 
     257 
     258bMotion_abstract_register "hand_like" { 
     259  "mmm %%" 
     260  "/plays with %hisher %%" 
     261  "%VAR{smiles}%|/shares with %2" 
     262  "%VAR{smiles}%|/shares with %ruser{friend}" 
     263  "i like these" 
     264} 
     265 
     266bMotion_abstract_register "hand_dislike" { 
     267  "oh no %%" 
     268  "/throws it in the bin" 
     269  "/throws it at %ruser{enemy}" 
     270  "/jams it up %hisher arse%|that's what i think of that." 
     271} 
     272 
  • trunk/plugins/en/complex_love.tcl

    r770 r891  
    1414############################################################################### 
    1515 
    16 bMotion_plugin_add_complex "love" "(i )?(think )?(you are|you're )?(love|luv|wov|wuv|luvly|lovely)( you)? %botnicks" 100 bMotion_plugin_complex_love "en" 
     16bMotion_plugin_add_complex "love" "i (love|luv|wov|wuv|luvly|lovely) (you,? %botnicks|%botnicks)" 100 bMotion_plugin_complex_love "en" 
     17bMotion_plugin_add_complex "love2" "i think (you are|you're) (wuvly|luvly|lovely),? %botnicks" 100 bMotion_plugin_complex_love "en" 
     18bMotion_plugin_add_complex "love3" "i think %botnicks is (wuvly|luvly|lovely)" 100 bMotion_plugin_complex_love "en" 
    1719 
    1820proc bMotion_plugin_complex_love { nick host handle channel text } { 
    1921        global mood 
    2022 
    21   if {![bMotionLike $nick $host]} { 
    22     frightened $nick $channel 
    23     return 1 
    24   } 
     23        # people we don't like can be told where to shove it 
     24        # but we'll let them get a bit of friendship as a result 
     25        if {![bMotionIsFriend $nick]} { 
     26                bMotionDoAction $channel $nick "%VAR{love_failed}" 
     27                driftFriendship $nick 4 
     28                return 1 
     29        } 
    2530 
    26   driftFriendship $nick 4 
     31        driftFriendship $nick 8  
     32        # people of the wrong gender get the platonic treatment 
     33        if {![bMotionLike $nick $host]} { 
     34                bMotionDoAction $channel $nick "%VAR{love_like}" 
     35                return 1 
     36        } 
    2737 
    28   if {$mood(happy) < 15 && $mood(lonely) < 5} { 
    29     bMotionDoAction $channel [bMotionGetRealName $nick $host] "%VAR{loveresponses}" 
    30     bMotionGetHappy 
    31     bMotionGetUnLonely 
     38        if {$mood(happy) < 15 && $mood(lonely) < 5} { 
     39                bMotionDoAction $channel [bMotionGetRealName $nick $host] "%VAR{loveresponses}" 
     40                bMotionGetHappy 
     41                bMotionGetUnLonely 
    3242                bMotion_plugins_settings_set "system" "lastdonefor" $channel "" $nick 
    33     return 1 
    34   } else { 
    35     bMotionDoAction $channel "" "hehe, want to go out on a date someplace? :)" 
    36     set mood(happy) [expr $mood(happy) - 10] 
     43                return 1 
     44        } else { 
     45                bMotionDoAction $channel "" "hehe, want to go out on a date someplace? :)" 
     46                set mood(happy) [expr $mood(happy) - 10] 
    3747                bMotion_plugins_settings_set "system" "lastdonefor" $channel "" $nick 
    38     return 1 
    39   } 
     48                return 1 
     49        } 
    4050} 
     51 
     52bMotion_abstract_register "love_like" { 
     53        "i love you %%, as a friend" 
     54        "ok" 
     55        "/<3 %% as a friend" 
     56        "%VAR{smiles}" 
     57} 
     58 
     59bMotion_abstract_register "love_failed" { 
     60        "get away from me" 
     61        "/pushes %% away" 
     62        "shame, because i think you're a smelly %VAR{bodypart}" 
     63        "go away" 
     64        "shove off you %VAR{PROM}" 
     65} 
     66 
  • trunk/plugins/en/complex_nightmare.tcl

    r854 r891  
    633633} 
    634634 
     635 
     636bMotion_abstract_register "nice_adjective" { 
     637        "happy" 
     638        "nice" 
     639        "intact" 
     640        "clean" 
     641        "curvy" 
     642        "alive" 
     643        "lovely" 
     644        "sexy" 
     645        "pretty" 
     646        "cute" 
     647        "reassuring" 
     648        "normal-sized" 
     649        "loving" 
     650        "visible" 
     651        "celibate" 
     652        "well-fed" 
     653        "cheery" 
     654        "shiny" 
     655        "confident" 
     656        "democratic" 
     657        "cuddly" 
     658        "furry" 
     659} 
     660 
     661bMotion_abstract_register "nice_adverb" { 
     662        "happily" 
     663        "nicely" 
     664        "sexily" 
     665        "cutely" 
     666        "visibly" 
     667        "confidently" 
     668        "lovingly" 
     669} 
     670 
     671bMotion_abstract_register "nice_being" { 
     672        "angel" 
     673        "baby" 
     674        "kitten" 
     675        "rainbow" 
     676        "puppy" 
     677        "guinea pig" 
     678        "rabbit" 
     679        "bunny" 
     680        "fish" 
     681        "cat" 
     682        "sheep" 
     683        "fluffy cloud" 
     684} 
     685 
     686bMotion_abstract_register "nice_beings" { 
     687        "angels" 
     688        "babies" 
     689        "kittens" 
     690        "rainbows" 
     691        "puppies" 
     692        "guinea pigs" 
     693        "rabbits" 
     694        "bunnies" 
     695        "fish" 
     696        "cats" 
     697        "sheep" 
     698        "fluffy clouds" 
     699} 
     700 
     701bMotion_abstract_register "nice_paintstuff" { 
     702        "coffee" 
     703        "tea" 
     704        "hot chocolate" 
     705        "chocolate" 
     706        "chocolate body paint" 
     707        "coffee body paint" 
     708        "custard" 
     709} 
     710 
     711bMotion_abstract_register "nice_paintbodypart" { 
     712        "nose" 
     713        "head" 
     714        "paws" 
     715        "fluffy bits" 
     716} 
     717 
     718bMotion_abstract_register "nice_paintbodyparts" { 
     719        "noses" 
     720        "heads" 
     721        "paws" 
     722        "fluffy bits" 
     723} 
     724 
     725bMotion_abstract_register "nice_beingverb" { 
     726        "pouring %VAR{nice_paintstuff} over" 
     727        "petting" 
     728        "hugging" 
     729        "stroking" 
     730        "admiring" 
     731        "dancing with" 
     732        "squeezing" 
     733} 
     734 
     735bMotion_abstract_register "nice_place" { 
     736        "lounge" 
     737        "park" 
     738        "ballpond" 
     739        "bedroom" 
     740        "bouncy castle" 
     741} 
     742 
     743bMotion_abstract_register "nice_thing" { 
     744        "foam pointing hand" 
     745        "cup of coffee" 
     746        "cup of tea" 
     747        "cup of hot chocolate" 
     748        "bunch of roses" 
     749        "cotton wool ball" 
     750} 
     751 
     752bMotion_abstract_register "nice_things" { 
     753        "foam pointing hands" 
     754        "cups of coffee" 
     755        "cups of tea" 
     756        "cups of hot chocolate" 
     757        "bunches of roses" 
     758        "cotton wool balls" 
     759} 
     760 
     761bMotion_abstract_register "nice_thingverb" { 
     762        "hugging" 
     763        "enjoying" 
     764        "drinking" 
     765        "admiring" 
     766        "waving" 
     767} 
     768 
     769bMotion_abstract_register "nice_selfverb" { 
     770        "hugging each other" 
     771        "enjoying each other" 
     772        "petting each other" 
     773        "stroking each other" 
     774        "admiring each other" 
     775} 
     776 
    635777bMotion_abstract_register "inon" { 
    636778"in" 
     
    641783bMotion_abstract_register "coveredin" { 
    642784"%VAR{paintstuff} covered" 
     785} 
     786 
     787bMotion_abstract_register "nice_coveredin" { 
     788        "%VAR{nice_paintstuff} covered" 
    643789} 
    644790 
     
    650796} 
    651797 
     798bMotion_abstract_register "nice_fulladjective" { 
     799        "%VAR{nice_adjective}" 
     800        "%VAR{nice_adjective}, %VAR{nice_adjective}" 
     801        "%VAR{nice_coveredin}" 
     802        "%VAR{nice_adjective}, %VAR{nice_coveredin}" 
     803} 
     804 
    652805bMotion_abstract_register "fulladjectives" { 
    653806"%VAR{amount} %VAR{adjective}" 
     
    657810} 
    658811 
     812bMotion_abstract_register "nice_fulladjectives" { 
     813        "%VAR{amount} %VAR{nice_adjective}" 
     814        "%VAR{amount} %VAR{nice_adjective}, %VAR{nice_adjective}" 
     815        "%VAR{amount{ %VAR{nice_coveredin}" 
     816        "%VAR{amount} %VAR{nice_adjective}, %VAR{nice_coveredin}" 
     817 
    659818bMotion_abstract_register "fullbeing" { 
    660819"%VAR{being}" 
     
    662821} 
    663822 
     823bMotion_abstract_register "nice_fullbeing" { 
     824        "%VAR{nice_being}" 
     825        "%VAR{nice_fulladjective} %VAR{nice_being}" 
     826} 
     827 
    664828bMotion_abstract_register "fullbeings" { 
    665829"%VAR{amount} %VAR{beings}" 
     
    667831} 
    668832 
     833bMotion_abstract_register "nice_fullbeings" { 
     834        "%VAR{amount} %VAR{nice_beings}" 
     835        "%VAR{amount} %VAR{nice_fulladjectives} %VAR{nice_beings}" 
     836} 
     837 
    669838bMotion_abstract_register "fullbodypart" { 
    670839"%VAR{paintbodypart}" 
    671840"%VAR{paintbodyparts}" 
     841} 
     842 
     843bMotion_abstract_register "nice_fullbodypart" { 
     844        "%VAR{nice_paintbodypart}" 
     845        "%VAR{nice_paintbodyparts}" 
    672846} 
    673847 
     
    691865"%VAR{fulladjective} %VAR{place}" 
    692866"%VAR{fulladjective} %VAR{place} of %VAR{material}" 
     867} 
     868 
     869bMotion_abstract_register "nicemare" { 
     870        "a %VAR{fullthing} %VAR{thingverb} a %VAR{fullthing}" 
     871        "a %VAR{fullthings} %VAR{thingverb} a %VAR{fullthing}" 
     872        "a %VAR{fullthing} %VAR{thingverb} a %VAR{fullthings}" 
     873        "a %VAR{fullthings} %VAR{thingverb} a %VAR{fullthings}" 
     874        "a %VAR{fullthing} %VAR{thingverb} a %VAR{fullplace}" 
     875        "a %VAR{fullthings} %VAR{thingverb} a %VAR{fullplace}" 
     876        "a %VAR{fullthing} %VAR{thingverb} a %VAR{fullthing} %VAR{inon} a %VAR{fullplace}" 
     877        "a %VAR{fullthings} %VAR{thingverb} a %VAR{fullthing} %VAR{inon} a %VAR{fullplace}" 
     878        "a %VAR{fullthing} %VAR{thingverb} a %VAR{fullthings} %VAR{inon} a %VAR{fullplace}" 
     879        "a %VAR{fullthings} %VAR{thingverb} a %VAR{fullthings} %VAR{inon} a %VAR{fullplace}" 
     880        "a %VAR{fullbeing} %VAR{thingverb} a %VAR{fullthing}" 
     881        "a %VAR{fullbeings} %VAR{thingverb} a %VAR{fullthing}" 
     882        "a %VAR{fullbeing} %VAR{thingverb} a %VAR{fullthings}" 
     883        "a %VAR{fullbeings} %VAR{thingverb} a %VAR{fullthings}" 
     884        "a %VAR{fullbeing} %VAR{thingverb} a %VAR{fullplace}" 
     885        "a %VAR{fullbeings} %VAR{thingverb} a %VAR{fullplace}" 
     886        "a %VAR{fullbeing} %VAR{thingverb} a %VAR{fullthing} %VAR{inon} a %VAR{fullplace}" 
     887        "a %VAR{fullbeings} %VAR{thingverb} a %VAR{fullthing} %VAR{inon} a %VAR{fullplace}" 
     888        "a %VAR{fullbeing} %VAR{thingverb} a %VAR{fullthings} %VAR{inon} a %VAR{fullplace}" 
     889        "a %VAR{fullbeings} %VAR{thingverb} a %VAR{fullthings} %VAR{inon} a %VAR{fullplace}" 
     890        "a %VAR{fullthing} %VAR{thingverb} a %VAR{fullbeing}" 
     891        "a %VAR{fullthings} %VAR{thingverb} a %VAR{fullbeing}" 
     892        "a %VAR{fullthing} %VAR{thingverb} a %VAR{fullbeings}" 
     893        "a %VAR{fullthings} %VAR{thingverb} a %VAR{fullbeings}" 
     894        "a %VAR{fullthing} %VAR{thingverb} a %VAR{fullplace}" 
     895        "a %VAR{fullthings} %VAR{thingverb} a %VAR{fullplace}" 
     896        "a %VAR{fullthing} %VAR{thingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     897        "a %VAR{fullthings} %VAR{thingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     898        "a %VAR{fullthing} %VAR{thingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     899        "a %VAR{fullthings} %VAR{thingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     900        "a %VAR{fullbeing} %VAR{beingverb} a %VAR{fullbeing}" 
     901        "a %VAR{fullbeings} %VAR{beingverb} a %VAR{fullbeing}" 
     902        "a %VAR{fullbeing} %VAR{beingverb} a %VAR{fullbeings}" 
     903        "a %VAR{fullbeings} %VAR{beingverb} a %VAR{fullbeings}" 
     904        "a %VAR{fullbeing} %VAR{beingverb} a %VAR{fullplace}" 
     905        "a %VAR{fullbeings} %VAR{beingverb} a %VAR{fullplace}" 
     906        "a %VAR{fullbeing} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     907        "a %VAR{fullbeings} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     908        "a %VAR{fullbeing} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     909        "a %VAR{fullbeings} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     910        "a %VAR{fullbeing} %VAR{beingverb} a %VAR{fullbeing}" 
     911        "a %VAR{fullbeings} %VAR{beingverb} a %VAR{fullbeing}" 
     912        "a %VAR{fullbeing} %VAR{beingverb} a %VAR{fullbeings}" 
     913        "a %VAR{fullbeings} %VAR{beingverb} a %VAR{fullbeings}" 
     914        "a %VAR{fullbeing} %VAR{beingverb} a %VAR{fullplace}" 
     915        "a %VAR{fullbeings} %VAR{beingverb} a %VAR{fullplace}" 
     916        "a %VAR{fullbeing} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     917        "a %VAR{fullbeings} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     918        "a %VAR{fullbeing} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     919        "a %VAR{fullbeings} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     920        "a %VAR{fullplace}" 
     921        "a %VAR{fullplace}" 
     922        "a %VAR{fullplace}" 
     923        "a %VAR{fullplace}" 
     924        "a %VAR{fullplace}" 
     925        "a %VAR{fullplace}" 
     926        "a %VAR{fullplace}" 
     927        "a %VAR{fullplace}" 
     928        "a %VAR{fullplace}" 
     929        "a %VAR{fullplace}" 
     930        "a %VAR{fullplace}" 
     931        "a %VAR{fullplace}" 
     932        "a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     933        "a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     934        "a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     935        "a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     936        "a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     937        "a %VAR{fullbeings} %VAR{inon} a %VAR{fullplace}" 
     938        "a %VAR{fullbeings} %VAR{inon} a %VAR{fullplace}" 
     939        "a %VAR{fullbeings} %VAR{inon} a %VAR{fullplace}" 
     940        "a %VAR{fullbeings} %VAR{inon} a %VAR{fullplace}" 
     941        "a %VAR{fullbeings} %VAR{inon} a %VAR{fullplace}" 
     942        "a %VAR{fullbeing} %VAR{adverb} %VAR{thingverb} a %VAR{fullthing}" 
     943        "a %VAR{fullbeings} %VAR{adverb} %VAR{thingverb} a %VAR{fullthing}" 
     944        "a %VAR{fullbeing} %VAR{adverb} %VAR{thingverb} a %VAR{fullthings}" 
     945        "a %VAR{fullbeings} %VAR{adverb} %VAR{thingverb} a %VAR{fullthings}" 
     946        "a %VAR{fullbeing} %VAR{adverb} %VAR{thingverb} a %VAR{fullplace}" 
     947        "a %VAR{fullbeings} %VAR{adverb} %VAR{thingverb} a %VAR{fullplace}" 
     948        "a %VAR{fullbeing} %VAR{adverb} %VAR{thingverb} a %VAR{fullthing} %VAR{inon} a %VAR{fullplace}" 
     949        "a %VAR{fullbeings} %VAR{adverb} %VAR{thingverb} a %VAR{fullthing} %VAR{inon} a %VAR{fullplace}" 
     950        "a %VAR{fullbeing} %VAR{adverb} %VAR{thingverb} a %VAR{fullthings} %VAR{inon} a %VAR{fullplace}" 
     951        "a %VAR{fullbeings} %VAR{adverb} %VAR{thingverb} a %VAR{fullthings} %VAR{inon} a %VAR{fullplace}" 
     952        "a %VAR{fullbeing} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeing}" 
     953        "a %VAR{fullbeings} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeing}" 
     954        "a %VAR{fullbeing} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeings}" 
     955        "a %VAR{fullbeings} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeings}" 
     956        "a %VAR{fullbeing} %VAR{adverb} %VAR{beingverb} a %VAR{fullplace}" 
     957        "a %VAR{fullbeings} %VAR{adverb} %VAR{beingverb} a %VAR{fullplace}" 
     958        "a %VAR{fullbeing} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     959        "a %VAR{fullbeings} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     960        "a %VAR{fullbeing} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     961        "a %VAR{fullbeings} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace}" 
     962        "a %VAR{fullbeing} and a %VAR{fullbeing} %VAR{selfverb}" 
     963        "a %VAR{fullbeings} and a %VAR{fullbeing} %VAR{selfverb}" 
     964        "a %VAR{fullbeing} and a %VAR{fullbeings} %VAR{selfverb}" 
     965        "a %VAR{fullbeings} and a %VAR{fullbeings} %VAR{selfverb}" 
     966        "a %VAR{fullbeings} %VAR{selfverb}" 
     967        "a %VAR{fullbeing} and a %VAR{fullbeing} %VAR{adverb} %VAR{selfverb}" 
     968        "a %VAR{fullbeings} and a %VAR{fullbeing} %VAR{adverb} %VAR{selfverb}" 
     969        "a %VAR{fullbeing} and a %VAR{fullbeings} %VAR{adverb} %VAR{selfverb}" 
     970        "a %VAR{fullbeings} and a %VAR{fullbeings} %VAR{adverb} %VAR{selfverb}" 
     971        "a %VAR{fullbeings} %VAR{adverb} %VAR{selfverb}" 
     972        "a %VAR{fullbeing} and a %VAR{fullbeing} %VAR{selfverb} %VAR{inon} a %VAR{fullplace}" 
     973        "a %VAR{fullbeings} and a %VAR{fullbeing} %VAR{selfverb} %VAR{inon} a %VAR{fullplace}" 
     974        "a %VAR{fullbeing} and a %VAR{fullbeings} %VAR{selfverb} %VAR{inon} a %VAR{fullplace}" 
     975        "a %VAR{fullbeings} and a %VAR{fullbeings} %VAR{selfverb} %VAR{inon} a %VAR{fullplace}" 
     976        "a %VAR{fullbeings} %VAR{selfverb} %VAR{inon} a %VAR{fullplace}" 
     977        "a %VAR{fullbeing} and a %VAR{fullbeing} %VAR{adverb} %VAR{selfverb} %VAR{inon} a %VAR{fullplace}" 
     978        "a %VAR{fullbeings} and a %VAR{fullbeing} %VAR{adverb} %VAR{selfverb} %VAR{inon} a %VAR{fullplace}" 
     979        "a %VAR{fullbeing} and a %VAR{fullbeings} %VAR{adverb} %VAR{selfverb} %VAR{inon} a %VAR{fullplace}" 
     980        "a %VAR{fullbeings} and a %VAR{fullbeings} %VAR{adverb} %VAR{selfverb} %VAR{inon} a %VAR{fullplace}" 
     981        "a %VAR{fullbeings} %VAR{adverb} %VAR{selfverb} %VAR{inon} a %VAR{fullplace}" 
     982        "a %VAR{fullbeing} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeing} with a %VAR{fullthing}" 
     983        "a %VAR{fullbeings} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeing} with a %VAR{fullthings}" 
     984        "a %VAR{fullbeing} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeings} with a %VAR{fullthing}" 
     985        "a %VAR{fullbeings} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeings} with a %VAR{fullthings}" 
     986        "a %VAR{fullbeing} %VAR{adverb} %VAR{beingverb} a %VAR{fullplace}" 
     987        "a %VAR{fullbeings} %VAR{adverb} %VAR{beingverb} a %VAR{fullplace}" 
     988        "a %VAR{fullbeing} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace} with a %VAR{fullthing}" 
     989        "a %VAR{fullbeings} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace} with a %VAR{fullthings}" 
     990        "a %VAR{fullbeing} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace} with a %VAR{fullthing}" 
     991        "a %VAR{fullbeings} %VAR{adverb} %VAR{beingverb} a %VAR{fullbeing} %VAR{inon} a %VAR{fullplace} with a %VAR{fullthings}" 
    693992} 
    694993 
Note: See TracChangeset for help on using the changeset viewer.