Attention Meowth! Reiella


log in or register to remove this ad

reiella

Explorer
Sent it.

Will post it here too.
Code:
[color=white]
proc ybmaster {} {
    set realout "&outmsg."
    set outmsg "MeowthBot has decreed this match to take place at the"
    set xmtab01 {"badlands" "canyon" "castle" "caves" "cemetery" "city" "coast" "delta" "desert" "dungeon" "foothills" "forest" "fountain" "garden" "gate" "glade" "groto" "heavens" "hells" "island" "knoll" "lake" "madlands" "marsh" "mesa" "mountain" "palace" "pillars" "plain" "pond" "prairie" "ravine" "ricefield" "river" "ruins" "savanna" "spring" "steppes" "swamp" "temple" "tower" "tundra" "vale" "valley" "village" "vineyard" "volcano" "wastelands" "well" "wetlands"}
    set xmtab02 {"east" "north" "north-east" "north-west" "south" "south-east" "south-west" "west" }
    set xmtab03 {"the Ancient Ruins" "Blackrock Pass" "the Hunting Grounds" "the Iron City" "the Jade Gate" "Mount Kachi" "Pang-Wu Province" "the Yang River Bridge" "the Dragon's Crater" "the Swamp of Hopelessness" "the Sea of Stars" "the Obsidian Tower" "Xiang-Xia Province" "the Imperial Palace" "the Valley of Shadows" "the Altar of the Ancestors" "the Purelands" "the Garden of Worship" "the Point of the Wailing Bones" "the Endless Beach" "the Bottomless Well" "the Tomb of the Ancient Kings" "the Hall of Bones" "the Vineyard of Xian's Song" "the Garden of Lost Hope" "the Desert of Gems" "the Snowy Wastes" "the Ancient Volcano" "the Spring of Life" "the Old Hermit's Village" "the Forbidden City" "the Jade Cliffs" "the Graveyard of the Undying" "the Cho-ma Market Square" "the Altar of the Rainbow Circle" "Ssu-Ma's Tomb" "the Eyrie of the Phoenix" "the Palace of the Dragon Kings" "the Cherry Blossom Pagoda" "the Plaza of the Ten Thousand Immortals" "the Lake of the Sacred Tortoise" "the Imperial Pleasure Garden" "Shangtung Mountain" "the Baths at Lo Xiang" "the Monastery of the Red Butterfly" "Dancing Buddha's Shrine" "the Citadel of Lord Lao" "the Sweetwater Swamp" "NorthGuard Keep" "the Guardian Range"}
    set xmtab04 {"dawn" "morning" "day" "evening" "dusk" "night" }
    set xmtab05 {"blizzard" "cherry blossum" "chopstick" "chimera" "claw" "crab" "crane" "dagger" "dragon" "falcon" "fan" "fang" "fist" "fox" "frog" "hammer" "jaguar" "kama" "ki-rin" "lizard" "lotus blossum" "manta ray" "manticore" "mantis" "mongoose" "monkey" "needle" "northstar" "owl" "panther" "phoenix" "rabbit" "rat" "raven" "rose petal" "scorpion" "snake" "spear" "spider" "staff" "sword" "thorn" "thunder" "tiger" "toad" "tree" "turtle" "vine" "west wind" "wolf" }
 
    lappend outmsg [lindex $xmtab01 [expr [rand 1 [llength $xmtab01]] - 1]]
    lappend outmsg [lindex $xmtab02 [expr [rand 1 [llength $xmtab02]] - 1]]
    lappend outmsg "of"
    lappend outmsg [lindex $xmtab03 [expr [rand 1 [llength $xmtab03]] - 1]]
    lappend outmsg "on the"
    lappend outmsg [lindex $xmtab04 [expr [rand 1 [llength $xmtab04]] - 1]]
    lappend outmsg "of the"
    lappend outmsg [lindex $xmtab05 [expr [rand 1 [llength $xmtab05]] - 1]]
    
    set outmsg [join $outmsg]

    regsub -all "&outmsg" $realout $outmsg realout
    return $realout
    complete
}

