I will toss my coin to the choice-affects-algorithm size, mainly because from a programming view, if cards were pre-calculated (and not impacted by choice) it would be easier for the server to send all the result data when the chance event triggers, and just emulate the whole choice process locally.
Instead, the server is contacted after the choice has been made, and returns all the data to show the result and apply the integration.

My guess is that if goes something like this:
  1. Player triggers a chance time event
  2. Player is shown the choice panel
  3. Player chooses a card position, triggering a chance time card choose event
  4. App sends request for processing a chance time with a chosen card position
  5. Server runs an algorithm that creates 6 cards in an ordered fashion, based on all the chance time event's parameters (What stage is this? Is it a Gacha Ticket? 4th Event Ticket without an SR appearing? There were 4 stand up spins? etc)
  6. Server checks the card corresponding to the selected position
  7. Server processes the integration of checked card
  8. Server returns the result JSON packet with current player data, answer data, integration data, and header
  9. App recieves results and triggers the chance time choice reveal event
  10. Player and App interact for the set of chance time card integration events and panel
  11. Player is show whatever panel they came from before chance time event was triggered (with updated player data from response)


- - - Updated - - -

Quote Originally Posted by Kotono View Post
Wait, does that mean you can see what the cards are beforehand, or did it not tell you the card data until you selected one?
All the data from all 6 cards is returned as part of the answer to your choice. So no, you have no data before you choose your card.

- - - Updated - - -

The interesting part is that you could alter incoming and outgoing packages to force the game into giving you chance times (or whatever you want to get); but it would probably raise a hacking flag in the server at worst, or leave traces that can be found by admins at best (depending on the level of validation strictness the server does on each player's state).

I'm actually glad with that, as I despise people laming a game with hacks, even as a COD minmaxer with the skills to build hacking apps (specially so)