Add support for treasure items

This commit is contained in:
rsakeys
2020-03-02 20:41:43 +00:00
parent 1dc3bf9f34
commit e94993a71f
3 changed files with 8 additions and 2 deletions

View File

@@ -14,6 +14,7 @@ class Item(db.Model):
epf = db.Column(db.Boolean, nullable=False, server_default=db.text("false"))
tour = db.Column(db.Boolean, nullable=False, server_default=db.text("false"))
release_date = db.Column(db.Date, nullable=False, server_default=db.text("now()"))
treasure = db.Column(db.Boolean, nullable=False, server_default=db.text("false"))
def is_color(self):
return self.type == 1

View File

@@ -61,8 +61,11 @@ async def handle_code(p, redemption_code: str):
return await p.send_error(726)
if code.type == 'CATALOG':
owned_ids = ','.join((item.item_id for item in code.items if item.item_id in p.inventory))
return await p.send_xt('rsc', 'treasurebook', 3, owned_ids, 0)
num_redeemed_codes = await PenguinRedemptionCode.join(RedemptionCode).count().where(
(PenguinRedemptionCode.penguin_id == p.id) & (RedemptionCode.type == 'CATALOG')
).gino.scalar()
owned_ids = ','.join((str(item.item_id) for item in code.items if item.item_id in p.inventory and p.server.items[item.item_id].treasure))
return await p.send_xt('rsc', 'treasurebook', 3, owned_ids, num_redeemed_codes)
await p.send_xt('rsc', code.type, '', code.coins)