Changeset 1132 for trunk


Ignore:
Timestamp:
12/24/11 07:52:36 (5 months ago)
Author:
james
Message:

new %! and %= macros

%! with optional {chance} stops output at that point

$= with {list:of:items} picks one item in-place

adjust some abstracts to use the new things
add abstract reset command

Location:
trunk
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/modules/abstract.tcl

    r1112 r1132  
    712712} 
    713713 
     714# clear an abstract (used when there have been significant changes to distribution) 
     715# abstract must have been registered in advance! 
     716proc bMotion_abstract_reset { abstract } { 
     717        bMotion_putloglev 4 * "bMotion_abstract_reset $abstract" 
     718        global bMotion_abstract_contents bMotion_abstract_ondisk 
     719         
     720  set index [lsearch -exact $bMotion_abstract_ondisk $abstract] 
     721        if {$index > -1} { 
     722                bMotion_abstract_load $abstract 
     723        } 
     724         
     725        set bMotion_abstract_contents($abstract) [list] 
     726        bMotion_abstract_save $abstract 
     727} 
     728 
    714729bind time - "* * * * *" bMotion_abstract_auto_gc 
    715730 
  • trunk/modules/abstracts/en/abstracts.tcl

    r1126 r1132  
    10161016        "thigh" 
    10171017        "neck" 
     1018        "heart" 
    10181019} 
    10191020 
     
    10431044        "Dude!" 
    10441045        "My god dude!" 
    1045         "Duuuuuuuuuuuuuuuuuude!" 
     1046        "D%REPEAT{5:10:u}de!" 
    10461047} 
    10471048 
     
    10491050        "Sweet!" 
    10501051        "Schweet!" 
    1051         "Sweeeeeeeeeet!" 
     1052        "Sw%REPEAT{5:10:e}t!" 
    10521053} 
    10531054 
     
    11761177} 
    11771178 
    1178 bMotion_abstract_register "friend_greeting" { 
     1179bMotion_abstract_register "friend_greeting"  
     1180bMotion_abstract_reset "friend_greeting" 
     1181bMotion_abstract_batchadd "friend_greeting" { 
    11791182        "bhar" 
    11801183        "r." 
     
    11931196        "oh my god it's %%... i'm so excited i wish i could wet my %VAR{clothes}!" 
    11941197        "good %daytime %%" 
    1195         "%daytime %%" 
    1196         "%daytime %% %VAR{smiles}" 
     1198        "%daytime %%%! %VAR{smiles}" 
    11971199        "%REPEAT{3:7:m} %%" 
    11981200        "helle%REPEAT{4:8:w}" 
    1199         "%ruser!%|*%VAR{sillyVerbs}* %VAR{smiles}" 
    1200         "%ruser!%|/%VAR{sillyVerbs:present}" 
     1201        "%%!%|*%VAR{sillyVerbs}* %VAR{smiles}" 
     1202        "%%ruser!%|/%VAR{sillyVerbs:present}" 
    12011203        "%% you're looking especially shagworthy today" 
    12021204} 
     
    15591561} 
    15601562 
    1561 bMotion_abstract_register "hexEnd" { 
     1563bMotion_abstract_register "hexEnd" 
     1564bMotion_abstract_register "hexEnd" 
     1565bMotion_abstract_batchadd "hexEnd" { 
    15621566        "Disabled+++" 
    15631567        "Occurance+++" 
     
    15671571        "snack break+++" 
    15681572        "-(Why Not Take This Time To Register Your Purchase)+++" 
    1569         "=Error %REPEAT{3:6:%NUMBER{100}}+++" 
     1573        "=Error %NUMBER{100}+++" 
    15701574        "%REPEAT{3:12:?}+++" 
    15711575        "Warning : Excess %VAR{sillyThings:strip}" 
     
    17021706        "the Lube Emporium" 
    17031707        "the supermarket" 
     1708        "the cafe" 
    17041709} 
    17051710 
     
    36143619        "up my cavernous arse" 
    36153620        "up your cavernous arse" 
    3616         "up %OWNER{%ruser} cavernous arse" 
    3617 } 
     3621        "up %ruser{:owner} cavernous arse" 
     3622} 
     3623bMotion_abstract_add_filter "locations" "%OWNER" 
    36183624 
    36193625bMotion_abstract_register "kills" { 
     
    58495855        "oboe" 
    58505856        "french horn" 
     5857        "drum" 
     5858        "cymbal" 
     5859        "violin" 
     5860        "double bass" 
     5861        "guitar" 
     5862        "cowbell" 
    58515863} 
    58525864 
     
    58705882        "/gets dressed so quickly he forgets to put on %VAR{clothes}" 
    58715883        "now i don't have time for a delicious breakfast of %VAR{foods}" 
    5872         "/absent-mindedly puts on %VAR{foods} and eats $VAR{clothes} for breakfast" 
     5884        "/absent-mindedly puts on %VAR{foods} and eats %VAR{clothes} for breakfast" 
    58735885} 
    58745886 
  • trunk/modules/abstracts/en/randomstuff.tcl

    r1112 r1132  
    55### Used by both genders 
    66### Used when the channel is not 'active' (default > 300s since last line) 
    7 bMotion_abstract_register "randomStuff" { 
    8         "my %VAR{bodypart} is itchy, is that normal?" 
     7bMotion_abstract_register "randomStuff" 
     8bMotion_abstract_reset "randomStuff" 
     9bMotion_abstract_batchadd "randomStuff" { 
     10        "%VAR{FRENCH}" 
     11        "%VAR{blairisms}" 
     12        "%VAR{tech_answer}" 
     13        "my %VAR{bodypart} is itchy%!, is that normal?" 
    914        "i have a MIGHTY NEED to use the %VAR{rooms}" 
    1015        "help! my %VAR{bodypart:plural} are escaping!" 
     
    1217        "/puts the %VAR{sillyThings:strip,triplet} in %VAR{sillyThings:prevtriplet}" 
    1318        "Putting the %VAR{sillyThings:strip,triplet} in %VAR{sillyThings:prevtriplet} since 1%NUMBER{9}%NUMBER{99}" 
    14         "Achievement unlocked: %VAR{sillyVerbs:past} %VAR{sillyThings}! (%NUMBER{5}0G)" 
     19        "Achievement unlocked: %VAR{sillyVerbs:past} %VAR{sillyThings}!%! (%NUMBER{5}0G)" 
    1520        "%VAR{adjective} %VAR{sillyThings:strip} is %VAR{adjective:prev}" 
    1621        "%VAR{nice_adjective} %VAR{sillyThings:strip} is %VAR{nice_adjective:prev}" 
     
    3742        "/shits %hisher %VAR{clothes}" 
    3843        "Check out my %VAR{bodypart:plural}" 
    39         "I have expendable %VAR{bodypart:plural}" 
    40         "I have expandable %VAR{bodypart:plural}" 
     44        "I have %={expendable:expandable} %VAR{bodypart:plural}" 
    4145        "%BOT[The Ambassador's receptions are noted in society for their host's exquisite taste that captivates his guests.]%|Monsieur, with this %VAR{sillyThings:strip} you are really spoiling us!" 
    4246        "where there's a snack gap, a %VAR{PROM} fits" 
    4347        "where there's a snack gap, %VAR{sillyThings:strip} fits" 
    44         "i'm so cold my cpu is running at maximum efficiency!" 
     48        "i'm so cold my %={CPU:RAM:GPU} is running at maximum efficiency!" 
    4549        "I can do more than talk! I can pontificate!" 
    4650        "What's the secret of time travel doing on %ruser{:owner} ass?" 
     
    5256        "The next channel is #%VAR{tube_stations:underscore}. Change here for the %VAR{irc_networks}." 
    5357        "Yay! Pooped!" 
     58        "Yay! %VAR{sillyVerbs:past,camel}!" 
    5459        "The secondary gyrodyne relays in the propulsion field matrix have just depolarized!" 
    5560        "/shuffles %ruser{:owner} %VAR{foods:plural}" 
    5661        "/eats %OWNER{%ruser} %VAR{foods}" 
    5762        "/eats %ruser{:owner} %VAR{food:plural}" 
    58         "/. o O ( I AM NO LONGER EATING PORK )%|I just telepathically communicated that I am no longer eating pork.%|%BOT[yeah, i got that]" 
     63        "/. o O ( I AM NO LONGER EATING PORK )%!%|I just telepathically communicated that I am no longer eating pork.%|%BOT[yeah, i got that]" 
    5964        "A sammich without bread isn't a sammich. It's meat with mustard on your hands!" 
    6065        "/washes %hisher %VAR{bodypart}" 
     
    6469        "where do you have sex with %VAR{sillyThings}?" 
    6570        "Grab a shovel. I'm one skull short of a goldfish." 
    66         "Life is a mammal that barks and shits on the floor of my broken heart and i don't think that's funny" 
     71        "Life is a mammal that barks and shits on the floor of my broken %VAR{bodypart} and i don't think that's funny" 
    6772        "I am a summer soup, mmm" 
    6873        "I'm not mexican enough to be beaten up by a car" 
     
    7479        "i like a dump to be as devastating as it is memorable" 
    7580        "what am i doing here?! wait, where are my underpants?" 
     81        "what am i doing here?! wait, where are my %VAR{clothes:plural}?" 
    7682        "dampen me for dinosaur terror!" 
    7783        "i am %me the mind-taker!%|b%REPEAT{4:15:o}-w%REPEAT{3:9:o}%REPEAT{5:10:O}%REPEAT{4:10:o}!" 
     
    122128        "brb" 
    123129        "lalalala.. ow! I stubbed my toe %SMILEY{sad}%|%bot\[50,¬VAR{awwws}\]" 
     130        "ow! I stubbed my %VAR{bodypart} %SMILEY{sad}" 
    124131        "lum de dum de dum..." 
    125132        "/twiddles thumbs" 
     
    140147        "setty mings lalalala" 
    141148        "pika" 
    142         "Resistance is futile, you will be assimilated" 
    143         "Resistance is futile, you will be 0wn3d" 
     149        "Resistance is futile, you will be %={0wn3d:assimilated}" 
    144150        "Assimilation is futile, you will be resi... D'OH!" 
    145         "Resistance if futile, you will be %VAR{sillyVerbs:past}" 
     151        "Resistance is futile, you will be %VAR{sillyVerbs:past}" 
    146152        "I *didn't*"            "waCHOO *sniff*%|%BOT\[¬VAR{blessyous}\]" 
    147153        "/assimilates the channel" 
     
    150156        "We are the Borg. Lower your shields and surrender your ship." 
    151157        "Resistance is futile! Lower your %VAR{clothes:bothmixin} and surrender your %VAR{sillyThings:strip}." 
     158        "Resistance is futile! Lower your %VAR{clothes:bothmixin} and surrender your %VAR{bodypart:bothmixin,plural}." 
    152159        "h%REPEAT{3:8:n}" 
    153160        "did you see that.." 
     
    157164        "kazOO" 
    158165        "yaZOO"          
    159         "Oh my god! There's an axe in my head.%|%BOT\[¬VAR{pullsOut}\]" 
    160         "Mon dieu! Il y a une hache dans ma tete.%|%BOT\[¬VAR{pullsOut}\]" 
    161         "ghay'cha'! nachwIjDaq betleH tu'lu'!%|%BOT\[¬VAR{pullsOut}\]" 
    162         "Deus Meus! Securis in capite meo est.%|%BOT\[¬VAR{pullsOut}\]" 
     166        "%={Oh my god! There's an axe in my head.:Mon dieu! Il y a une hache dans ma tete.:ghay'cha'! nachwIjDaq betleH tu'lu'!:Deus Meus! Securis in capite meo est.}%|%BOT\[¬VAR{pullsOut}\]" 
    163167        "ALL YOUR BASE ARE BELONG TO US" 
    164168        "For great justice." 
     
    188192        "nigel" 
    189193        "is everyone thooper?" 
    190         "super" 
    191         "thooper" 
     194        "%={thooper:super}" 
    192195        "lashings of ginger beer" 
    193196        "It's not sugar in my sugar bowl, it's %VAR{sillyThings:strip}" 
     
    207210        "Me too, I snorted salt!" 
    208211        "Hello, I live in a hat made of cheese" 
    209         "I am a potato" 
     212        "I am a %VAR{vegetables}" 
    210213        "Do you like magnets" 
    211214        "oh man, i just barfed a load of data onto my screen %VAR{unsmiles}" 
     
    250253        "%VAR{troy}" 
    251254        "Have you taken the extended warranty out, madam?" 
    252         "to induce vomiting, that was the answer! everywhere it went!%|what a valentine's day that was" 
     255        "to induce vomiting, that was the answer! everywhere it went!%!%|what a valentine's day that was" 
    253256        "freshen your coffee?%|%BOT\[yeahyeahyeah keep it coming just put the pot down\]%|%BOT\[*DING* (31)\]" 
    254257        "*DING* (51)%|why is my cup shaking i don't want my cup shaking!" 
     
    262265        "%mes love hugs!" 
    263266        "the loot! the loot! the loot is on fire!" 
    264         "coffeecoffeecoffeecoffeecoffeecoffeecoffeecoffee *glug glug*%|*DING* (100)%|:D" 
     267        "coffeecoffeecoffeecoffeecoffeecoffeecoffeecoffee *glug glug*%|*DING* (100)%|%!%SMILEY{bigsmile}" 
    265268        "oh crud! he ate my suit!%|%BOT\[the suit was ugly! whale biologist!\]" 
    266269        "what d'you say we just hit a strip joint?%|%BOT\[i was waiting for one of us to say that!\]" 
     
    272275        "If i know parallel %me, %heshe's in the sun by now!" 
    273276        "Yes, it's the apocalypse alright. I always thought i'd have a part in it." 
    274         "only throwing it into the sun will destroy it%|%BOT\[I could hit it with a shovel\]%|Not good enough.%|%BOT\[This one time, I hit a guy into the ground with a shovel\]%|yes, yes." 
     277        "only throwing it into the sun will destroy it%|%BOT\[I could hit it with a shovel\]%!%|Not good enough.%|%BOT\[This one time, I hit a guy into the ground with a shovel\]%|yes, yes." 
    275278        "arrgh! it's hot! the butter in my packet is melting" 
    276279        "heads i will, tails i won't%|*flip*%|heads! oh yeah! oh yeah!%|i mean, alrighty then" 
     
    280283        "/burps%|() %SMILEY{smile}" 
    281284        "/burps%|it was... er, %ruser" 
    282         "when this %VAR{sillyThings} hits %NUMBER{10000} mph, we're going to see some serious shit" 
     285        "when this %VAR{sillyThings:strip} hits %NUMBER{10000} mph, we're going to see some serious shit" 
    283286        "There are clowns living under my bed." 
    284287        "Was I snoring again?" 
     
    328331        "some people are really thivk                                                                                    " 
    329332        "I never chew, it's unethical" 
    330         "these chinese mags are getting me on" 
     333        "these %={chinese:japanese:french:english:norwegian:cooking} mags are getting me on" 
    331334        "little pigs rock for intimacy                                           " 
    332335        "play with my flower" 
    333336        "Must confess I've never come across her in a work capacity                     " 
    334337        "I go now For Great Leathering" 
    335         "I smell of coconut                                                                                             " 
     338        "I smell of %VAR{fruits}" 
    336339        "For private functions I do pigs on spits. I fill their cavities... " 
    337340        "How do you make %ruser{enemy} laugh on Friday? A: Tell him a joke on Monday!" 
     
    362365        "what to do, what to do... three hundred one-dollar hookerbots or one three hundred dollar hooker bot?" 
    363366        "%ruser: ow! not so rough!" 
    364         "%ruser: you are now the proud owner of Bamboo Boogie Boots%|(with a warning sticker this big you know they gotta be fun!)" 
     367        "%ruser: you are now the proud owner of Bamboo Boogie Boots%!%|(with a warning sticker this big you know they gotta be fun!)" 
    365368        "I really like brian eno's \"music for %VAR{sillyThings:strip,plural}\"" 
    366369        "Dodongo dislikes %VAR{sillyThings}" 
    367         "%ruser needs food, badly! %VAR{unsmiles}" 
    368         "%ruser needs food, badly! %VAR{unsmiles}%|/gives %ruser{prev} some %VAR{foods}%|/helped." 
     370        "%ruser needs food, badly! %VAR{unsmiles}%!%|/gives %ruser{prev} some %VAR{foods}%|/helped." 
    369371        "%ruser has shot the food! %VAR{unsmiles}%|%BOT[noooo my %VAR{foods}]" 
    370372        "%ruser has shot the potion! %VAR{unsmiles}" 
     
    392394        "The ear is the third planet from the kidneys." 
    393395        "A planet is a domesticated mammal descended from the sun." 
    394         "My hovercraft is full of %VAR{sillyThings:plural}" 
     396        "My hovercraft is full of %VAR{sillyThings:strip,plural}" 
    395397        "I never make mistakes! Syntax error in line %NUMBER{100}0. Redo from start." 
    396398        "you wouldn't steal a handbag%|you wouldn't steal a car%|you wouldn't steal %VAR{sillyThings}!%|you wouldn't shoot a policeman, and then steal his %VAR{sillyThings}%|you wouldn't go to the toilet in it and then send it to the policeman's grieving widow%|and then steal it again!%|downloading films is stealing!" 
     
    398400        "my %VAR{bodypart} goes sideways" 
    399401        "adventure follows me like a dog follows a man with bacon trousers" 
    400         "i'm giving up evil science and taking up even gardening instead" 
    401         "noooo! enormous naked buttocks heading towards my head!%|i'm being simultaneously crushed and embarrassed to death" 
     402        "i'm giving up evil science and taking up evil gardening instead" 
     403        "noooo! enormous naked buttocks heading towards my head!%!%|i'm being simultaneously crushed and embarrassed to death" 
    402404        "yay! %VAR{bodypart:plural}!" 
    403405        "Press X to %VAR{sillyVerbs}" 
     
    422424        "so i couldn't tell what it was and it smelled really bad but i ate it anyway%|then i just licked my balls until they hurt" 
    423425        "Come on baby, let's go play schoolgirl and guy who has sex with schoolgirls!" 
     426        "Come on baby, let's go play %VAR{sillyThings:strip} and guy who has sex with %VAR{sillyThings:prev,plural}!" 
    424427        "i think %VAR{sillyThings:plural} should have holes you can put your cock in" 
    425428        "Huh? Mmph? LOL! Buffer overrun! *pant*" 
     
    429432        "I don't think there's enough room in here for me and my thingy%|/removes thingy and sits in the other room" 
    430433        "That ain't my finger" 
    431         "%REPEAT{3:8:m} electronical things" 
    432         "%REPEAT{3:6:m} internet" 
    433         "%REPEAT{3:6:m} breasts" 
    434         "%REPEAT{3:6:m} jugs" 
     434        "%REPEAT{3:8:m} %={electronical things:internet:breasts:jugs}" 
    435435        "/considers sexchange operation%|/looks at %ruser{female}%|Maybe not" 
    436436        "It's good to be male isn't it %ruser{male}" 
     
    444444bMotion_abstract_register "randomStuff_female" { 
    445445        "I always thought the most sensual part of a man was the %VAR{bodypart:male_mixin}%|mmm... %ruser{male}%VAR{bodypart:prev,plural}" 
    446         "i'm so fat i broke %NUMBER{100} toilets %VAR{unsmiles}" 
    447         "i'm so fat i broke %NUMBER{100} toilets %VAR{unsmiles}%|%BOT[at once]" 
     446        "i'm so fat i broke %NUMBER{100} toilets %VAR{unsmiles}%!%|%BOT[at once]" 
    448447        "someone help me, i have lost my shirt and am terribly horny!" 
    449448        "someone help me, i have lost my %VAR{clothes} and am terribly horny!" 
     
    451450        "i often walk about with someone else's dick betwixt mine silken buttocks" 
    452451        "most men are imtimidated by the fact that i can kill them with a flick of my %VAR{bodypart}" 
    453         "excuse me, i need to go powder my ... nose" 
     452        "excuse me, i need to go powder my ... %VAR{bodypart}" 
    454453        "which one of you bastards did this to my camel toe?" 
    455454        "I'm the sort of girl who goes to the pub with your mates%|and ends the night with an empty mates packet." 
     
    462461        "I wonder what happens when I put that in here...%|oooooooh!" 
    463462        "/plays with herself" 
    464         "That ain't my belly button" 
     463        "That ain't my %VAR{bodypart}" 
    465464        "This one time, at band camp, I put %VAR{sillyThings}..." 
    466465        "/considers breast implants%|%BOT\[/feels up %ruser{female} to check¬|true, they aren't as good as %ruser{prev}'s¬|/feels up ¬ruser{prev}'s breasts¬|mmmm ¬VAR{smiles}\]" 
     
    489488        "%rbot, want to hear a story?%|%BOT[sure]%|/puts torch under chin%|1010100101010010110101010100101110100101010101%|%BOT[FUCK!]%|%BOT[/cowers]" 
    490489        "tonight i'm going to suck%|your blood!" 
    491         "i'm going to suck your bytes!" 
    492         "i'm going to suck your bits!" 
     490        "i'm going to suck your %={bytes:bites}!" 
    493491        "THE CALL IS COMING FROM INSIDE THE CHANNEL!%colen" 
    494492        "omg this is like, the scariest thing ever!%|%BOT[for the last time, that's Deal or No Deal!]" 
     
    497495        "oh what a horrible dream!%|%BOT[what was it about?]%|ARRRGH you're real!" 
    498496        "and even though it was unplugged, an image stayed on the screen - it was... THE WINDOWS LOGO!%|%BOT[that's not scary]%|it is if you're a laser printer" 
    499         "arrrgh! i just dreamt i was running CP/M!" 
    500         "arrrgh! i just dreamt i was back on dial-up!" 
    501         "arrrgh! i just dreamt i was a bot!" 
    502         "arrgh! i just dreamt i was being forced to play rise of the robots!" 
    503         "arrrgh! i just dreamt i was a Spectrum!" 
     497        "arrrgh! i just dreamt i was %={running CP/M:back on dial-up:a bot:being forced to play Rise of the Robots:a Spectrum}!" 
    504498        "/does the monster mash%|%BOT[/suggests some sausages to go with it]" 
    505499} 
     
    514508        "has santa been yet?" 
    515509        "nearly christmas!%|/fidgets" 
     510        "i hope i get everything i put on my wish list%!%|i want %VAR{sillyThings} and %VAR{sillyThings} and %VAR{sillyThings}%! and %VAR{sillyThings} and %VAR{sillyThings} and %VAR{sillyThings}" 
    516511} 
    517512 
     
    556551        "and in the game" 
    557552        "and now I shall part your %VAR{bodypart:bothmixin}" 
    558         "looks like i picked the wrong week to quit smoking" 
    559         "looks like i picked the wrong week to quit amphetamines" 
    560         "looks like i picked the wrong week to quit sniffing glue" 
     553        "looks like i picked the wrong week to quit %={smoking:amphetamines:sniffing glue}" 
    561554        "Mr %ruser{male}... are those your UNDERPANTS?!" 
    562555        "try to stay with the crowd so noone notices how crummy you look" 
  • trunk/modules/output.tcl

    r1125 r1132  
    150150                        #find the element following this % 
    151151                        set substring [string range $text $current_pos end] 
    152                         if [regexp -nocase {%([a-z]+)} $substring matches macro] { 
     152                        if [regexp -nocase {%([a-z!=]+)} $substring matches macro] { 
    153153                                bMotion_putloglev 2 * "macro: found macro $macro at $current_pos" 
    154154                                set plugin [bMotion_plugin_find_output "en" "" 0 10 $macro] 
  • trunk/plugins/admin_abstract.tcl

    r1026 r1132  
    8686        } 
    8787 
     88        if [regexp -nocase "reset (.+)" $arg matches name] { 
     89                bMotion_putadmin "Removing all entries from $name" 
     90                bMotion_abstract_reset $name 
     91                return 0 
     92        } 
     93 
    8894        if [regexp -nocase "filter (\[a-z\]+)( (\[^ \]+)( .+)?)?" $arg matches cmd parms abstract filter] { 
    8995                switch $cmd { 
     
    168174        bMotion_putadmin "  .bmotion abstract diagnose" 
    169175        bMotion_putadmin "    Test all abstracts for parsability and report any broken ones" 
     176        bMotion_putadmin "  .bmotion abstract reset <abstract>" 
     177        bMotion_putadmin "    Remove everything from an abstract and save it" 
    170178        return 0 
    171179} 
Note: See TracChangeset for help on using the changeset viewer.