yagamiapp / api

The REST Api and Websocket doorway to the Yagami database
0 stars 0 forks source link

Decide how to do double pick/double ban #12

Open clxxiii opened 3 months ago

clxxiii commented 3 months ago

Previously, the were stored in the tournament settings, but ideally with the new block system, it would be a property applied to the block. The issue, is that many tournament apply the "no double picking except NM" rule, which allows players to double pick NM, but not anything else. If the double pick property is simply stored in block section, this is impossible

Possibilities:

  1. Split Mappool into MappoolSections, that each have some common mod, and then allow that mappool section to either be double picked or not.
  2. Use some "DoublePickRestrictions" model, (similar to the current ModMultipliers model) that is applied to a Settings object, and dictates whether a team should be allowed to double pick or not.
JPW03 commented 3 months ago

I think if you are not going to allow for mappools to be reused between tournaments, then go for the MappoolSection solution, else adding a ModMultiplier-like model which links to the settings would allow for the double pick/ban restrictions to change on a per map basis (assuming per map Setting objects are the reason why a MapInPool can be linked to a Settings). This is not a problem you wouldn't be able to work around but it is unnecessary.

But if you are going to allow for mappools to be reused between tournaments, MappoolSection shouldn't be used as the exemption from the double pick rule would be baked into the mappool's definition, even if the settings of the tournament change in between. That being said, I think a DoublePickExemption as opposed to a DoublePickRestriction model would be more useful as you would need to write less data to set up double picking/banning.