Breaches

Locked
User avatar
Pilcrow
Registered user
Posts: 31
Joined: 06 Jan 2016, 07:05
Location: Elemental Plane of Rage

Breaches

Post by Pilcrow » 28 Jan 2016, 09:39

Time to start shitting out some suggestions, since apparently making one big thread with a huge list of changes and suggested ways to go about them is verboten.

Summary: Fix (or at least, automatically report) breaches by either making windows (and potentially spaceship hulls) automatically check for any space tiles in range(src,1) of themselves.
Alternatively, change your fuckin' ZAS settings so that breaches aren't anal devastation central.

Benefits: Salt levels reduced by at least 90%. Processing overhead reduced just as much. Admin overhead reduced vastly (with automatic reporting, anyway).

Details and Implementation: Ideally, you either have the window check for any space tiles around it using if( locate(/turf/space) in range(src,1)) and then either automatically reporting this to the admins and inputting an alert to the logs (preferably with coordinates and a list of fingerprints on the window or last attacker) and/or by returning 0 on del.
It's either a little slowdown generated by a window checking its neighbours, or a lot of slowdown generated by the atmos system doing its magic.

One thing I've done over at d20 is move all window damage and destruction handling to a single proc (which i've aptly named 'handle_damage'), so that the code is cleaner, easier to edit, and i can put checks like this in windows. I'd recommend you do the same.


Also, change ex_act() for floor tiles, plating and potentially walls so that they do not self-delete on devastation level, and instead just leave broken plating behind, or girders in the case of walls.

User avatar
MrJJJ
Registered user
Posts: 1935
Joined: 12 Jan 2015, 10:51
Location: Spider Lab

Re: Breaches

Post by MrJJJ » 28 Jan 2016, 09:47

Pilcrow wrote: Benefits: Salt levels reduced by at least 3%.
Fixed it for you

+1 anyway even if its pointless, breaches are just massive annoying

ErikHanson
Registered user
Posts: 41
Joined: 23 Jan 2016, 16:17

Re: Breaches

Post by ErikHanson » 28 Jan 2016, 09:52

Good suggestion, i dislike the idea of having a ton of locate calls though, just cache those on /New or something.

User avatar
Pilcrow
Registered user
Posts: 31
Joined: 06 Jan 2016, 07:05
Location: Elemental Plane of Rage

Re: Breaches

Post by Pilcrow » 28 Jan 2016, 09:56

ErikHanson wrote:Good suggestion, i dislike the idea of having a ton of locate calls though, just cache those on /New or something.
Ideally it'd only locate on destruction, which is pretty rare - although that said, there are a fair few windows. New() or Del(), doesn't particularly matter as long as the window can recognise it's chilling out next to a space tile.

ErikHanson
Registered user
Posts: 41
Joined: 23 Jan 2016, 16:17

Re: Breaches

Post by ErikHanson » 28 Jan 2016, 10:03

Pilcrow wrote: Ideally it'd only locate on destruction, which is pretty rare - although that said, there are a fair few windows. New() or Del(), doesn't particularly matter as long as the window can recognise it's chilling out next to a space tile.
Or you'd just remove ZAS all together, i fail to see why we need -detailed- atmospherics in the first place, it's not like the planet(s) are simulated and we only had lots of pain and problems with breaches.

User avatar
MadSnailDisease
Registered user
Posts: 267
Joined: 20 Dec 2014, 22:05

Re: Breaches

Post by MadSnailDisease » 28 Jan 2016, 10:04

Pilcrow wrote:
Details and Implementation: Ideally, you either have the window check for any space tiles around it using if( locate(/turf/space) in range(src,1)) and then either automatically reporting this to the admins and inputting an alert to the logs (preferably with coordinates and a list of fingerprints on the window or last attacker) and/or by returning 0 on del.
It's either a little slowdown generated by a window checking its neighbours, or a lot of slowdown generated by the atmos system doing its magic.

One thing I've done over at d20 is move all window damage and destruction handling to a single proc (which i've aptly named 'handle_damage'), so that the code is cleaner, easier to edit, and i can put checks like this in windows. I'd recommend you do the same.


Also, change ex_act() for floor tiles, plating and potentially walls so that they do not self-delete on devastation level, and instead just leave broken plating behind, or girders in the case of walls.
I'm onboard for this but do you have the space check in process()? That seems like it is a huge waste of processing power. Why not just set it to send the fingerprints and last attacker when it is destroyed, and implement the same onto external walls?

