all this introduces quite a lot of work and a lot of thinking, too
I also thought about it and I can't find a intelligent way to solve that either
Example: Three-Way Challenge (atm it's two way challenge: player a challenges and takes a map, player b accepts or declines and choses a map, done)
three way would mean that player a choses his map he has the challenge-page like that:
[Radio-Box]Ladder maps [Dropdown of all official ladder maps, like it's now]
[Radio-Box]other maps [Dropdown of all other Nexuiz maps that are not in the ladder mappool, that would require to create a new mappool, change database, change backend etc, thing I am not really "keen to do"]
The first radio box is checked by default (when using radio boxes you can only chose one of them anyway).
Player b receives the challenge. If player a chose a custom map he will have a checkbox that says "accept custom map" (or similar). he will then chose his map, he has the same radioboxes and drop-down fields like the challenger (so he can either chose one of the the official maps or a custom map). however, this is depending on whether he clicked the "allow custom map" checkbox. why should player b be allowed to chose a custom map in he didn't allow player a to take one ? you see the argument ?
we got several options now
- if player a selected a custom map and player b didn't select the "allow custom map" checkbox, the script won't allow him to chose a custom map either (but a normal ladder map). the challenge is now in state 2 and the challenger gets notificated. he has to select a official ladder map now
- if player a selected a usual ladder map but player b wants to play a custom map, the player a has to confirm that, too, with a checkbox. if he doesn't, the player b has to take a usual ladder map (four-way-challenge in that case)
- if player a selected a custom map and player b clicked the "allow custom map" checkbox, player b is allowed to chose a ladder or custom map without re-asking the challenger again
This is the only concept I can think of atm, however I'm not going to code that myself
Whoever really wants that system, jsut ask me, you'll get the most current ladder source-code. have fun then