proc ybmove {} {
    # realout, future attempt to remove dummy spaces
    set realout "&outmsg; &defmsg! &yen"
    set outmsg "The"
    set defmsg ""
    set yen ""
    set omtab01 { "ancestral" "ancient" "astral" "avenging" "black" "careful" "celestial" "crouching" "dark" "diamond" "drunken" "elaborate" "ethereal" "falling" "ferocious" "flying" "frozen" "golden" "great" "hidden" "infernal" "invincible" "iron" "jade" "light" "meditating" "mighty" "onyx" "opal" "perfect" "roaring" "rolling" "running" "secret" "shadow" "silent" "sleeping" "sly" "sneaky" "star" "staid" "standing" "stealthy" "steel" "timid" "tricky" "veiled" "walking" "whispering" "white" }
    set xmtab01 { "avenging" "ferocious" "cautious" "relentless" "calm" "confidant" "joyful" "courageous" "wrathful" "sad" "crouching" "flying" "falling" "rolling" "running" "tumbling" "leaping" "twisting" "balancing" "speeding" "Tricky" "invisible" "stealthy" "sneaky" "sly" "evasive" "secret" "unseen" "hidden" "shadowy" "diamond" "jade" "onyx" "pearl" "opal" "gold" "silver" "topaz" "emerald" "ruby" "irresistible" "invincible" "mighty" "perfect" "faultless" "flawless" "pure" "superior" "transcendent" "supreme" }
    set xmtab02 {"blizzard" "cherry blossum" "chopstick" "chimera" "claw" "crab" "crane" "dagger" "dragon" "falcon" "fan" "fang" "fist" "fox" "frog" "hammer" "jaguar" "kama" "ki-rin" "lizard" "lotus blossum" "manta ray" "manticore" "mantis" "mongoose" "monkey" "needle" "northstar" "owl" "panther" "phoenix" "rabbit" "rat" "raven" "rose petal" "scorpion" "snake" "spear" "spider" "staff" "sword" "thorn" "thunder" "tiger" "toad" "tree" "turtle" "vine" "west wind" "wolf"}
    set xmtab03 {"aggresively" "angrily" "brutally" "completely" "cruelly" "destructively" "ferociously" "fiercely" "forcefully" "harshly" "insanely" "masterfully" "menacingly" "mercilessly" "overwhelmingly" "painfully" "perfectly" "powerfully" "quickly" "roughly" "ruthlessly" "skillfully" "strongly" "suddenly" "swiftly" "terrifyingly" "unrelentingly" "unremittingly" "viciously" "vigorously" "beautifully" "brilliantly" "calmly" "dexterously" "easily" "effortlessly" "fluidly" "gracefully" "sinuously" "smoothly" "unfailingly" "poetically" "tranquilly" "reflexively" "secretly" "painlessly" "quietly" "elegantly" "cautiously" "delicately"}
    set xmtab04 { "annihilates" "assails" "assaults" "attacks" "bashes" "becomes one with" "breaks" "blasts" "brutalizes" "burns" "carves" "charges" "crushes" "cuts" "decimates" "demolishes" "destroys" "devastates" "devours" "dominates" "drowns" "eliminates" "illuminates" "impales" "invades" "kicks" "leaps over" "mangles" "nails" "obliterates" "overwhelms" "parts" "penetrates" "punches" "quells" "rains upon" "ravages" "removes" "rends" "scatters" "scourges" "severs" "shatters" "silences" "shreds" "slashes" "slaughters" "slays" "splits" "storms" "strikes" "sucker punches" "thrusts" "torments" "tramples" "vanquishes" "withers" "wounds" "wracks"}
    set xmtab05 {"appears" "bows" "dances" "dodges" "drifts" "drops" "falls" "flies" "flips" "glides" "kicks" "lies" "leaps" "moves" "prances" "punches" "rides" "seeks" "shouts" "sings" "slashes" "spins" "slides" "speaks" "stands" "strikes" "sweeps" "swims" "tracks" "tumbles" }
    set xmtab06 {"above" "across" "atop" "before" "below" "by" "close to" "facing" "from" "higher than" "in the midst of" "near" "next to" "on top of" "over" "through" "underneath" "upon" "with" "within"}
    set xmtab07 {"badlands" "canyon" "castle" "caves" "cemetery" "city" "coast" "delta" "desert" "dungeon" "foothills" "forest" "fountain" "garden" "gate" "glade" "groto" "heavens" "hells" "island" "knoll" "lake" "madlands" "marsh" "mesa" "mountain" "palace" "pillars" "plain" "pond" "prairie" "ravine" "ricefield" "river" "ruins" "savanna" "spring" "steppes" "swamp" "temple" "tower" "tundra" "vale" "valley" "village" "vineyard" "volcano" "wastelands" "well" "wetlands"}
    set xmtab08 {"and so it" "before it" "for it" "in addition, it" "so fast that it" "so it" "then it" "when it" "where it" "while it" "and" "and" "and" "and" "and" "and" "and" "and" "and" "and" "and" "and" "and" "and" "and" "as it" "as it" "as it" "as it" "as it" "as it" "as it" "as it" "as it" "as it" "as it" "as it" "as it" "as it" "as it"}
    set xmtab09 {"battlements" "body" "chi" "clouds" "dark sunbeam" "eyes" "fell dagger" "flame" "fortress" "heart" "invisible blade" "ki" "moon" "rain" "rainbow" "snow" "soul" "spirit" "stone" "stars" "steel" "sun" "thorn" "comet" "ember" "foul" "four winds" "river" "root" "vaccuum" "willow" "wyrm" "air" "armor" "arrow" "bamboo" "earth" "fire" "honor" "lava" "leaf" "lightbeam" "mist" "scythe" "shadow" "shield" "spirit" "steam" "teardrop" "water" "weapon" "amphibian" "ape" "bird" "canine" "cat" "reptile" "rodent" "vermin" "lily" "orchid" "rosewood" "sunflower" "willow"}
    set xmtab10 {"absorbs" "averts" "avoids" "blocks" "conceals" "defends against" "dodges" "dominates" "fends off" "grasps" "guards against" "leaps over" "negates" "parries" "parts" "protects against" "quells" "redirects" "reduces" "removes" "scatters" "shields" "shields against" "silences" "shreds" "wards off" "waves away" "dodges"}
    set xmtab11 {"aggression" "assailment" "beauty" "blood" "chaos" "chi" "cut" "descent" "drive" "edge" "efforts" "energy" "foray" "gaze" "kick" "motion" "offensive" "onslaught" "pain" "punch" "push" "quickening" "rising" "roar" "rolling" "slash" "speed" "stab" "storm" "tempest" "terror" "touch" "throw" "thrust" "violence" }


#    set n [lindex $n [expr [rand 1 [llength $n]] - 1]]

#    echo "[MB-DBG] d20 = [rand 1 20]"

# Is there a style-mod?
    if {[rand 1 20] == 1} {
        lappend outmsg [lindex $xmtab01 [expr [rand 1 [llength $xmtab01]] - 1]]
    }
# generate Style
    lappend outmsg [lindex $xmtab02 [expr [rand 1 [llength $xmtab02]] - 1]]
# generate the attack
    if {[rand 1 20] == 1} {
        lappend outmsg [lindex $xmtab03 [expr [rand 1 [llength $xmtab03]] - 1]]
        lappend outmsg [lindex $xmtab04 [expr [rand 1 [llength $xmtab04]] - 1]]
    } else {
        set dice [rand 1 2]
        if {$dice == 1} {lappend outmsg [lindex $xmtab04 [expr [rand 1 [llength $xmtab04]] - 1]]}
        if {$dice == 2} {
            lappend outmsg [lindex $xmtab05 [expr [rand 1 [llength $xmtab05]] - 1]]
            lappend outmsg [lindex $xmtab06 [expr [rand 1 [llength $xmtab06]] - 1]]
        }
    }
    lappend outmsg "the"
    lappend outmsg [lindex $xmtab07 [expr [rand 1 [llength $xmtab07]] - 1]]

# generate attack special
    if {[rand 1 20] == 1} {
        set dice [rand 1 3]
        lappend outmsg [lindex $xmtab08 [expr [rand 1 [llength $xmtab08]] - 1]]
        if {$dice == 1} {
            lappend outmsg [lindex $xmtab03 [expr [rand 1 [llength $xmtab03]] - 1]]
            lappend outmsg [lindex $xmtab04 [expr [rand 1 [llength $xmtab04]] - 1]]
        }
        if {$dice == 2} {
            lappend outmsg [lindex $xmtab04 [expr [rand 1 [llength $xmtab04]] - 1]]
        }
        if {$dice == 3} {
            lappend outmsg [lindex $xmtab05 [expr [rand 1 [llength $xmtab05]] - 1]]
            lappend outmsg [lindex $xmtab06 [expr [rand 1 [llength $xmtab06]] - 1]]
        }
        lappend outmsg "the"
        set dice [rand 1 2]
        if {$dice == 1} {lappend outmsg [lindex $xmtab07 [expr [rand 1 [llength $xmtab07]] - 1]]}
        if {$dice == 2} {lappend outmsg [lindex $xmtab09 [expr [rand 1 [llength $xmtab09]] - 1]]}

    }
# attack/defense split

# defense
    if {[rand 1 20] == 1} {
        set dice [rand 1 2]
        if {$dice == 1} {
            lappend defmsg [lindex $xmtab03 [expr [rand 1 [llength $xmtab03]] - 1]]
            lappend defmsg [lindex $xmtab10 [expr [rand 1 [llength $xmtab10]] - 1]]
        }
        if {$dice == 2} {
            lappend defmsg [lindex $xmtab05 [expr [rand 1 [llength $xmtab05]] - 1]]
            lappend defmsg [lindex $xmtab06 [expr [rand 1 [llength $xmtab06]] - 1]]
        }
    } else {
        lappend defmsg [lindex $xmtab10 [expr [rand 1 [llength $xmtab10]] - 1]]
    }
    lappend defmsg "the"
    lappend defmsg [lindex $xmtab11 [expr [rand 1 [llength $xmtab11]] - 1]]
    lappend defmsg "of the"
    lappend defmsg [lindex $xmtab09 [expr [rand 1 [llength $xmtab09]] - 1]]
# defense special
    if {[rand 1 20] == 1} {
        set dice [rand 1 3]
        lappend defmsg [lindex $xmtab08 [expr [rand 1 [llength $xmtab08]] - 1]]
        if {$dice == 1} {
            lappend defmsg [lindex $xmtab03 [expr [rand 1 [llength $xmtab03]] - 1]]
            lappend defmsg [lindex $xmtab10 [expr [rand 1 [llength $xmtab10]] - 1]]
        }
        if {$dice == 2} {
            lappend defmsg [lindex $xmtab05 [expr [rand 1 [llength $xmtab05]] - 1]]
            lappend defmsg [lindex $xmtab06 [expr [rand 1 [llength $xmtab06]] - 1]]
        }
        if {$dice == 3} {
            lappend defmsg [lindex $xmtab10 [expr [rand 1 [llength $xmtab10]] - 1]]
        }
        lappend defmsg "the"
        lappend defmsg [lindex $xmtab11 [expr [rand 1 [llength $xmtab11]] - 1]]
        lappend defmsg "of the"
        lappend defmsg [lindex $xmtab09 [expr [rand 1 [llength $xmtab09]] - 1]]
    }   

# yen
    if {[rand 1 20] == 1} {
        if {[rand 1 20] == 1} { lappend yen "*yen+yen*"} else { lappend yen "*yen*" }
    }

    set outmsg [join $outmsg]
    set defmsg [join $defmsg]
    set yen [join $yen]

    regsub -all "&outmsg" $realout $outmsg realout
    regsub -all "&defmsg" $realout $defmsg realout
    regsub -all "&yen" $realout $yen realout

    return $realout
    complete
}
[/color]
 
Last edited:

reiella

Explorer
Also of note... Because of the instant earlier today. MeowthBot now has a move generation log. It lacks a timestamp currently, but that won't be too long away.
 

reiella

Explorer
Okie, the logfiles are in, timestamping etc.

I'm not logging masters or insults unless someone really feels the need for me to add that logging.

MeowthBot also can now generate a strategy hand in one go (privately only however... too much spam potential if publicly usable) which are also logged.

To use the strat hand stuff just /msg meowthbot ybhand and it'll output them.
 

Berandor

lunatic
reiella said:
Also of note... Because of the instant earlier today. MeowthBot now has a move generation log. It lacks a timestamp currently, but that won't be too long away.

Come again? I missed a scandalous occurence?

Tell me :)

Berandor
 

Wicht

Hero
Indeed! I'm a quiver to hear what prompted this fit of programming must-do :p

and how soon can it be installed on the regular generators ;)
 

reiella

Explorer
It came about because someone believed meowthbot's code was generating moves improperly.

And I wanted a logfile to whack people with when they try to say that.

It also can never be installed on the regular generators.
Since those are run on the individual's computer (java script), and the largest extent of knowledge even if it was coded to save a local file... would be the hostmask, so only Darkness would know one way or the other if he brought up the ip address.

MeowthBot can have logs since meowthbot is run entirely on my computer.

YBHand came about mostly as I was already working on MB and it felt like a good idea.
 

Lady Diamond

First Post
Alright, thanks Reiella.

edited to add: If Reiella wishes to add the javascript code to what is already on the generator I would be happy to upload it. Javascript isn't really my forte', as I've mentioned before.
 
Last edited:

reiella

Explorer
Only thing I can really do is change the floor+1s to ceils
and add a function for the hand gen, I don't know much at all about javascript hehe. Or maybe reorganize it so it's slightly easier to read :).

I can't do the logging thing myself, at least not without buying a javascript book :).

The hand part sholdn't be hard though, wouldn't know how to add a new button for it though.
 

Lady Diamond

First Post
I bought a javascript book after I took on responsibility for updating the generator, haven't had time to really get cracking on learning though. I can handle adding another button to the generator.

Ok, so who's the javascript expert here?
 

Remove ads

Top