def suspense(sb):
    speakonomy = Speakonomy()
    if speakonomy.is_active():
        if not speakonomy.check_affordability(cost=20):
            return "Not enough speakerbucks for drumroll"
        speakonomy.withdraw_funds(20)

    sb._play("drumroll")
    
    sound = choice(sb.sounds.keys())

    sb._play(sound)
def macro(sb, macro_name):
    results = db.execute("SELECT * FROM macros where name = ?", (macro_name,)).fetchall()
    if not results:
        return "Macro not found"
    result = results[0]
    macro = Macro(sb, result['name'], result['manifest'])
    macro_cost = macro.get_cost()
    
    speakonomy = Speakonomy()
    if speakonomy.is_active():
        if not speakonomy.check_affordability(cost=macro_cost):
            return "Not enough speakerbucks for macro"

    macro.execute()
def macro(sb, macro_name):
    results = db.execute("SELECT * FROM macros where name = ?",
                         (macro_name, )).fetchall()
    if not results:
        return "Macro not found"
    result = results[0]
    macro = Macro(sb, result['name'], result['manifest'])
    macro_cost = macro.get_cost()

    speakonomy = Speakonomy()
    if speakonomy.is_active():
        if not speakonomy.check_affordability(cost=macro_cost):
            return "Not enough speakerbucks for macro"

    macro.execute()
def suspense(sb):
    speakonomy = Speakonomy()
    if speakonomy.is_active():
        if not speakonomy.check_affordability(cost=20):
            return "Not enough speakerbucks for drumroll"
        speakonomy.withdraw_funds(20)

    sb._play("drumroll")

    sound = choice(sb.sounds.keys())

    sb._play(sound)
def spin(sb, wager):

    lost_it_all = False
    win_multiplier = 20
    outstr = None
    silent = False
    double_or_nothing = False
    cheated_death = 0
    added_message = ""

    wager_list = wager.split(" ")
    wager = wager_list[0]

    if len(wager_list) > 1 and wager_list[1] == "silent" and choice(
            range(1, 15)) != 4:
        silent = True

    speakonomy = Speakonomy()
    if wager.upper() == 'MAX':
        wager = speakonomy.get_speakerbuck_balance()
    elif wager.upper() == 'MAX69':
        wager = speakonomy.get_speakerbuck_balance()
        wager = wager - wager % 69
    elif wager.upper() == 'DON':
        double_or_nothing = True
        wager = speakonomy.get_speakerbuck_balance()
    try:
        wager = int(wager)
    except:
        return "Fuckstick, you can't wager %s" % " ".join(wager_list)

    if wager <= 0:
        return "Nice try wiseguy"
    if speakonomy.is_active():
        if not speakonomy.check_affordability(cost=wager):
            return "Not enough speakerbucks to spin"
        speakonomy.withdraw_funds(wager)
    win_sounds = [
        "price-come-on-down-1.mp3", "price-come-on-down-2.mp3",
        "price-is-right.mp3", "price-big-wheel-win.mp3"
    ]
    lose_sounds = [
        "you-lose.mp3", "good-grief.mp3", "priceisright-horns.mp3",
        "pacman-die.mp3", "sad-trombone.mp3", "wet-fart.mp3"
    ]

    rng = range(1, 20)

    if wager % 69 == 0:

        rng = range(12, 20)

        win_multiplier = choice(range(2, 20) * 2 + [69, 69, 6900])

        if choice(range(1, 20)) == 7:
            lost_it_all = True

    lucky_number = choice(rng)
    chosen_number = choice(rng)

    if chosen_number == lucky_number or wager == lucky_number:
        if wager == lucky_number:
            new_win_multiplier = choice(
                range(6, 20) + [200, 400, 600, 800, 1000, 10000])
            added_message = "And your wager matched the lucky number, you sly dog."

            if chosen_number == wager and win_multiplier == wager:
                new_win_multiplier = new_win_multiplier * 1000000
                added_message = "The wager, chosen number, lucky number and win multiplier all matched. It's a megabucks bonanza!"
            elif chosen_number == wager:
                #Triply lucky
                new_win_multiplier = new_win_multiplier * 300
                added_message += "And the chosen number matched too! You are thirty times as lucky!"

            win_multiplier = new_win_multiplier

        winner = True
    else:
        winner = False

    if double_or_nothing:
        chosen_number = randrange(1, 100)
        if chosen_number < 60:
            winner = True
            win_multiplier = 2
            added_message = "You went double or nothing and won. "
        else:
            winner = False
            added_message = "You went double or nothing and lost. "

    sp = sb.sound_player

    if winner or not silent: sp.play_sound("sounds/price-big-wheel.mp3")

    if winner:
        outcome = wager * win_multiplier
        prizes = [
            "a new car", "a european vacation", "a deluxe horse trailer",
            "new jet skis", "a trip to the moon", "a large fry",
            "a bucket of golden nuggets", "gender neutral servant robots",
            "Abraham Lincoln's death mask"
        ]
        sp.play_sound("sounds/" + choice(win_sounds))
        if speakonomy.is_active():
            speakonomy.deposit_funds(outcome)
        outstr = "You win {prize}. And {outcome} speakerbucks!".format(
            outcome=outcome, prize=choice(prizes))
        if lost_it_all:
            outstr += "You also cheated death."
            cheated_death = 1
    else:
        outstr = ""
        outcome = wager * -1
        if not silent: sp.play_sound("sounds/" + choice(lose_sounds))
        if lost_it_all:
            outcome = speakonomy.get_speakerbuck_balance() * -1
            speakonomy.withdraw_funds(speakonomy.get_speakerbuck_balance())
            outstr = "You risked it all for sexy times. And lost."

    outstr += added_message

    db.record_wager(lucky_number, wager, outcome, chosen_number,
                    win_multiplier, cheated_death)

    return outstr
