mirror of
				https://github.com/solero/houdini.git
				synced 2025-10-31 12:41:56 +00:00 
			
		
		
		
	Allow cost to be overridden in inventory helper functions
This commit is contained in:
		| @@ -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) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Ben
					Ben