Unsappable buildings

EmNudge

L4: Comfortable Member
Sep 23, 2015
184
60
This has been talked about before, but I haven't found a solution yet.

I want to make an obj_dispenser, not a dynamic prop with a healing trigger_hurt, that is unsappable.
Because of the red-tape recorders de-building ability, it doesn't register as OnDestroy, so I can't respawn it when it's down.

any ideas?
 

Viemärirotta

sniffer
aa
Feb 5, 2016
1,013
590
I think they can still be sapped, and while it won't damage them, it will cease their function.

And that's why some custom maps use unreachable sentries to avoid this. Obviously not in official maps.
 

worMatty

Repacking Evangelist
aa
Jul 22, 2014
1,257
999
Put the dispenser in a solid brush. I used 64x64x64 Block Bullets.
 

EmNudge

L4: Comfortable Member
Sep 23, 2015
184
60
Put the dispenser in a solid brush. I used 64x64x64 Block Bullets.
while it doesn't have the exact same functionality, as players of the same team can't walk through it, it actually works.
I tried surrounding it with invisible brushes which stopped healing as well. as mentioned in a different thread, I made them displacements which just made them a visible solid and made things worse.

thanks!
I think they can still be sapped, and while it won't damage them, it will cease their function.
Do the building entities not have a property/flag to make them invincible?
Sapping stops the dispenser from functioning, but that's not even the problem as an engineer can come on over and hit it off.
The problem is the red-tape recorder which doesn't destroy sentries, it unbuilds them. This doesn't damage them, so invincibility won't help, and because it doesn't destroy them, there is no OnDestroyed event attached. This means I can't respawn them upon breaking.

I know you said you don't want to use a dynamic prop... but how about a dispenser prop with a https://developer.valvesoftware.com/wiki/Mapobj_cart_dispenser inside it? That will pretty much look exactly the same as a "real" dispenser, right?
This doesn't work. Prop_dynamics are for the most part not solid, so bullets and players walk right through them. Placing it inside a obj_dispenser also doesn't guarantee the bullets will hit the prop first.
 

Pocket

Half a Lambert is better than one.
aa
Nov 14, 2009
4,694
2,579
You could just slap down a blockbullets brush the same size and shape as the prop?
 

dryerlint

L5: Dapper Member
Mar 28, 2016
204
190
This is probably stupid... but would a func_nobuild work? Since sappers are considered to be buildings?
 

Frosty Scales

L2: Junior Member
Mar 22, 2015
93
30
Try a func_forcefield over the dispenser. That should block one team the same way as the block bullets brush does, while letting the other team still pass through it.
 

EmNudge

L4: Comfortable Member
Sep 23, 2015
184
60
Try a func_forcefield over the dispenser. That should block one team the same way as the block bullets brush does, while letting the other team still pass through it.
nope. neither worked when turning a blockbullets brush into a func_forcefield.

EDIT: once the dispenser was sapped/destroyed the forcefield would work, only letting one team through that space. Never did it block bullets though
 

Frosty Scales

L2: Junior Member
Mar 22, 2015
93
30
nope. neither worked when turning a blockbullets brush into a func_forcefield.

EDIT: once the dispenser was sapped/destroyed the forcefield would work, only letting one team through that space. Never did it block bullets though
Try it using tools/toolsinvisible rather than blockbullets maybe?

Also you could try making it as a hollow box around the dispenser rather than just a single brush around it.
 

EmNudge

L4: Comfortable Member
Sep 23, 2015
184
60
Try it using tools/toolsinvisible rather than blockbullets maybe?

Also you could try making it as a hollow box around the dispenser rather than just a single brush around it.
It flat out doesn't block bullets. I don't think it was made to. Nothing changed.
 

Frosty Scales

L2: Junior Member
Mar 22, 2015
93
30
It flat out doesn't block bullets. I don't think it was made to. Nothing changed.
I misunderstood you; you're looking for something to block bullets but not block players. IIRC you can do this with func_physbox_multiplayer and some very specific settings. I'll edit this post with them in a few minutes. You'll still probably want to keep the func_forcefield there for the team filtering, and just have the func_physbox_multiplayer block bullets.

Edit:
ac92a8fe44.png

You don't need to set any keyvalues, just these flags. Have it as a single brush convering the dispenser. The only issue I could potentially see with this is that the dispenser may not work inside of it, in which case you could just hollow it out and it should work fine.
 

EmNudge

L4: Comfortable Member
Sep 23, 2015
184
60
I misunderstood you; you're looking for something to block bullets but not block players. IIRC you can do this with func_physbox_multiplayer and some very specific settings. I'll edit this post with them in a few minutes. You'll still probably want to keep the func_forcefield there for the team filtering, and just have the func_physbox_multiplayer block bullets.

Edit:
ac92a8fe44.png

You don't need to set any keyvalues, just these flags. Have it as a single brush convering the dispenser. The only issue I could potentially see with this is that the dispenser may not work inside of it, in which case you could just hollow it out and it should work fine.
works great, but can I make it block projectiles as well, just as blockbullets does?
 

Frosty Scales

L2: Junior Member
Mar 22, 2015
93
30
works great, but can I make it block projectiles as well, just as blockbullets does?
Yep! Just add a func_clip_vphysics covering the dispenser.
 

Frosty Scales

L2: Junior Member
Mar 22, 2015
93
30
didn't seem to work. Also there is no "invulnerable" checkbox on it as there is for obj_sentrygun for some odd reason.
func_clip_vphysics should be blocking projectiles like the sandman baseball etc. if that's what you mean.
You could also set up a trigger_multiple to kill the projectile as it comes near the dispenser.