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()
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
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
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}
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
def open(self): ensure_imports() return OpenLoot(self._type, _item.get(self.item_id, self.rank))
def get(self): return item.get(self.id, self.rank)
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')