mirror of
https://github.com/solero/houdini.git
synced 2024-11-22 05:27:23 +00:00
Allow cost to be overridden in inventory helper functions
This commit is contained in:
parent
a9836f5f2b
commit
f912ef7e83
@ -68,12 +68,14 @@ class Penguin(Spheniscidae, penguin.Penguin):
|
|||||||
|
|
||||||
self.logger.info(f'{self.username} joined room \'{room.name}\'')
|
self.logger.info(f'{self.username} joined room \'{room.name}\'')
|
||||||
|
|
||||||
async def add_inventory(self, item, notify=True):
|
async def add_inventory(self, item, notify=True, cost=None):
|
||||||
if item.id in self.inventory:
|
if item.id in self.inventory:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
cost = cost if cost is not None else item.cost
|
||||||
|
|
||||||
await self.inventory.insert(item_id=item.id)
|
await self.inventory.insert(item_id=item.id)
|
||||||
await self.update(coins=self.coins - item.cost).apply()
|
await self.update(coins=self.coins - cost).apply()
|
||||||
|
|
||||||
if notify:
|
if notify:
|
||||||
await self.send_xt('ai', item.id, self.coins)
|
await self.send_xt('ai', item.id, self.coins)
|
||||||
@ -85,27 +87,31 @@ class Penguin(Spheniscidae, penguin.Penguin):
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
async def add_epf_inventory(self, item, notify=True):
|
async def add_epf_inventory(self, item, notify=True, cost=None):
|
||||||
if not item.epf:
|
if not item.epf:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if item.id in self.inventory:
|
if item.id in self.inventory:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
cost = cost if cost is not None else item.cost
|
||||||
|
|
||||||
await self.inventory.insert(item_id=item.id)
|
await self.inventory.insert(item_id=item.id)
|
||||||
await self.update(agent_medals=self.agent_medals - item.cost).apply()
|
await self.update(agent_medals=self.agent_medals - cost).apply()
|
||||||
|
|
||||||
if notify:
|
if notify:
|
||||||
await self.send_xt('epfai', self.agent_medals)
|
await self.send_xt('epfai', self.agent_medals)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
async def add_igloo(self, igloo, notify=True):
|
async def add_igloo(self, igloo, notify=True, cost=None):
|
||||||
if igloo.id in self.igloos:
|
if igloo.id in self.igloos:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
cost = cost if cost is not None else igloo.cost
|
||||||
|
|
||||||
await self.igloos.insert(igloo_id=igloo.id)
|
await self.igloos.insert(igloo_id=igloo.id)
|
||||||
await self.update(coins=self.coins - igloo.cost).apply()
|
await self.update(coins=self.coins - cost).apply()
|
||||||
|
|
||||||
if notify:
|
if notify:
|
||||||
await self.send_xt('au', igloo.id, self.coins)
|
await self.send_xt('au', igloo.id, self.coins)
|
||||||
@ -134,7 +140,7 @@ class Penguin(Spheniscidae, penguin.Penguin):
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
async def add_furniture(self, furniture, quantity=1, notify=True):
|
async def add_furniture(self, furniture, quantity=1, notify=True, cost=None):
|
||||||
if furniture.id in self.furniture:
|
if furniture.id in self.furniture:
|
||||||
penguin_furniture = self.furniture[furniture.id]
|
penguin_furniture = self.furniture[furniture.id]
|
||||||
if penguin_furniture.quantity >= furniture.max_quantity:
|
if penguin_furniture.quantity >= furniture.max_quantity:
|
||||||
@ -145,7 +151,8 @@ class Penguin(Spheniscidae, penguin.Penguin):
|
|||||||
else:
|
else:
|
||||||
await self.furniture.insert(furniture_id=furniture.id)
|
await self.furniture.insert(furniture_id=furniture.id)
|
||||||
|
|
||||||
await self.update(coins=self.coins - furniture.cost).apply()
|
cost = cost if cost is not None else furniture.cost
|
||||||
|
await self.update(coins=self.coins - cost).apply()
|
||||||
|
|
||||||
if notify:
|
if notify:
|
||||||
await self.send_xt('af', furniture.id, self.coins)
|
await self.send_xt('af', furniture.id, self.coins)
|
||||||
@ -167,12 +174,14 @@ class Penguin(Spheniscidae, penguin.Penguin):
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
async def add_flooring(self, flooring, notify=True):
|
async def add_flooring(self, flooring, notify=True, cost=None):
|
||||||
if flooring.id in self.flooring:
|
if flooring.id in self.flooring:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
cost = cost if cost is not None else flooring.cost
|
||||||
|
|
||||||
await self.flooring.insert(flooring_id=flooring.id)
|
await self.flooring.insert(flooring_id=flooring.id)
|
||||||
await self.update(coins=self.coins - flooring.cost).apply()
|
await self.update(coins=self.coins - cost).apply()
|
||||||
|
|
||||||
if notify:
|
if notify:
|
||||||
await self.send_xt('ag', flooring.id, self.coins)
|
await self.send_xt('ag', flooring.id, self.coins)
|
||||||
@ -181,12 +190,14 @@ class Penguin(Spheniscidae, penguin.Penguin):
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
async def add_location(self, location, notify=True):
|
async def add_location(self, location, notify=True, cost=None):
|
||||||
if location.id in self.locations:
|
if location.id in self.locations:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
cost = cost if cost is not None else location.cost
|
||||||
|
|
||||||
await self.locations.insert(location_id=location.id)
|
await self.locations.insert(location_id=location.id)
|
||||||
await self.update(coins=self.coins - location.cost).apply()
|
await self.update(coins=self.coins - cost).apply()
|
||||||
|
|
||||||
if notify:
|
if notify:
|
||||||
await self.send_xt('aloc', location.id, self.coins)
|
await self.send_xt('aloc', location.id, self.coins)
|
||||||
|
Loading…
Reference in New Issue
Block a user