Filtering by control point

curtmack

L1: Registered
Dec 17, 2009
4
0
So, I'm still working on my CTF map that has a control-point-controlled security system in the basement (which I've dubbed ctf_simple out of irony), and I've got most of the mechanics working. The problem I've run into is making the security system filter properly.

My current setup is nice and simple: I have the control point (hall_control_point), which works just fine. Then, I have a filter_activator_tfteam (hall_filter) that associates with hall_control_point. Finally, the actual security system is, at this point, just a trigger_hurt that deals instant death (1000 damage), and filters based on hall_filter.

In detail:

hall_filter (filter_activator_tfteam)
Property | Value
Team | Any
Filter Mode | Disallow entities that match criteria
Associated Control Point | hall_control_point

hall_security_trigger (trigger_hurt)
Property | Value
Filter Name | hall_filter
Damage Type | SHOCK
Damage | 1000
Zero Damage Force | Yes

The problem I'm having is, the security trigger always kills everyone, regardless of team or the state of the control point. Am I doing something wrong?
 

A Boojum Snark

Toraipoddodezain Mazahabado
aa
Nov 2, 2007
4,775
7,669
It should be working, offhand I can't think of why it isn't. You could work around the issue though by sending SetTeam inputs to the filter from the CP.

Also, raise the damage, a dead ringer can take up to 1850 if I remember right.
 

Nutomic

L11: Posh Member
Feb 7, 2009
888
177
Dead ringer was 10 times the hp, so it can take 1250 i think, but if you go to 2000, you will be on the save side.
 

curtmack

L1: Registered
Dec 17, 2009
4
0
Dead ringer was 10 times the hp, so it can take 1250 i think, but if you go to 2000, you will be on the save side.

But an overhealed Spy would have (1.5)*125, or 187.5 health. So yeah, 2000 ought to be good.

Anyway, I think I've worked around it. The new setup uses SetTeam inputs through the control point's OnOwnerChangedToTeamX outputs. (Actually it goes through a math_counter and a logic_compare first - that's just so that the first cap of the round, it changes the ownership immediately, but on subsequent caps it gives a grace period (currently 5 seconds) to the team that's been kicked out. So in the end, it's better this way anyway.)