Пример #1
0
 def stockStore(self, level):
     itemsList = shopScr.magicShopsByLevel[ level ]
     self.prices[level] = {}
     self.items[level] = []
     for i in itemsList:
         iT = item.Item( i[0], i[1] )
         iT.priceID = i
         self.items[level].append( iT )
         self.prices[level][i] = prices.priceItem(iT)
Пример #2
0
 def enterStore(self, hero, game, level):
     self.gameboard_copy = game.gameBoard
     self.myInterface.state = 'mainmenu'
     if self.name in ['itemshop', 'magicshop']:
         self.stockStore(level)
     else:
         if self.stockedAt == None:
             self.items[level] = self.stockStore( level )
             self.stockedAt = game.Ticker.getCount()
         else:
             count = game.Ticker.getCount()
             if ( self.stockedAt - count ) > 86400: # num. of secs in 1 day
                 self.items[level] = self.stockStore( level )
                 self.stockedAt = count
     self.drawStoreScreen(game)
     while True:
         action = self.getAction(['Buy', 'Sell', 'Exit Shop'], game)
         if action == 'Exit Shop':
             self.myInterface.state = 'game'
             return
         elif action == 'Buy':
             self.ticker.tick(60)
             purchase = self.buy(game, self.items[level], self.prices[level])
             if purchase == None: pass
             elif hasattr(purchase, "__iter__"):
                 # purchasing multiple items
                 if len(purchase) == 0: pass
                 elif hero.gold >= len(purchase)*self.prices[level][purchase[0].priceID]:
                     for it in purchase:
                         hero.takeGold( self.prices[level][it.priceID] )
                         hero.getItem( it )
             elif hero.takeGold( self.prices[level][purchase.priceID] ):
                 # single item
                 hero.getItem( purchase )
                 if self.name in ['blacksmith', 'armory']:
                     self.items[level].remove(purchase)
                 else:
                     self.stockStore(level)
             else: game.textMessage("You don't have enough money!")
         elif action == 'Sell':
             self.ticker.tick(120)
             sPrices = {}
             hSaleItems = self.getHeroSaleItems(hero)
             for i in range( len( hSaleItems ) ):
                 hSaleItems[i].priceID = i
                 sPrices[i] = prices.priceItem( hSaleItems[i] )/2
             sale = self.sell(game, hSaleItems, sPrices)
             if sale == None: pass
             else:
                 hero.addGold( sPrices[ sale.priceID ] )
                 hero.takeItem(sale)
                 if self.name in ['blacksmith', 'armory']:
                     self.items[level].append(sale)
                 else:
                     self.stockStore(level)
         self.drawStoreScreen(game)
Пример #3
0
    def stockStore(self, level):
        itemsList = shopScr.townHallsByLevel[level]

        self.prices[level] = {}
        self.items[level] = []
        for i in itemsList:
            iT = item.Item(*i)
            iT.priceID = i
            self.items[level].append(iT)
            self.prices[level][i] = prices.priceItem(iT)
Пример #4
0
 def stockStore(self, level):
     itemsList = shopScr.townHallsByLevel[ level ]
     
     self.prices[level] = {}
     self.items[level] = []
     for i in itemsList:
         iT = item.Item( *i )
         iT.priceID = i
         self.items[level].append( iT )
         self.prices[level][i] = prices.priceItem(iT)
Пример #5
0
 def stockStore(self, level):
     itemsList = shopScr.blacksmithShopsByLevel[ level ]
     items = []
     self.prices[level] = {}
     for i in range(4):
         cItem = random.choice( itemsList )
         mods = [random.randrange(level, level+2),
                 random.randrange(level, level+2),
                 random.randrange(level, level+2) ]
         W = weapon.Weapon( cItem, mods )
         W.priceID = i
         items.append( W )
         self.prices[level][i] = prices.priceItem(W)
     return items
Пример #6
0
 def stockStore(self, level):
     itemsList = shopScr.armoriesByLevel[ level ]
     items = []
     self.prices[level] = {}
     for i in range(4):
         cItem = random.choice( itemsList )
         if misc.rollDie(level, level+5):
             resist = random.choice( armorScr.resists )
         else: resist = None
         if cItem == const.RING:
             enh = random.choice( shopScr.enhancementsByLevel[level] )
             A = armor.Ring( cItem, resist, (enh, random.randrange(level, level+2)) )
             A.priceID = i
             items.append( A )
         else:
             #items.append( armor.Armor( cItem, resist ) )
             A = armor.Armor( cItem, resist )
             A.priceID = i
             items.append( A )
         self.prices[level][i] = prices.priceItem(A)
     return items