Esempio n. 1
0
def select_party_member_to_sell_interpreter(keyEvent):
    if keyEvent.key in NUMBER_KEYS:
        num = int(pygame.key.name(keyEvent.key)) - 1
        if 0 <= num and num < person.get_party().len():
            global chosenPerson, playerGoods
            chosenPerson = person.get_party().get_member(num)
            window_sell_person_chosen()
    elif keyEvent.key == K_BACKSPACE:
        shop_mode(doneShoppingLitany=litany)
Esempio n. 2
0
def window_shop():
    global chosenPerson
    if person.get_party().len() == 1:
        chosenPerson = universal.state.player
        window_shop_person_chosen()
    else:
        say_title('Please select a character to go shopping.')
        universal.say(person.get_party().display())
        set_commands(['(#) Select a character.', '<==Back'])
        set_command_interpreter(select_character_to_buy_interpreter)
Esempio n. 3
0
def choose_character_to_carry_item():
    if len(person.get_party()) == 1:
        universal.say([universal.state.player.name, 'is now carrying', chosenGood.name])
        universal.state.player.take_item(chosenGood)
        set_goods()
        acknowledge(window_shop_person_chosen, ())
    else:
        universal.say(['Who should carry', chosenGood.name + "?"])
        universal.say(person.get_party().display())
        set_commands(['(#) Select party member'])
        set_command_interpreter(choose_character_to_carry_item_interpreter)
Esempio n. 4
0
def window_sell():
    say_title('Sell')
    global chosenPerson
    if person.get_party().len() == 1:
        chosenPerson = universal.state.player
        window_sell_person_chosen()
    else:
        say_title('Select a party member whose inventory you would like to look at.')
        universal.say(person.get_party().display())
        set_commands(['(#) Select party member', '<==Back'])
        set_command_interpreter(select_party_member_to_sell_interpreter)
Esempio n. 5
0
def choose_character_to_equip_item():
    if len(person.get_party()) == 1:
        universal.say([universal.state.player.name, 'has equipped', chosenGood.name + "."])
        universal.state.player.equip(chosenGood)
        acknowledge(window_shop_person_chosen, ())
    else:
        say_title(['Who should equip', chosenGood.name + "?"])
        universal.say(person.get_party().display())
        if len(person.get_party()) < 10:
            set_commands(['(#) Select party member'])
        else:
            set_commands(['(#) Select party member:_', '(Enter)Done'])
        set_command_interpreter(choose_character_to_equip_item_interpreter)
Esempio n. 6
0
def select_character_to_buy_interpreter(keyEvent):
    global chosenPerson
    if keyEvent.key in NUMBER_KEYS:
        num = int(pygame.key.name(keyEvent.key)) - 1
        if 0 <= num and num < person.get_party().len():
            chosenPerson = person.get_party().get_member(num)
            window_shop_person_chosen()
    elif keyEvent.key == K_BACKSPACE:
        if len(playerGoods) >= 10 and partialNum != '':
            partialNum = partialNum[:-1]
        elif person.get_party().len() == 1:
            shop_mode(doneShoppingLitany=litany)
        else:
            window_shop()
Esempio n. 7
0
def window_sell_interpreter(keyEvent):
    global partialNum
    if keyEvent.key in NUMBER_KEYS:
        if len(playerGoods) < 10:
            num = int(pygame.key.name(keyEvent.key)) - 1
            if 0 <= num and num < len(playerGoods):
                global chosenGood
                chosenGood = chosenPerson.get_item(num)
                confirm_sell()
        else:
            partialNum += pygame.key.name(keyEvent.key)
            set_commands(['(#) Select item to sell:' + str(partialNum) + '_', '<==Back'])
    elif keyEvent.key == K_BACKSPACE:
        if len(playerGoods) >= 10 and partialNum != '':
            partialNum = partialNum[:-1]
        elif person.get_party().len() == 1:
            shop_mode(doneShoppingLitany=litany)
        else:
            window_sell()
    elif keyEvent.key == K_RETURN:
        try:
            chosenGood = chosenPerson.get_item(int(partialNum)-1)
        except IndexError:
            return
        else:
            confirm_sell()
Esempio n. 8
0
def choose_character_to_carry_item_interpreter(keyEvent):
    if keyEvent.key in NUMBER_KEYS:
        num = int(pygame.key.name(keyEvent.key)) - 1
        if 0 <= num and num < len(universal.state.party):
            personWhoBoughtGood = chosenPerson
            chosenPerson = person.get_party().get_member(num)
            chosenPerson.take_item(chosenGood)
            universal.say([chosenPerson.name, 'has taken', chosenGood.name + "."])
            chosenPerson = personWhoBoughtGood
            acknowledge(window_shop_person_chosen, ())
