def _get_merchantship_msg_from_data_as_text(raw_data: dict, item_designs_data: dict) -> list: result = [f'{emojis.pss_merchantship} **Merchant ship**'] if raw_data: cargo_items = raw_data['CargoItems'].split('|') cargo_prices = raw_data['CargoPrices'].split('|') for i, cargo_info in enumerate(cargo_items): if 'x' in cargo_info: item_id, amount = cargo_info.split('x') else: item_id = cargo_info amount = '1' if ':' in item_id: _, item_id = item_id.split(':') if item_id: item_details = ''.join( item.get_item_details_short_from_id_as_text( item_id, item_designs_data)) currency_type, price = cargo_prices[i].split(':') currency_emoji = lookups.CURRENCY_EMOJI_LOOKUP[ currency_type.lower()] result.append( f'{amount} x {item_details}: {price} {currency_emoji}') else: result.append('-') return result
def _get_shop_msg_from_data_as_text(raw_data: dict, char_designs_data: dict, collection_designs_data: dict, item_designs_data: dict, room_designs_data: dict) -> list: result = [f'{emojis.pss_shop} **Shop**'] shop_type = raw_data['LimitedCatalogType'] currency_type = raw_data['LimitedCatalogCurrencyType'] currency_emoji = lookups.CURRENCY_EMOJI_LOOKUP[currency_type.lower()] price = raw_data['LimitedCatalogCurrencyAmount'] can_own_max = raw_data['LimitedCatalogMaxTotal'] entity_id = raw_data['LimitedCatalogArgument'] entity_details = [] if shop_type == 'Character': entity_details = crew.get_char_info_short_from_id_as_text( entity_id, char_designs_data, collection_designs_data) elif shop_type == 'Item': entity_details = item.get_item_details_short_from_id_as_text( entity_id, item_designs_data) elif shop_type == 'Room': entity_details = room.get_room_details_short_from_id_as_text( entity_id, room_designs_data) else: result.append('-') return result if entity_details: result.extend(entity_details) result.append(f'Cost: {price} {currency_emoji}') result.append(f'Can own (max): {can_own_max}') return result
def _get_sale_msg_from_data_as_text(raw_data: dict, chars_designs_data: dict, collections_designs_data: dict, items_designs_data: dict, rooms_designs_data: dict) -> list: # 'SaleItemMask': use lookups.SALE_ITEM_MASK_LOOKUP to print which item to buy result = [f'{emojis.pss_sale} **Sale**'] sale_item_mask = raw_data['SaleItemMask'] sale_items = _convert_sale_item_mask(int(sale_item_mask)) sale_quantity = raw_data['SaleQuantity'] result.append(f'Buy a {sale_items} _of Starbux_ and get:') sale_type = raw_data['SaleType'] sale_argument = raw_data['SaleArgument'] if sale_type == 'Character': char_design_details = crew.get_char_design_details_by_id( sale_argument, 40, chars_designs_data=chars_designs_data, collections_designs_data=collections_designs_data) entity_details = ''.join( char_design_details.get_details_as_text_short()) elif sale_type == 'Item': entity_details = ''.join( item.get_item_details_short_from_id_as_text( sale_argument, items_designs_data)) elif sale_type == 'Room': entity_details = ''.join( room.get_room_details_short_from_id_as_text( sale_argument, rooms_designs_data)) elif sale_type == 'Bonus': entity_details = f'{sale_argument} % bonus starbux' else: # Print debugging info sale_title = raw_data['SaleTitle'] debug_details = [] debug_details.append(f'Sale Type: {sale_type}') debug_details.append(f'Sale Argument: {sale_argument}') debug_details.append(f'Sale Title: {sale_title}') entity_details = '\n'.join(debug_details) result.append(f'{sale_quantity} x {entity_details}') return result
def _get_daily_reward_from_data_as_text(raw_data: dict, item_designs_data: dict) -> list: result = ['**Daily rewards**'] reward_currency = raw_data['DailyRewardType'].lower() reward_currency_emoji = lookups.CURRENCY_EMOJI_LOOKUP[reward_currency] reward_amount = int(raw_data['DailyRewardArgument']) reward_amount, reward_multiplier = util.get_reduced_number(reward_amount) result.append( f'{reward_amount:.0f}{reward_multiplier} {reward_currency_emoji}') item_rewards = raw_data['DailyItemRewards'].split('|') for item_reward in item_rewards: item_id, amount = item_reward.split('x') item_details = ''.join( item.get_item_details_short_from_id_as_text( item_id, item_designs_data)) result.append(f'{amount} x {item_details}') return result