brando56894 / dungeon-quest

A dungeon crawler written in Python 2
GNU General Public License v3.0
0 stars 0 forks source link

V2 - Crash: Buying Anything #22

Open brando56894 opened 8 years ago

brando56894 commented 8 years ago

I went to buy a rifle and typed 1 and it crashed.

Rifle
--------------
Defense: -5
Strength: 15
Speed: -5
Hands Needed: 2

Cost: 50

Pres Enter To Go Back

How many do you want to buy? 1
Traceback (most recent call last):
  File "main.py", line 132, in <module>
    menu(new_player)
  File "main.py", line 108, in menu
    choices[choice](player)
  File "/home/bran/dungeon-quest/actions.py", line 152, in visit_shop
    visit_shop_section(area, areas[area], player)
  File "/home/bran/dungeon-quest/actions.py", line 176, in visit_shop_section
    visit_shop(player)
  File "/home/bran/dungeon-quest/actions.py", line 152, in visit_shop
    visit_shop_section(area, areas[area], player)
  File "/home/bran/dungeon-quest/actions.py", line 176, in visit_shop_section
    visit_shop(player)
  File "/home/bran/dungeon-quest/actions.py", line 152, in visit_shop
    visit_shop_section(area, areas[area], player)
  File "/home/bran/dungeon-quest/actions.py", line 176, in visit_shop_section
    visit_shop(player)
  File "/home/bran/dungeon-quest/actions.py", line 152, in visit_shop
    visit_shop_section(area, areas[area], player)
  File "/home/bran/dungeon-quest/actions.py", line 181, in visit_shop_section
    area, player)
  File "/home/bran/dungeon-quest/actions.py", line 240, in checkout_item
    visit_shop_section(section, section_dict, player)
  File "/home/bran/dungeon-quest/actions.py", line 181, in visit_shop_section
    area, player)
  File "/home/bran/dungeon-quest/actions.py", line 210, in checkout_item
    section_dict, player, True)
  File "/home/bran/dungeon-quest/actions.py", line 224, in checkout_item
    if amount and player.gold_handle(cost*amount):
  File "/home/bran/dungeon-quest/player.py", line 360, in gold_handle
    self.stat_modifier({"gold", -cost})
  File "/home/bran/dungeon-quest/character.py", line 117, in stat_modifier
    mod = stat_mod[stat]
TypeError: 'set' object has no attribute '__getitem__'
brando56894 commented 8 years ago

Same thing happens when buying a pistol, and buying Armor.

This one is related but gives a different TypeError: https://github.com/brando56894/dungeon-quest/issues/24

ghost commented 8 years ago

The problem is the comma between "gold" and -cost. This should be a colon. Adding this fix tto the commit I am currently working on