Changeset 891
- Timestamp:
- 02/17/08 18:54:27 (4 years ago)
- Location:
- trunk
- Files:
-
- 10 edited
-
modules/abstract.tcl (modified) (1 diff)
-
modules/abstracts/en/abstracts.tcl (modified) (2 diffs)
-
modules/friendship.tcl (modified) (2 diffs)
-
modules/output.tcl (modified) (48 diffs)
-
modules/system.tcl (modified) (5 diffs)
-
plugins/en/action_complex_attack.tcl (modified) (1 diff)
-
plugins/en/action_complex_fucks.tcl (modified) (1 diff)
-
plugins/en/action_complex_hands.tcl (modified) (6 diffs)
-
plugins/en/complex_love.tcl (modified) (1 diff)
-
plugins/en/complex_nightmare.tcl (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/modules/abstract.tcl
r862 r891 344 344 } 345 345 346 } 347 348 # look to see if an abstract contains an item (warning: could be slow) 349 proc 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 } 346 365 } 347 366 -
trunk/modules/abstracts/en/abstracts.tcl
r882 r891 1028 1028 bMotion_abstract_register "lols" 1029 1029 bMotion_abstract_register "lostPlot" 1030 bMotion_abstract_register "loveresponses"1031 1030 bMotion_abstract_register "makeItSos" 1032 1031 bMotion_abstract_register "mingreplies" … … 1124 1123 bMotion_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" ] 1125 1124 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" ] 1125 bMotion_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 1143 bMotion_abstract_register "loveresponses_male" { 1144 "and i love you th%REPEAT{3:7:i}s much:%|*schwing*%|%VAR{oops}" 1145 } 1127 1146 1128 1147 bMotion_abstract_batchadd "hugs" [list "*hugs %%*" "/huggles %%" "/snuggles %%" "*snuggles %%*" "/huggles with %%" "/squeezes %%" "/snoofles %%" ] -
trunk/modules/friendship.tcl
r889 r891 63 63 proc setFriendshipHandle { handle friendship } { 64 64 if {$friendship > 100} { 65 bMotion_putloglev 2 * "friendship: friendship for $ nickwent over 100, capping back to 90"65 bMotion_putloglev 2 * "friendship: friendship for $handle went over 100, capping back to 90" 66 66 set friendship 90 67 67 } 68 68 69 69 if {$friendship < 1} { 70 bMotion_putloglev 2 * "friendship: friendship for $ nickwent under 1, capping back to 10"70 bMotion_putloglev 2 * "friendship: friendship for $handle went under 1, capping back to 10" 71 71 set friendship 10 72 72 } … … 85 85 if {![validuser $nick]} { 86 86 bMotion_putloglev 1 * "friendship: couldn't find a handle for $nick to set friendship." 87 return 5087 return 0 88 88 } 89 89 set handle $nick 90 90 } 91 91 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 107 93 } 108 94 -
trunk/modules/output.tcl
r882 r891 31 31 32 32 proc pickRandom { list } { 33 bMotion_putloglev 5 * "pickRandom ($list)"33 bMotion_putloglev 5 * "pickRandom ($list)" 34 34 return [lindex $list [rand [llength $list]]] 35 35 } 36 36 37 37 proc getPronoun {} { 38 bMotion_putloglev 5 * "getPronoun"38 bMotion_putloglev 5 * "getPronoun" 39 39 global bMotionInfo 40 40 if {$bMotionInfo(gender) == "male"} { return "himself" } … … 44 44 45 45 proc getHisHers {} { 46 bMotion_putloglev 5 * "getHisHers"46 bMotion_putloglev 5 * "getHisHers" 47 47 global bMotionInfo 48 48 if {$bMotionInfo(gender) == "male"} { return "his" } … … 52 52 53 53 proc getHisHer {} { 54 bMotion_putloglev 5 * "getHisHer"54 bMotion_putloglev 5 * "getHisHer" 55 55 global bMotionInfo 56 56 if {$bMotionInfo(gender) == "male"} { return "his" } … … 61 61 62 62 proc getHeShe {} { 63 bMotion_putloglev 5 * "getHeShe"63 bMotion_putloglev 5 * "getHeShe" 64 64 global bMotionInfo 65 65 if {$bMotionInfo(gender) == "male"} { return "he" } … … 70 70 71 71 proc mee {channel action {urgent 0} } { 72 bMotion_putloglev 5 * "mee ($channel, $action, $urgent)"72 bMotion_putloglev 5 * "mee ($channel, $action, $urgent)" 73 73 set channel [chandname2name $channel] 74 74 if {$urgent} { … … 84 84 bMotion_putloglev 5 * "bMotionDoAction($channel,$nick,$text,$moreText,$noTypo)" 85 85 global bMotionInfo bMotionCache bMotionOriginalInput 86 global bMotion_output_delay bMotionSettings BMOTION_SLEEP87 88 set bMotion_output_delay 086 global bMotion_output_delay bMotionSettings BMOTION_SLEEP 87 88 set bMotion_output_delay 0 89 89 90 90 set bMotionCache($channel,last) 1 … … 96 96 } 97 97 98 # check if we're asleep99 if {$bMotionSettings(asleep) == $BMOTION_SLEEP(ASLEEP)} {100 return 0101 }98 # check if we're asleep 99 if {$bMotionSettings(asleep) == $BMOTION_SLEEP(ASLEEP)} { 100 return 0 101 } 102 102 103 103 if [regexp "^\[#!\].+" $channel] { 104 104 set channel [string tolower $channel] 105 if {![channel get $channel bmotion]} {105 if {![channel get $channel bmotion]} { 106 106 bMotion_putloglev d * "bMotion: aborting bMotionDoAction ... $channel not allowed" 107 107 return 0 … … 137 137 138 138 while {[string match "*%|*" $text]} { 139 set origtext $text139 set origtext $text 140 140 set sentence [string range $text 0 [expr [string first "%|" $text] -1]] 141 141 if {$sentence != ""} { … … 148 148 } 149 149 set text [string range $text [expr [string first "%|" $text] + 2] end] 150 if {$text == $origtext} {150 if {$text == $origtext} { 151 151 putlog "bMotion ALERT! Bailed in bMotionDoAction with $text. Lost output." 152 152 return 0 … … 341 341 342 342 proc bMotionInterpolation2 { line } { 343 bMotion_putloglev 5 * "bMotionInterpolation2 ($line)"343 bMotion_putloglev 5 * "bMotionInterpolation2 ($line)" 344 344 #owners 345 345 set loops 0 … … 348 348 set BOOM [string map {\\ \\\\ [ \\\[ ] \\\] \{ \\\{ \} \\\} $ \\\$ \" \\\" | \\\|} $BOOM] 349 349 350 incr loops351 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] line357 regsub -all "\\\\" $line "" line358 }359 360 set loops 0361 while {[regexp -nocase "%VERB\{(.*?)\}" $line matches BOOM]} {362 incr loops363 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] line369 }370 371 set loops 0372 while {[regexp -nocase "%PLURAL\{(.*?)\}" $line matches BOOM]} {373 incr loops374 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] line380 }381 382 set loops 0383 while {[regexp -nocase "%REPEAT\{(.+?)\}" $line matches BOOM]} {384 incr loops385 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 line391 }392 393 return $line350 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 394 394 } 395 395 … … 397 397 bMotion_putloglev 5 * "bMotionSayLine: channel = $channel, nick = $nick, line = $line, moreText = $moreText, noTypo = $noTypo" 398 398 global mood botnick bMotionInfo bMotionCache bMotionOriginalInput 399 global bMotion_output_delay399 global bMotion_output_delay 400 400 401 401 set line [bMotionInterpolation2 $line] … … 408 408 set dobreak 0 409 409 if {$botcmd == "bot"} { 410 #random410 #random 411 411 bMotion_putloglev 1 * "bMotion: %bot detected" 412 412 regexp {%bot\[([[:digit:]]+),(@[^,]+,)?(.+)\]} $line matches chance condition cmd … … 420 420 } 421 421 } else { 422 #non-random423 regexp {%BOT\[(@[^,]+,)?(.+)\]} $line matches condition cmd422 #non-random 423 regexp {%BOT\[(@[^,]+,)?(.+)\]} $line matches condition cmd 424 424 } 425 425 … … 452 452 453 453 if [regexp {%DELAY\{([0-9]+)\}} $line matches delay] { 454 set bMotion_output_delay $delay455 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 "" 457 457 } 458 458 … … 482 482 } 483 483 if {$result == ""} { 484 return 0484 return 0 485 485 } 486 486 set line $result … … 494 494 } 495 495 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 } 499 499 500 500 #check if this line matches the last line said on IRC … … 504 504 return 0 505 505 } 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 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 523 } else { 524 if {$urgent} { 525 bMotion_queue_add_now [chandname2name $channel] $line 523 526 } 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 } 530 return 0 531 531 } 532 532 533 533 proc bMotionInsertString {line swapout toInsert} { 534 bMotion_putloglev 5 * "bMotionInsertString ($line, $swapout, $toInsert)"534 bMotion_putloglev 5 * "bMotionInsertString ($line, $swapout, $toInsert)" 535 535 set loops 0 536 536 set inputLine $line … … 548 548 549 549 proc bMotionGetColenChars {} { 550 bMotion_putloglev 5 * "bMotionGetColenChars"550 bMotion_putloglev 5 * "bMotionGetColenChars" 551 551 set randomChar "!£$%^*@#~" 552 552 … … 569 569 570 570 proc makeSmiley { mood } { 571 bMotion_putloglev 5 * "makeSmiley"571 bMotion_putloglev 5 * "makeSmiley" 572 572 if {$mood > 30} { 573 573 return ":D" … … 592 592 # 593 593 proc bMotionWashNick { nick } { 594 bMotion_putloglev 5 * "bMotionWashNick ($nick)"594 bMotion_putloglev 5 * "bMotionWashNick ($nick)" 595 595 #remove leading 596 596 regsub {^[|`_\[]+} $nick "" nick … … 620 620 set handle [finduser $host] 621 621 if {$handle == "*"} { 622 #not in bot622 #not in bot 623 623 bMotion_putloglev 2 * "bMotion: no match, washing nick" 624 624 return [bMotionWashNick $nick] … … 633 633 set realname [getuser $handle XTRA irl] 634 634 if {$realname == ""} { 635 #not set635 #not set 636 636 return [bMotionWashNick $nick] 637 637 } … … 653 653 654 654 if [validuser $nick] { 655 #it's a handle already655 #it's a handle already 656 656 set handle $nick 657 657 } else { 658 #try to figure it out658 #try to figure it out 659 659 set handle [nick2hand $nick] 660 660 if {($handle == "") ||($handle == "*")} { 661 #not in bot661 #not in bot 662 662 bMotion_putloglev 2 * "bMotion: no match, using nick" 663 663 return $nick … … 670 670 set realname [getuser $handle XTRA irl] 671 671 if {$realname == ""} { 672 #not set672 #not set 673 673 bMotion_putloglev 2 * "no IRL set, using nick" 674 674 return $nick … … 679 679 680 680 proc bMotionTransformNick { target nick {host ""} } { 681 bMotion_putloglev 5 * "bMotionTransformNick($target, $nick, $host)"681 bMotion_putloglev 5 * "bMotionTransformNick($target, $nick, $host)" 682 682 set newTarget [bMotionTransformTarget $target $host] 683 683 if {$newTarget == "me"} { … … 688 688 689 689 proc bMotionTransformTarget { target {host ""} } { 690 bMotion_putloglev 5 * "bMotionTransformTarget($target, $host)"690 bMotion_putloglev 5 * "bMotionTransformTarget($target, $host)" 691 691 global botnicks 692 692 if {$target != "me"} { … … 718 718 # * prev - return previously chosen user/bot 719 719 proc 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)" 721 721 global bMotionCache 722 722 set users [chanlist $channel] … … 729 729 set what [array get bMotionCache "lastruser$bot"] 730 730 } 731 bMotion_putloglev 4 * " accept: prev ($what)"731 bMotion_putloglev 4 * "ruser: accept: prev ($what)" 732 732 return [lindex $what 1] 733 733 } 734 734 735 735 foreach user $users { 736 bMotion_putloglev 4 * " eval user $user"736 bMotion_putloglev 4 * "ruser: eval user $user" 737 737 #is it me? 738 if [isbotnick $user] { continue } 738 if [isbotnick $user] { 739 bMotion_putloglev 4 * "ruser: that's me" 740 continue 741 } 739 742 740 743 if {[bMotion_setting_get "bitlbee"] && ($user == "root")} { 741 bMotion_putloglev 4 * " --reject: bitlbee root user"744 bMotion_putloglev 4 * "ruser: reject: bitlbee root user" 742 745 continue 743 746 } … … 746 749 #get their handle 747 750 set handle [nick2hand $user $channel] 748 bMotion_putloglev 4 * " handle: $handle"751 bMotion_putloglev 4 * "ruser: handle: $handle" 749 752 750 753 # some people don't like interacting with the bot 751 754 if [matchattr $handle J] { 752 bMotion_putloglev 4 * " --reject: user is +J"755 bMotion_putloglev 4 * "ruser: reject: user is +J" 753 756 continue 754 757 } … … 756 759 #unless we're looking for any old user, we'll need handle 757 760 if {(($handle == "") || ($handle == "*")) && ($condition != "")} { 758 bMotion_putloglev 4 * " --reject: no handle"761 bMotion_putloglev 4 * "ruser: reject: no handle" 759 762 continue 760 763 } … … 763 766 #we don't want a bot, then use nick 764 767 if {(($handle == "") || ($handle == "*")) && ($condition == "") && ($bot == 0)} { 765 bMotion_putloglev 4 * " ++accept: $user (no handle)"768 bMotion_putloglev 4 * "ruser: accept: $user (no handle)" 766 769 lappend acceptable $user 767 770 continue … … 771 774 if {$bot == 1} { 772 775 if {![matchattr $handle b]} { 773 bMotion_putloglev 4 * " --reject: not a bot"776 bMotion_putloglev 4 * "ruser: reject: not a bot" 774 777 continue 775 778 } … … 777 780 global bMotion_interbot_otherbots 778 781 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" 780 783 continue 781 784 } 782 785 #else add them 783 786 lappend acceptable $user 784 bMotion_putloglev 4 * " ++accept: bmotion bot"787 bMotion_putloglev 4 * "ruser: accept: bmotion bot" 785 788 continue 786 789 } … … 788 791 #conversely if we're looking for a user... 789 792 if {($bot == 0) && [matchattr $handle b]} { 790 bMotion_putloglev 4 * " --reject: not a user"793 bMotion_putloglev 4 * "ruser: reject: not a user" 791 794 continue 792 795 } … … 794 797 switch $condition { 795 798 "" { 796 bMotion_putloglev 4 * " ++accept: any"799 bMotion_putloglev 4 * "ruser: accept: any" 797 800 lappend acceptable $handle 798 801 continue … … 800 803 "male" { 801 804 if {[getuser $handle XTRA gender] == "male"} { 802 bMotion_putloglev 4 * " ++accept: male"805 bMotion_putloglev 4 * "ruser: accept: male" 803 806 lappend acceptable $handle 804 807 continue … … 807 810 "female" { 808 811 if {[getuser $handle XTRA gender] == "female"} { 809 bMotion_putloglev 4 * " ++accept: female"812 bMotion_putloglev 4 * "ruser: accept: female" 810 813 lappend acceptable $handle 811 814 continue … … 814 817 "like" { 815 818 if {[bMotionLike $user [getchanhost $user]]} { 816 bMotion_putloglev 4 * " ++accept: like"819 bMotion_putloglev 4 * "ruser: accept: like" 817 820 lappend acceptable $handle 818 821 continue … … 821 824 "dislike" { 822 825 if {![bMotionLike $user [getchanhost $user]]} { 823 bMotion_putloglev 4 * " ++accept: dislike"826 bMotion_putloglev 4 * "ruser: accept: dislike" 824 827 lappend acceptable $handle 825 828 continue … … 827 830 } 828 831 "friend" { 829 if {[getFriendshipHandle $user] > 50} {830 bMotion_putloglev 4 * " ++accept: friend"832 if {[getFriendshipHandle $user] >= 50} { 833 bMotion_putloglev 4 * "ruser: accept: friend" 831 834 lappend acceptable $handle 832 835 continue … … 835 838 "enemy" { 836 839 if {[getFriendshipHandle $user] < 50} { 837 bMotion_putloglev 4 * " ++accept: enemy"840 bMotion_putloglev 4 * "ruser: accept: enemy" 838 841 lappend acceptable $handle 839 842 continue … … 842 845 } 843 846 } 844 bMotion_putloglev 4 * " acceptable users: $acceptable"847 bMotion_putloglev 4 * "ruser: acceptable users: $acceptable" 845 848 if {[llength $acceptable] > 0} { 846 849 set user [pickRandom $acceptable] … … 849 852 return $user 850 853 } else { 854 bMotion_putloglev 4 * "ruser: no acceptable users found" 851 855 if {$condition != ""} { 856 bMotion_putloglev 4 * "ruser: picking a random user" 852 857 return [bMotion_choose_random_user $channel $bot ""] 853 858 } else { 859 bMotion_putloglev 4 * "ruser: unable to find a user, returning nothing" 854 860 return "" 855 861 } … … 858 864 859 865 proc bMotionMakePossessive { text { altMode 0 }} { 860 bMotion_putloglev 5 * "bMotionMakePossessive ($text, $altMode)"866 bMotion_putloglev 5 * "bMotionMakePossessive ($text, $altMode)" 861 867 if {$text == ""} { 862 868 return "someone's" … … 884 890 885 891 proc bMotionMakeRepeat { text } { 886 bMotion_putloglev 5 * "bMotionMakeRepeat ($text)"892 bMotion_putloglev 5 * "bMotionMakeRepeat ($text)" 887 893 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" 889 895 set diff [expr $max - $min] 890 896 if {$diff < 1} { 891 set diff 1897 set diff 1 892 898 } 893 899 set count [rand $diff] … … 896 902 return $repstring 897 903 } 898 bMotion_putloglev 4 * "bMotionMakeRepeat: no match (!), returning nothing"904 bMotion_putloglev 4 * "bMotionMakeRepeat: no match (!), returning nothing" 899 905 return "" 900 906 } 901 907 902 908 proc bMotion_strip_article { text } { 903 bMotion_putloglev 5 * "bMotion_strip_article ($text)"904 regsub "(an?|the|some) " $text "" text905 return $text909 bMotion_putloglev 5 * "bMotion_strip_article ($text)" 910 regsub "(an?|the|some) " $text "" text 911 return $text 906 912 } 907 913 908 914 proc bMotionMakeVerb { text } { 909 bMotion_putloglev 5 * "bMotionMakeVerb ($text)"915 bMotion_putloglev 5 * "bMotionMakeVerb ($text)" 910 916 if [regexp -nocase "(s|x)$" $text matches letter] { 911 917 return $text … … 922 928 } 923 929 proc 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 0927 scan $c %c v928 return $v930 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 929 935 } 930 936 -
trunk/modules/system.tcl
r886 r891 400 400 proc bMotionLike {nick { host "" }} { 401 401 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 402 410 if {$host == ""} { 403 411 set host [getchanhost $nick] … … 405 413 406 414 set host "$nick!$host" 407 408 if {$bMotionSettings(melMode) == 1} {409 return 1410 }411 415 412 416 set handle [finduser $host] … … 415 419 #if i'm stoned enough, i'll sleep with anyone 416 420 if {$mood(stoned) > 20} { 421 bMotion_putloglev 3 * "like: i'm sufficiently stoned to do anyone" 417 422 return 1 418 423 } … … 420 425 #if i'm horny enough, i'll sleep with anyone 421 426 if {$mood(horny) > 10} { 427 bMotion_putloglev 3 * "like: i'm sufficiently horny to do anyone" 422 428 return 1 423 429 } 424 430 #else they can get lost 431 bMotion_putloglev 3 * "like: $host doesn't have a matching handle, so they can go away" 425 432 return 0 426 433 } 427 434 428 435 #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 } 430 440 431 441 # we're friends, now get their gender 432 442 set gender [getuser $handle XTRA gender] 433 443 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!" 434 445 # they don't have a gender. let's assume we'd have sex with them too 435 446 return 1 … … 438 449 #they're my gender 439 450 if {($bMotionInfo(orientation) == "bi") || ($bMotionInfo(orientation) == "gay") || ($bMotionInfo(orientation) == "lesbian")} { 451 bMotion_putloglev 3 * "like: $handle is my gender and I like that" 440 452 return 1 441 453 } 454 bMotion_putloglev 3 * "like: $handle is my gender and that's not koo" 442 455 return 0 443 456 } 444 457 #they're not my gender. what now? 445 458 if {($bMotionInfo(orientation) == "bi") || ($bMotionInfo(orientation) == "straight")} { 459 bMotion_putloglev 3 * "like: $handle isn't my gender and that's not koo" 446 460 return 1 447 461 } 448 462 # that only leaves lesbian and gay who won't sleep with the opposite gender 463 bMotion_putloglev 3 * "like: nope, default case" 449 464 return 0 450 465 } -
trunk/plugins/en/action_complex_attack.tcl
r753 r891 16 16 17 17 proc 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 28 30 } 29 31 30 32 bMotion_abstract_register "attack_responses" 31 33 bMotion_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!" 38 40 } -
trunk/plugins/en/action_complex_fucks.tcl
r662 r891 15 15 16 16 bMotion_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 17 18 proc bMotion_plugin_complex_action_fucks { nick host handle channel text } { 18 global botnicks19 global botnicks 19 20 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 25 27 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 36 39 return 1 37 40 } 38 41 } 42 43 bMotion_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 17 17 18 18 proc bMotion_plugin_complex_action_hands { nick host handle channel text } { 19 global botnicks19 global botnicks 20 20 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 #Coffee21 bMotion_putloglev d * "bMotion: Got handed !$item! by $nick in $channel" 22 23 #Coffee 24 24 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 78 102 } 79 103 … … 83 107 ##### COFFEE 84 108 proc bMotion_plugin_complex_action_hands_coffee { channel nick } { 85 global got86 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 192 }93 driftFriendship $nick 294 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" "" "" $nick98 bMotion_plugins_settings_set "complexaction:hands" "coffee_channel" "" "" $channel99 utimer 45 { bMotion_plugin_complex_action_hands_finishcoffee }100 return 1109 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 101 125 } 102 126 103 127 proc bMotion_plugin_complex_action_hands_finishcoffee { } { 104 global mood105 set coffeeChannel [bMotion_plugins_settings_get "complexaction:hands" "coffee_channel" "" ""]128 global mood 129 set coffeeChannel [bMotion_plugins_settings_get "complexaction:hands" "coffee_channel" "" ""] 106 130 bMotionDoAction $coffeeChannel "" "/finishes the coffee" 107 131 bMotionDoAction $coffeeChannel "" "mmmm... thanks :)" 108 incr mood(happy) 1132 incr mood(happy) 1 109 133 bMotion_plugins_settings_set "complexaction:hands" "coffee_nick" "" "" "" 110 134 } … … 114 138 115 139 proc bMotion_plugin_complex_action_hands_tissues { channel nick } { 116 bMotion_putloglev 1 * "bMotion: ...and it's a box of tissues! ~rarr~"117 global mood118 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 2130 bMotionDoAction $channel "" "%VAR{thanks}"131 bMotionDoAction $channel $nick "/locks %himherself in the bathroom"132 bMotion_plugins_settings_set "complexaction:hands" "tissues_nick" "" "" $nick133 bMotion_plugins_settings_set "complexaction:hands" "tissues_channel" "" "" $channel134 135 #TODO: this mood stuff is OLD136 incr mood(lonely) -1137 incr mood(horny) -1138 incr mood(happy) 2139 140 utimer 90 bMotion_plugin_complex_action_hands_finishtissues140 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 141 165 } 142 166 143 167 proc bMotion_plugin_complex_action_hands_finishtissues { } { 144 global mood145 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 OLD151 incr mood(happy) 1152 incr mood(horny) -2168 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 153 177 } 154 178 … … 157 181 158 182 proc bMotion_plugin_complex_action_hands_bodypaint { channel nick } { 159 bMotion_putloglev 1 * "bMotion: Ooh ooh body paint!"160 if {![bMotionLike $nick]} {161 frightened $nick $channel162 return 0163 }164 165 global bMotionInfo166 driftFriendship $nick 2167 if {$bMotionInfo(gender) == "male"} {168 bMotionDoAction $channel $nick "/applies it to %%"169 bMotionDoAction $channel $nick "/licks it off"170 return 0171 }172 173 #female174 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 0180 }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" "" "" $nick184 bMotion_plugins_settings_set "complexaction:hands" "paint_channel" "" "" $channel185 utimer 60 bMotion_plugin_complex_action_hands_finishPaint186 return 0183 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 187 211 } 188 212 189 213 proc 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 bMotionGetHorny195 bMotionGetLonely214 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 196 220 } 197 221 … … 199 223 200 224 proc bMotion_plugin_complex_action_hands_pie { channel nick } { 201 driftFriendship $nick 1202 bMotion_putloglev 1 * "bMotion: ah ha, pie :D"203 bMotionGetHappy204 bMotionGetUnLonely205 bMotionDoAction $channel $nick ":D%|thanks %%%|/eats pie"206 return 0225 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 207 231 } 208 232 … … 210 234 211 235 proc bMotion_plugin_complex_action_hands_spliff { channel nick handle } { 212 global mood213 214 driftFriendship $nick 1215 bMotion_putloglev 1 * "bMotion: ... and it's mind-altering drugs! WOOHOO!"216 bMotion_putloglev 1 * "bMotion: ...... wheeeeeeeeeeeeeeeeeeeeeeeeeeeeeee...."217 incr mood(stoned) 2218 checkmood $nick $channel219 bMotionDoAction $channel $nick "%VAR{smokes}"220 return 0236 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 221 245 } 222 246 223 247 # 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 } 248 bMotion_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 255 bMotion_abstract_register "_bmotion_like" 256 bMotion_abstract_register "_bmotion_dislike" 257 258 bMotion_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 266 bMotion_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 14 14 ############################################################################### 15 15 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" 16 bMotion_plugin_add_complex "love" "i (love|luv|wov|wuv|luvly|lovely) (you,? %botnicks|%botnicks)" 100 bMotion_plugin_complex_love "en" 17 bMotion_plugin_add_complex "love2" "i think (you are|you're) (wuvly|luvly|lovely),? %botnicks" 100 bMotion_plugin_complex_love "en" 18 bMotion_plugin_add_complex "love3" "i think %botnicks is (wuvly|luvly|lovely)" 100 bMotion_plugin_complex_love "en" 17 19 18 20 proc bMotion_plugin_complex_love { nick host handle channel text } { 19 21 global mood 20 22 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 } 25 30 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 } 27 37 28 if {$mood(happy) < 15 && $mood(lonely) < 5} {29 bMotionDoAction $channel [bMotionGetRealName $nick $host] "%VAR{loveresponses}"30 bMotionGetHappy31 bMotionGetUnLonely38 if {$mood(happy) < 15 && $mood(lonely) < 5} { 39 bMotionDoAction $channel [bMotionGetRealName $nick $host] "%VAR{loveresponses}" 40 bMotionGetHappy 41 bMotionGetUnLonely 32 42 bMotion_plugins_settings_set "system" "lastdonefor" $channel "" $nick 33 return 134 } 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] 37 47 bMotion_plugins_settings_set "system" "lastdonefor" $channel "" $nick 38 return 139 }48 return 1 49 } 40 50 } 51 52 bMotion_abstract_register "love_like" { 53 "i love you %%, as a friend" 54 "ok" 55 "/<3 %% as a friend" 56 "%VAR{smiles}" 57 } 58 59 bMotion_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 633 633 } 634 634 635 636 bMotion_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 661 bMotion_abstract_register "nice_adverb" { 662 "happily" 663 "nicely" 664 "sexily" 665 "cutely" 666 "visibly" 667 "confidently" 668 "lovingly" 669 } 670 671 bMotion_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 686 bMotion_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 701 bMotion_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 711 bMotion_abstract_register "nice_paintbodypart" { 712 "nose" 713 "head" 714 "paws" 715 "fluffy bits" 716 } 717 718 bMotion_abstract_register "nice_paintbodyparts" { 719 "noses" 720 "heads" 721 "paws" 722 "fluffy bits" 723 } 724 725 bMotion_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 735 bMotion_abstract_register "nice_place" { 736 "lounge" 737 "park" 738 "ballpond" 739 "bedroom" 740 "bouncy castle" 741 } 742 743 bMotion_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 752 bMotion_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 761 bMotion_abstract_register "nice_thingverb" { 762 "hugging" 763 "enjoying" 764 "drinking" 765 "admiring" 766 "waving" 767 } 768 769 bMotion_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 635 777 bMotion_abstract_register "inon" { 636 778 "in" … … 641 783 bMotion_abstract_register "coveredin" { 642 784 "%VAR{paintstuff} covered" 785 } 786 787 bMotion_abstract_register "nice_coveredin" { 788 "%VAR{nice_paintstuff} covered" 643 789 } 644 790 … … 650 796 } 651 797 798 bMotion_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 652 805 bMotion_abstract_register "fulladjectives" { 653 806 "%VAR{amount} %VAR{adjective}" … … 657 810 } 658 811 812 bMotion_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 659 818 bMotion_abstract_register "fullbeing" { 660 819 "%VAR{being}" … … 662 821 } 663 822 823 bMotion_abstract_register "nice_fullbeing" { 824 "%VAR{nice_being}" 825 "%VAR{nice_fulladjective} %VAR{nice_being}" 826 } 827 664 828 bMotion_abstract_register "fullbeings" { 665 829 "%VAR{amount} %VAR{beings}" … … 667 831 } 668 832 833 bMotion_abstract_register "nice_fullbeings" { 834 "%VAR{amount} %VAR{nice_beings}" 835 "%VAR{amount} %VAR{nice_fulladjectives} %VAR{nice_beings}" 836 } 837 669 838 bMotion_abstract_register "fullbodypart" { 670 839 "%VAR{paintbodypart}" 671 840 "%VAR{paintbodyparts}" 841 } 842 843 bMotion_abstract_register "nice_fullbodypart" { 844 "%VAR{nice_paintbodypart}" 845 "%VAR{nice_paintbodyparts}" 672 846 } 673 847 … … 691 865 "%VAR{fulladjective} %VAR{place}" 692 866 "%VAR{fulladjective} %VAR{place} of %VAR{material}" 867 } 868 869 bMotion_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}" 693 992 } 694 993
Note: See TracChangeset
for help on using the changeset viewer.
