283 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			283 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | # Small subfile to handle gifting info such as desired traits and giftbox management | ||
|  | import typing | ||
|  | 
 | ||
|  | 
 | ||
|  | async def update_object(ctx, key: str, value: typing.Dict): | ||
|  |     await ctx.send_msgs([ | ||
|  |         { | ||
|  |             "cmd": "Set", | ||
|  |             "key": key, | ||
|  |             "default": {}, | ||
|  |             "want_reply": False, | ||
|  |             "operations": [ | ||
|  |                 {"operation": "update", "value": value} | ||
|  |             ] | ||
|  |         } | ||
|  |     ]) | ||
|  | 
 | ||
|  | 
 | ||
|  | async def pop_object(ctx, key: str, value: str): | ||
|  |     await ctx.send_msgs([ | ||
|  |         { | ||
|  |             "cmd": "Set", | ||
|  |             "key": key, | ||
|  |             "default": {}, | ||
|  |             "want_reply": False, | ||
|  |             "operations": [ | ||
|  |                 {"operation": "pop", "value": value} | ||
|  |             ] | ||
|  |         } | ||
|  |     ]) | ||
|  | 
 | ||
|  | 
 | ||
|  | async def initialize_giftboxes(ctx, giftbox_key: str, motherbox_key: str, is_open: bool): | ||
|  |     ctx.set_notify(motherbox_key, giftbox_key) | ||
|  |     await update_object(ctx, f"Giftboxes;{ctx.team}", {f"{ctx.slot}": | ||
|  |         { | ||
|  |             "IsOpen": is_open, | ||
|  |             **kdl3_gifting_options | ||
|  |         }}) | ||
|  |     ctx.gifting = is_open | ||
|  | 
 | ||
|  | 
 | ||
|  | kdl3_gifting_options = { | ||
|  |     "AcceptsAnyGift": True, | ||
|  |     "DesiredTraits": [ | ||
|  |         "Consumable", "Food", "Drink", "Candy", "Tomato", | ||
|  |         "Invincible", "Life", "Heal", "Health", "Trap", | ||
|  |         "Goo", "Gel", "Slow", "Slowness", "Eject", "Removal" | ||
|  |     ], | ||
|  |     "MinimumGiftVersion": 2, | ||
|  | } | ||
|  | 
 | ||
|  | kdl3_gifts = { | ||
|  |     1: { | ||
|  |         "ItemName": "1-Up", | ||
|  |         "Amount": 1, | ||
|  |         "ItemValue": 400000, | ||
|  |         "Traits": [ | ||
|  |             { | ||
|  |                 "Trait": "Consumable", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Life", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1 | ||
|  |             } | ||
|  |         ] | ||
|  |     }, | ||
|  |     2: { | ||
|  |         "ItemName": "Maxim Tomato", | ||
|  |         "Amount": 1, | ||
|  |         "ItemValue": 500000, | ||
|  |         "Traits": [ | ||
|  |             { | ||
|  |                 "Trait": "Consumable", | ||
|  |                 "Quality": 5, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Heal", | ||
|  |                 "Quality": 5, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Food", | ||
|  |                 "Quality": 5, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Tomato", | ||
|  |                 "Quality": 5, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Vegetable", | ||
|  |                 "Quality": 5, | ||
|  |                 "Duration": 1, | ||
|  |             } | ||
|  |         ] | ||
|  |     }, | ||
|  |     3: { | ||
|  |         "ItemName": "Energy Drink", | ||
|  |         "Amount": 1, | ||
|  |         "ItemValue": 100000, | ||
|  |         "Traits": [ | ||
|  |             { | ||
|  |                 "Trait": "Consumable", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Heal", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Drink", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |         ] | ||
|  |     }, | ||
|  |     5: { | ||
|  |         "ItemName": "Small Star Piece", | ||
|  |         "Amount": 1, | ||
|  |         "ItemValue": 10000, | ||
|  |         "Traits": [ | ||
|  |             { | ||
|  |                 "Trait": "Currency", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Money", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Star", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1 | ||
|  |             } | ||
|  |         ] | ||
|  |     }, | ||
|  |     6: { | ||
|  |         "ItemName": "Medium Star Piece", | ||
|  |         "Amount": 1, | ||
|  |         "ItemValue": 30000, | ||
|  |         "Traits": [ | ||
|  |             { | ||
|  |                 "Trait": "Currency", | ||
|  |                 "Quality": 3, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Money", | ||
|  |                 "Quality": 3, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Star", | ||
|  |                 "Quality": 3, | ||
|  |                 "Duration": 1 | ||
|  |             } | ||
|  |         ] | ||
|  |     }, | ||
|  |     7: { | ||
|  |         "ItemName": "Large Star Piece", | ||
|  |         "Amount": 1, | ||
|  |         "ItemValue": 50000, | ||
|  |         "Traits": [ | ||
|  |             { | ||
|  |                 "Trait": "Currency", | ||
|  |                 "Quality": 5, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Money", | ||
|  |                 "Quality": 5, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Star", | ||
|  |                 "Quality": 5, | ||
|  |                 "Duration": 1 | ||
|  |             } | ||
|  |         ] | ||
|  |     }, | ||
|  | } | ||
|  | 
 | ||
|  | kdl3_trap_gifts = { | ||
|  |     0: { | ||
|  |         "ItemName": "Gooey Bag", | ||
|  |         "Amount": 1, | ||
|  |         "ItemValue": 10000, | ||
|  |         "Traits": [ | ||
|  |             { | ||
|  |                 "Trait": "Trap", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Goo", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Gel", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1 | ||
|  |             } | ||
|  |         ] | ||
|  |     }, | ||
|  |     1: { | ||
|  |         "ItemName": "Slowness", | ||
|  |         "Amount": 1, | ||
|  |         "ItemValue": 10000, | ||
|  |         "Traits": [ | ||
|  |             { | ||
|  |                 "Trait": "Trap", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Slow", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Slowness", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1 | ||
|  |             } | ||
|  |         ] | ||
|  |     }, | ||
|  |     2: { | ||
|  |         "ItemName": "Eject Ability", | ||
|  |         "Amount": 1, | ||
|  |         "ItemValue": 10000, | ||
|  |         "Traits": [ | ||
|  |             { | ||
|  |                 "Trait": "Trap", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Eject", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Removal", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1 | ||
|  |             } | ||
|  |         ] | ||
|  |     }, | ||
|  |     3: { | ||
|  |         "ItemName": "Bad Meal", | ||
|  |         "Amount": 1, | ||
|  |         "ItemValue": 10000, | ||
|  |         "Traits": [ | ||
|  |             { | ||
|  |                 "Trait": "Trap", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Damage", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1, | ||
|  |             }, | ||
|  |             { | ||
|  |                 "Trait": "Food", | ||
|  |                 "Quality": 1, | ||
|  |                 "Duration": 1 | ||
|  |             } | ||
|  |         ] | ||
|  |     }, | ||
|  | } |