Esempio n. 9
0
def select_character_interpreter(keyEvent):
    party = person.get_party()
    global previousMode
    if keyEvent.key == K_BACKSPACE:
        if previousMode is None:
            previousMode = town_mode
        previousMode()
    elif keyEvent.key in NUMBER_KEYS:
        num = int(pygame.key.name(keyEvent.key))
        per = party.members[num-1]
        per.character_sheet(previousMode)
Esempio n. 10
0
def choose_character_to_equip_item_interpreter(keyEvent):
    global chosenPerson, partialNum
    if keyEvent.key in NUMBER_KEYS:
        num = int(pygame.key.name(keyEvent.key)) - 1
        if len(person.get_party()) < 10:
            if 0 <= num and num < len(person.get_party()):
                personWhoBoughtGood = chosenPerson
                chosenPerson = person.get_party().get_member(num)
                personWhoBoughtGood.drop_item(chosenGood)
                chosenPerson.take_item(chosenGood)
                chosenPerson.equip(chosenGood)
                universal.say([chosenPerson.name, 'has equipped', chosenGood.name + '.'])
                chosenPerson = personWhoBoughtGood
                acknowledge(window_shop_person_chosen, ())
        else:
            partialNum += pygame.key.name(keyEvent.key)
    elif keyEvent.key == K_BACKSPACE and len(person.get_party()) < 10:
        partialNum = partialNum[:-1]
    elif keyEvent.key == K_RETURN and len(person.get_party()) < 10:
        try:
            num = int(partialNum)
        except ValueError:
            return
        partialNum = ''
        personWhoBoughtGood = chosenPerson
        chosenPerson = person.get_party().get_member(num)
        chosenPerson.equip(chosenGood)
        universal.say([chosenPerson.name, 'has equipped', chosenGood.name + '.'])
        chosenPerson = personWhoBoughtGood
        acknowledge(window_shop_person_chosen, ())
Esempio n. 11
0
def talk(previousModeIn):
    party = person.get_party()
    talkableCharacters = [c for cName, c in universal.state.location.characters.iteritems() if c and
            not party.inParty(c)]
    if talkableCharacters:
        print(talkableCharacters)
        universal.say('Who would you like to speak to?\n')
        universal.say('\n'.join([j + name for j, name in zip(
            [str(i) + '. ' for i in range(1, len(talkableCharacters)+1)],
            [c.printedName for c in talkableCharacters])]))
        universal.set_commands(['(#) Select person', '<==Back'])
        global previousMode
        previousMode = previousModeIn
        universal.set_command_interpreter(talk_interpreter)
Esempio n. 12
0
def confirm_buy_interpreter(keyEvent):
    if keyEvent.key == K_RETURN:
        if chosenPerson.coins >= chosenGood.price:
            chosenPerson.coins -= chosenGood.price
            shopkeeper.inventory.remove(chosenGood)
            chosenPerson.take_item(chosenGood)
            say_title([chosenPerson.name + "'s", 'Matrons: ', str(chosenPerson.coins)])
            if chosenGood.is_equippable():
                if len(person.get_party()) == 1:
                    universal.say(['\nShould', chosenPerson.printedName, 'equip it?'])
                else:
                    universal.say('\nShould someone equip it?')
                set_commands(['(Y)es', '(N)o'])
                set_command_interpreter(equip_interpreter)
            else:
                choose_character_to_carry_item()
        else:
            universal.say([chosenPerson.name, "doesn't have enough money!"])
            acknowledge(window_shop_person_chosen, ())
        set_goods()
    elif keyEvent.key == K_BACKSPACE:
        window_shop_person_chosen()
Esempio n. 13
0
def talk_interpreter(keyEvent):
    global previousMode
    if keyEvent.key == K_BACKSPACE:
        if previousMode is None:
            previousMode = town_mode
        previousMode()
    elif keyEvent.key in NUMBER_KEYS:
        chosenNum = int(pygame.key.name(keyEvent.key)) - 1
        talkableCharacters = [c for cName, c in universal.state.location.characters.iteritems() if c and c not in person.get_party().members]
        if 0 <= chosenNum and chosenNum < len(talkableCharacters):
            conversation.converse_with(talkableCharacters[chosenNum], town_mode)