PGMDev / PGM

The original PvP Game Manager for Minecraft
https://pgm.dev
GNU Affero General Public License v3.0
185 stars 89 forks source link

Allow more objectives to be ownerless #436

Open Electroid opened 4 years ago

Electroid commented 4 years ago

Destroyable, Core, and MonumentWool require an objective to be owned by an explicit team. We should remove this requirement so FFA maps can use those objectives (basically any player would be allowed to complete/break the objective).

qlados commented 4 years ago

This would also resolve #362

Pugzy commented 4 years ago

How do you see this working in an FFA scenario?

If an FFA player were to complete any of the above objectives, it would award the win instantly? Would this set a hard limit of only one single objective per map?

RuedigerLP commented 4 years ago

Maybe Objectives could award points and after all objectives are completed the winner is the player with the most points. Points could also be useful in non ffa games just to connect all objectives into one scoring category. And maybe if there are no points nor a team defined the objective could just exist and its only purpose would be to trigger filters.

Pablete1234 commented 4 years ago

I think match end and "who wins" are kinda different sides of the same coin. On ffa, if scoring exists, when anyone reaches the limit or time ends, the match ends. if scoring doesn't exist, when all objectives have been completed the match ends.

Who wins, is determined by highest score on scoring maps (where ties are allowed on FFA, and multiple winners can be selected), and most objectives wins for objective-based maps.

"Most objectives" should be calculated with the same formula than on team vs team, it should just be generic for competitors, order is as follows:

  1. Most completed objectives (woold = places, cores/monuments would if you contributed to a fully broken one)
  2. Most touches on objectives (wool/core touches are 50%, monuments are based on % of completion)
  3. Proximity, each competitor will have it's own proximity to this objective, lowest proximity wins.