Ejemplo n.º 1
0
 def pay(self):
     if self.inventory().remove('HerbRoot', 3):
         if self.user['gold'] >= 50:
             it = item.get('HealingPotion')
             self.user.private_message(u'Вы получаете {:i}.', it.js_link())
             self.user['gold'] -= 50
             self.inventory().add(it)
     self.start()
Ejemplo n.º 2
0
 def shop_item_sell(self):
     self._checkloc("itemshop")
     it = item.get(self.q["item_id"], self.q["item_rank"])
     if not self.user['inventory'].has(it.id, 1, it.rank):
         self._error('User doesn\'t have this item')
     sell_price = int(round(it.price * 0.25))
     self.user["inventory"].remove(it.id, 1, it.rank)
     self.user["gold"] += sell_price
     self.user.save()
     return None
Ejemplo n.º 3
0
 def shop_item_buy(self):
     self._checkloc("itemshop");
     it = item.get(self.q["item_id"], self.q["item_rank"])
     if not it.shop:
         self._error("Not for sell")
     if self.user["gold"] < it.price:
         self._reject("Not enough gold")
     self.user["gold"] -= it.price
     self.user["inventory"].add(it.id, 1, it.rank)
     self.user.save()
     return None
Ejemplo n.º 4
0
 def js(self):
     need_item = None if self.need_item == None else item.get(self.need_item).js_link()
     return {"name": self.name, "escape_chance": self.escape_chance, "need_item": need_item}
Ejemplo n.º 5
0
 def itemshop(user):
     res = {"shop": [item.get(it.id, rank).js() for it in item.items() if it.shop for rank in range(0, it.max_rank) if it.get_level_for_rank(rank) <= user["level"]]}
     return res
Ejemplo n.º 6
0
 def open(self):
     ensure_imports()
     return OpenLoot(self._type, _item.get(self.item_id, self.rank))
Ejemplo n.º 7
0
 def get(self):
     return item.get(self.id, self.rank)
Ejemplo n.º 8
0
                        user['trigger'] = json.loads(user['trigger'])
                        user['events'][user['position']].update(user['trigger'])
                        db.update(user['events'], user['id'], 'events')
                    # move user if travel exists and add new position to events
                    if user['travel'] != None:
                        db.update(user['travel'], user['id'], 'position')
                        if user['travel'] not in user['events']:
                            user['events'][user['travel']] = {}
                            db.update(user['events'], user['id'], 'events')
                    # get a response
                    db.log(rec, 'Searching...')
                    if user['response'] != None:
                        if (user['item'] != None) and (user['drop'] != None):
                            message = mbuild(user['screen_name'], item.replace(user['item'], user['drop'], user['inventory'], user['id'], user['response']))
                        elif user['item'] != None:
                            message = mbuild(user['screen_name'], item.get(user['item'], user['inventory'], user['id'], user['response']))
                        elif user['drop'] != None:
                            message = mbuild(user['screen_name'], item.drop(user['drop'], user['inventory'], user['id'], user['response']))
                        else:
                            message = mbuild(user['screen_name'], user['response'])
                    else:
                        db.log(rec, 'I guess that move didn\'t work.')
                        message = mbuild(user['screen_name'], random.choice(error_message))
                        # db.log(rec, db.storeerror(move, user['position']))
                else:
                    db.log(rec, 'Command acquired, printing reply...')
                    message = mbuild(user['screen_name'], cmd)

                db.log(rec, 'reply: ' + message)
                if debug == False:
                    db.log(rec, '#TweetingIt')