Breaches
- Pilcrow
- Registered user
- Posts: 31
- Joined: 06 Jan 2016, 07:05
- Location: Elemental Plane of Rage
Breaches
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.
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.
- MrJJJ
- Registered user
- Posts: 1935
- Joined: 12 Jan 2015, 10:51
- Location: Spider Lab
Re: Breaches
Fixed it for youPilcrow wrote: Benefits: Salt levels reduced by at least 3%.
+1 anyway even if its pointless, breaches are just massive annoying
-
- Registered user
- Posts: 41
- Joined: 23 Jan 2016, 16:17
Re: Breaches
Good suggestion, i dislike the idea of having a ton of locate calls though, just cache those on /New or something.
- Pilcrow
- Registered user
- Posts: 31
- Joined: 06 Jan 2016, 07:05
- Location: Elemental Plane of Rage
Re: Breaches
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 wrote:Good suggestion, i dislike the idea of having a ton of locate calls though, just cache those on /New or something.
-
- Registered user
- Posts: 41
- Joined: 23 Jan 2016, 16:17
Re: Breaches
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.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.
- MadSnailDisease
- Registered user
- Posts: 267
- Joined: 20 Dec 2014, 22:05
Re: Breaches
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?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.
- MadSnailDisease
- Registered user
- Posts: 267
- Joined: 20 Dec 2014, 22:05
Re: Breaches
And another thing, all external windows are next to space, so it will be constantly sending you logs of unharmed windowsPilcrow 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.
- Pilcrow
- Registered user
- Posts: 31
- Joined: 06 Jan 2016, 07:05
- Location: Elemental Plane of Rage
Re: Breaches
no, that would be retardedMadSnailDisease 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?
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.
- MadSnailDisease
- Registered user
- Posts: 267
- Joined: 20 Dec 2014, 22:05
Re: Breaches
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.
- WyattH
- Registered user
- Posts: 305
- Joined: 10 Sep 2015, 22:36
Re: Breaches
-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.
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.
- Azmodan412
- Registered user
- Posts: 1318
- Joined: 01 Oct 2015, 23:17
- Location: The Void
Re: Breaches
Breaching is SUPPOSED TO BE anal devastation central.
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
- Pilcrow
- Registered user
- Posts: 31
- Joined: 06 Jan 2016, 07:05
- Location: Elemental Plane of Rage
Re: Breaches
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.Azmodan412 wrote:Breaching is SUPPOSED TO BE anal devastation central.
- KingKire
- Registered user
- Posts: 893
- Joined: 30 May 2016, 11:53
Re: Breaches
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.~
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.~
- forwardslashN
- Community Contributor
- Posts: 2495
- Joined: 14 Dec 2015, 23:12
- Byond: forwardslashN
Re: Breaches
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.
The ambivalent giant white baldie in a jungle near you.