UnvanquishedAssets / UnvanquishedAssets

The parent asset repository for the Unvanquished game project
https://unvanquished.net
10 stars 1 forks source link

doors does not prevent building #10

Open ghost opened 3 years ago

ghost commented 3 years ago

Doors should prevent placing a building, so that building is not damaged by doors every few seconds, and so that it's easier to place barricades as alien. The damaging mechanism is good enough for contrib maps, but official maps could be fixed:

illwieckz commented 2 years ago

The way to implement it is to actually have someone put a nobuild brush there.

ghost commented 2 years ago

There is another possible way, actually. The C++ side might just consider that where doors are, buildings can't be done. I do not know if that's how it works for elevators, as it is never possible to put a building there (but it is possible to put a buildable on some of those's path, notably in last parpax to block the big elevator: that's a trick alien do)

illwieckz commented 2 years ago

If I'm right, doors are just movers, things that can have multiple places, I'm not sure it's easy to know all the possible places a door can be in.

ghost commented 2 years ago

You are wrong, actually.

Yes, they are movers, but I have seen places in code in which movers are treated differently depending on their attached data (I have commits adding comments on that, the PR was months old, merged in a more recent one with more stuff)

ghost commented 1 year ago

I'm thinking, it might be possible to add a server-side option to automatically generate NOBUILD areas on doors, the same way bots can be prevented to move through them. This way, all maps would be fixed, including the non-official ones. I think this should be opt-out though, as it's possible that some non-official maps require one to build something on a mover. Usually I would go for opt-in, but I guess it's safe to use opt-out in this case as no official map needs something like that. The only map I have in mind in which placing a building to prevent a mover to do some action is a mission map, and it's not even mandatory. I still consider this should be optional.