Removing Player/Robot Destruction Points

TyeZenneth

L6: Sharp Member
May 31, 2014
340
294
Is this even possible to do on a map-level basis? I know it's possible within the engine, since RD (at least Asteroid) has the intel remove points as it is capped, but is it possible to remove points manually using specific inputs/outputs?
 

Egan

aa
Feb 14, 2010
1,378
1,724
So, apparently not smoothly, but possible. Been testing some things over the last couple hours..

Apparently you can use RD vault triggers in a PD map, but they act the same way as regular RD vault triggers do but with quirks because different flag settings:
- If you enter an enemy vault trigger and have less than 25 pd flags by the time you leave the trigger, then the trigger will strip those <25 flags from you including any you had previously (and delete them).
- If you enter an enemy vault trigger while the enemy has any flags captured, and you leave the trigger with >=25 flags then you can effectively steal from the enemy points.
- Stealing from the enemy score is the same speed as RD (non configurable) at 5 points every ~0.5 seconds (rd being played at 300 max score).


For the 2nd bullet point, I tried adding a catch where every 'steal pulse' (that's a vault trigger output) it would start counting to 5 (5*5=25), and if the player left the trigger earlier than 5 it would 'replace' the enemy team score with however many pulses the player got to (and then reset the counter). And this works, but only for one player, not however many other players there could be stealing points from the enemy score at that time.

Also you can spawn in an RD core flag, and merge the two gamemodes but it becomes incredibly awkward. If you drop the RD core while carrying PD flags then the RD core will instantly 'respawn' back at the enemy base, but will also be dropped on the ground allowing you to duplicate '0 point' PD flags. Also if you score PD points using the RD flag then it will not respawn automatically back at the enemy base. You can then respawn it manually using a template but it just gets really messy...


I think the only way this could work without a ton of mess is to set the default PD Points on Death input to 25 or more, so that players will always have 25 flags, and never less than that, and then just allow the max score to go up to ~1500 for a full game. Players probably wouldn't really notice since everything is going up in 25 increments, but it might be weird lol.
SetPointsOnPlayerDeath <integer> Set number of points per flag dropped upon player death.
At least until valve adds a 'subtract pd points' input to the pd logic.

Edit: Ok actually so you can have less than 25 after just scoring some amount. It looks like PD capturezones run on a global timer - you can't simply place 25 capturezones on top of one another, and there's no 'score amount per capture' keyvalue. Can at least just make the capture rate really quick like '0.001' delay.
 
Last edited:

TyeZenneth

L6: Sharp Member
May 31, 2014
340
294
Thanks for poking around and taking a look at all this, but uh, that's not really what I was going for.
The reason I wanted to remove destruction points manually was because I want to have a constant decay of points that teams have to keep bumping up, and if they hit a flat zero, they lose. So far, I've had some success with just using KotH timers for this, but having pickups in the map requires destruction logic anyways, and I would also like to add the ability to steal points a la Robot Destruction. Basically, any way you look at it, it's a mess, and the whole thing would be a lot simpler if I could just tell a timer to constantly tick down Destruction points and be done with it.
That's still good to know though, and sorry that I wasn't more clear.
 
Last edited: