forked from Hay1tsme/artemis
Adding stock_tickets and stock_count chuni mods. Enables specified tickets to be auto-stocked on login
This commit is contained in:
@ -24,20 +24,35 @@ class ChuniBase:
|
||||
|
||||
async def handle_game_login_api_request(self, data: Dict) -> Dict:
|
||||
"""
|
||||
Handles the login bonus logic, required for the game because
|
||||
getUserLoginBonus gets called after getUserItem and therefore the
|
||||
Handles the login bonus and ticket stock logic, required for the game
|
||||
because getUserLoginBonus gets called after getUserItem; therefore the
|
||||
items needs to be inserted in the database before they get requested.
|
||||
|
||||
Adds a bonusCount after a user logged in after 24 hours, makes sure
|
||||
loginBonus 30 gets looped, only show the login banner every 24 hours,
|
||||
adds the bonus to items (itemKind 6)
|
||||
- Adds a stock for each specified ticket (itemKind 5)
|
||||
- Adds a bonusCount after a user logged in after 24 hours, makes sure
|
||||
loginBonus 30 gets looped, only show the login banner every 24 hours,
|
||||
adds the bonus to items (itemKind 6)
|
||||
"""
|
||||
|
||||
user_id = data["userId"]
|
||||
|
||||
# If we want to make certain tickets always available, stock them now
|
||||
if self.game_cfg.mods.stock_tickets:
|
||||
for ticket in self.game_cfg.mods.stock_tickets.split(","):
|
||||
await self.data.item.put_item(
|
||||
user_id,
|
||||
{
|
||||
"itemId": ticket.strip(),
|
||||
"itemKind": 5,
|
||||
"stock": self.game_cfg.mods.stock_count,
|
||||
"isValid": True,
|
||||
},
|
||||
)
|
||||
|
||||
# ignore the login bonus if disabled in config
|
||||
if not self.game_cfg.mods.use_login_bonus:
|
||||
return {"returnCode": 1}
|
||||
|
||||
user_id = data["userId"]
|
||||
login_bonus_presets = await self.data.static.get_login_bonus_presets(self.version)
|
||||
|
||||
for preset in login_bonus_presets:
|
||||
|
Reference in New Issue
Block a user