-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement payload (prototype) #1059
Conversation
e69d3e2
to
2ae7135
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Design looks good, didn't look at the track
code yet.
core/src/main/java/tc/oc/pgm/controlpoint/ControlPointParser.java
Outdated
Show resolved
Hide resolved
core/src/main/java/tc/oc/pgm/controlpoint/RegionPlayerTracker.java
Outdated
Show resolved
Hide resolved
The Want to see how well this works gameplay-wise, map-wise, and what other elements would make sense code-wise (eg: checkpoints are a big requirement). When we have that figured out, the end-game is to split control points into a more generic "ControlableObjective" or similar, and have both control point and payload extend that. The controlable objective will hold most if not all of the logic of a control point, like progression, capture rules, decay, etc, while control point/payload will handle (each in their own way) tracking what players are considered in-the-region, how they display, scoreboard, etc |
7254432
to
7fce626
Compare
Signed-off-by: Pablete1234 <pabloherrerapalacio@gmail.com>
Signed-off-by: Pablete1234 <pabloherrerapalacio@gmail.com>
Signed-off-by: Pablete1234 <pabloherrerapalacio@gmail.com>
7fce626
to
eb25595
Compare
Should be ready to be playtested, even if not final, updated original comment to reflect extra stuff. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To enable this feature, you'll need to put the following in your config.yml
:
experiments:
payload: true
This is an experimental prototype for payload, not a final PR, however, it can be merged for playtesting.
It piggybacks off of ControlPoints entirely, to the point Payloads are "a type of control point" internally, they just use a different region to capture and display some particles on the world. 0% completion is the start of the track (set with location="x,y,z" in xml) and 100% completion is wherever the track ends.
Note: In its current state it only properly supports A/D payload. If both teams can capture it, it works but it will go towards the same destination for both teams (going back when the non-dominating team goes in it), which is likely undesired behavior.
It supports literally everything that control points support (including absurd ones like a progress region, even tho they're unlikely to be of any use with a payload). So things like filtering players, multiple payloads chained (5-cp style), permanent="true", capture-time, decay-rate, contested-rate, recovery-rate, etc, all work.
On top of the control point stuff, it supports
display-filter
which filters if particles are shown. This is useful when combining multiple payloads to signify if they're active or not (this is likely to get removed, changed or reworked in the future when checkpoints are introduced).How the payload currently looks like:
javaw_Rmg3csuZJs.mp4