Exemple #6
0
from eventrecorder import EventRecorder
from Speakerbot import Speakerbot
from speaker_db import SpeakerDB
from speakerlib import *
from speakonomy import Speakonomy
from macros import Macro
from util.words import parse_and_fill_mad_lib
from config import config


print "loading speakerbot"
sb = Speakerbot()

print "loading speakonomy"
speakonomy = Speakonomy(sb)

print "loading speakerdb"
db = SpeakerDB()

print "initializing event recorder"
evr = EventRecorder(db=db)

def stub_interrogator(*args, **kwargs):
    return True

def stub_mangler(*args, **kwargs):
    return args, kwargs

sb.attach_mangler("say", evr.censor)
sb.attach_listener("say", evr.queue_speech_for_tweet)
def spin(sb, wager):

    lost_it_all = False
    win_multiplier = 20
    outstr = None
    silent = False
    double_or_nothing = False
    cheated_death = 0
    added_message = ""

    wager_list = wager.split(" ")
    wager = wager_list[0]

    if len(wager_list) > 1 and wager_list[1] == "silent" and choice(range(1,15)) != 4:
        silent = True

    speakonomy = Speakonomy()
    if wager.upper() == 'MAX':
        wager = speakonomy.get_speakerbuck_balance()
    elif wager.upper() == 'MAX69':
        wager = speakonomy.get_speakerbuck_balance()
        wager = wager - wager % 69
    elif wager.upper() == 'DON':
        double_or_nothing = True
        wager = speakonomy.get_speakerbuck_balance()
    try:
        wager = int(wager)
    except:
        return "Fuckstick, you can't wager %s" % " ".join(wager_list)

    if wager <= 0:
        return "Nice try wiseguy"
    if speakonomy.is_active():
        if not speakonomy.check_affordability(cost=wager):
            return "Not enough speakerbucks to spin"
        speakonomy.withdraw_funds(wager)
    win_sounds = ["price-come-on-down-1.mp3", "price-come-on-down-2.mp3", "price-is-right.mp3", "price-big-wheel-win.mp3"]
    lose_sounds = ["you-lose.mp3", "good-grief.mp3","priceisright-horns.mp3", "pacman-die.mp3", "sad-trombone.mp3", "wet-fart.mp3"]

    rng = range(1,20)

    if wager % 69 == 0:

        rng = range(12,20)

        win_multiplier = choice(range(2,20) * 2 + [69, 69, 6900])

        if choice(range(1,20)) == 7:
            lost_it_all = True

    lucky_number = choice(rng)
    chosen_number = choice(rng)

    if chosen_number == lucky_number or wager == lucky_number:
        if wager == lucky_number:
            new_win_multiplier = choice(range(6,20) + [200, 400, 600, 800, 1000, 10000])
            added_message = "And your wager matched the lucky number, you sly dog."

            if chosen_number == wager and win_multiplier == wager:
                new_win_multiplier = new_win_multiplier * 1000000
                added_message = "The wager, chosen number, lucky number and win multiplier all matched. It's a megabucks bonanza!"
            elif chosen_number == wager:
                #Triply lucky
                new_win_multiplier = new_win_multiplier * 300
                added_message += "And the chosen number matched too! You are thirty times as lucky!"

            win_multiplier = new_win_multiplier

        winner = True
    else:
        winner = False

    if double_or_nothing:
        chosen_number = randrange(1,100)
        if chosen_number < 60:
            winner = True
            win_multiplier = 2
            added_message = "You went double or nothing and won. "
        else:
            winner = False
            added_message = "You went double or nothing and lost. "

    sp = sb.sound_player

    if winner or not silent: sp.play_sound("sounds/price-big-wheel.mp3")

    if winner:
        outcome = wager*win_multiplier
        prizes = ["a new car","a european vacation", "a deluxe horse trailer", "new jet skis", "a trip to the moon", "a large fry", "a bucket of golden nuggets", "gender neutral servant robots", "Abraham Lincoln's death mask"]
        sp.play_sound("sounds/"+choice(win_sounds))
        if speakonomy.is_active():
            speakonomy.deposit_funds(outcome)
        outstr = "You win {prize}. And {outcome} speakerbucks!".format(outcome=outcome,prize=choice(prizes))
        if lost_it_all:
            outstr += "You also cheated death."
            cheated_death = 1
    else:
        outstr = ""
        outcome = wager * -1
        if not silent: sp.play_sound("sounds/"+choice(lose_sounds))
        if lost_it_all:
            outcome = speakonomy.get_speakerbuck_balance() * -1
            speakonomy.withdraw_funds(speakonomy.get_speakerbuck_balance())
            outstr = "You risked it all for sexy times. And lost."

    outstr += added_message

    db.record_wager(lucky_number, wager, outcome, chosen_number, win_multiplier, cheated_death)

    return outstr