User avatar
MadSnailDisease
Registered user
Posts: 267
Joined: 20 Dec 2014, 22:05

Re: Breaches

Post by MadSnailDisease » 28 Jan 2016, 10:05

Pilcrow wrote: Ideally it'd only locate on destruction, which is pretty rare - although that said, there are a fair few windows. New() or Del(), doesn't particularly matter as long as the window can recognise it's chilling out next to a space tile.
And another thing, all external windows are next to space, so it will be constantly sending you logs of unharmed windows

User avatar
Pilcrow
Registered user
Posts: 31
Joined: 06 Jan 2016, 07:05
Location: Elemental Plane of Rage

Re: Breaches

Post by Pilcrow » 28 Jan 2016, 10:11

MadSnailDisease wrote:I'm onboard for this but do you have the space check in process()? That seems like it is a huge waste of processing power. Why not just set it to send the fingerprints and last attacker when it is destroyed, and implement the same onto external walls?
no, that would be retarded
New() and Del() (or Destroy() which is where windows by default seem to get their shatter sound) are only called once - for New() that's when the window is first spawned, for Destroy() that's when the window is broken. These are really the only times you need to locate space tiles around the window because these are the only times it will be relevant.

Come on, man.

User avatar
MadSnailDisease
Registered user
Posts: 267
Joined: 20 Dec 2014, 22:05

Re: Breaches

Post by MadSnailDisease » 28 Jan 2016, 10:14

Ohhhhh that makes so much more sense. I was about to hassle you a ton. This makes sense, but what about external walls? Whenever it reverts to its girder form I guess the same thing would work fine.

User avatar
WyattH
Registered user
Posts: 305
Joined: 10 Sep 2015, 22:36

Re: Breaches

Post by WyattH » 28 Jan 2016, 14:21

-1

Apop has already said before that breaching will be allowed again in the future.

Breaching will affect aliens in certain ways and marines are going to have access to a larger variety and additional spacesuits.

So there's no reason really to bother changing anything right now when breaching is planned to be allowed again soon.

User avatar
Azmodan412
Registered user
Posts: 1318
Joined: 01 Oct 2015, 23:17
Location: The Void

Re: Breaches

Post by Azmodan412 » 28 Jan 2016, 18:12

Breaching is SUPPOSED TO BE anal devastation central.
Image

Tyler 'Thrift' Borealis: Slaughterer of stupid xenos, insane motherfucker, and who played tower defense with Predators with an axe.
Predator Duels Won: 1
Predator Duels Lost: 2

BRING IT ON CASANY! I DO NOT CAST DOWN A CHALLENGE!
43 Xenos and counting.

Hunter Games: I am Moon Moon! Destroyer of worlds! Ahuhuhuhuhuhuhuhu!
Moon Moon Victories: x1

User avatar
Pilcrow
Registered user
Posts: 31
Joined: 06 Jan 2016, 07:05
Location: Elemental Plane of Rage

Re: Breaches

Post by Pilcrow » 28 Jan 2016, 19:43

Azmodan412 wrote:Breaching is SUPPOSED TO BE anal devastation central.
On other servers, yes, but since there's a pretty hefty bandaid sitting over it in the rules I'm inclined to say that it might be worth actually doing something in-code, even if just to track who's breached where.

User avatar
KingKire
Registered user
Posts: 893
Joined: 30 May 2016, 11:53

Re: Breaches

Post by KingKire » 24 Jul 2016, 04:56

status on this thread? If there are going to be more marine/alien friendly breaches in the future, im at a -1. If there is no update planned ahead to fix how breaches are handled, im at a +1 to this idea.
Gaze upon me,
for I have wandered deep into the ancient tombs of knowledge to which lie madness and sorrow, cleansing a path for all those who walk behind me...


...

But seriously, does uh, anyone know the way out?!


~Furthermore, I consider that Floodlights should no longer be destroyed.~

User avatar
forwardslashN
Community Contributor
Community Contributor
Posts: 2495
Joined: 14 Dec 2015, 23:12
Byond: forwardslashN

Re: Breaches

Post by forwardslashN » 25 Jul 2016, 17:27

We've made changes to breaches to make them easier to manage. As for everything else, not going to happen unless we switch the atmos system. Resolved and locked.
Image
The ambivalent giant white baldie in a jungle near you.

Locked