* Sideports a couple of init unit tests from Neb.
* Trying to unfuck initialize logic.
* Removing del()s.
* Adjusting return values to Initialize().
* Moving some dangerous object logic from obj onto the two types that use it.
* Rolling back some init changes and commenting out initialized atom unit test.
* this comment formatting is a minor war crime
* Removed sleep() from signaler circuit Initialize().
* Additional Init fixes post-rebase.
* Uncomments subsystem test since that's passing.
Self-explanatory.
Adds toggle to go back to the old-school SS13 legacy airlock sounds, including the glass windoor airlock sounds, and a toggle to disable the per-department door sounds, which some found jarring/unrealistic.
If Per-Department sounds are disabled, the department doors will use the default sounds except for open/close except for glass airlocks, which use cmd3o/c, and maintenance, which uses hall1o/c, following maintainer-requested behavior for these doors.
PR with changes from staff: https://github.com/PolarisSS13/Polaris/pull/7595
This also relocates the following sounds to be inside machines/door for more consistency:
- airlock.ogg
- airlockclose.ogg
- airlockforced.ogg
- airlock_creaking.ogg
- boltsup.ogg
- boltsdown.ogg
- blastdoorclose.ogg
- blastdooropen.ogg
- windowdoor.ogg
Demonstration Here (recorded before the change to make department doors use maintainer-chosen audio if department was disabled): https://giant.gfycat.com/WhichUniformBrahmancow.webm
Adds Door Channel Volume preference for doors, that applies to open/close/bolts sounds.
This should prevent complaints of "Doors are too loud" - adjust the volume channel to your personal preference.
All living mobs will now have a check run every 30 seconds or so to replay the current ambience of the area they're in, if they've not had it played in the last minute. Said check is a 35% chance of playing the ambience. Good for if you're standing around in one area.
Computers + turrets got new sounds, turrets have a deploy, retract, and rotate sound. Arcade machines now play sound effects depending on what step you're on and what you're doing.
Replaced maintenance ambience with different ambience from Paradise/Aurora, and moved our maintenance to foreboding, and moved old foreboding to it's own folder.
- Add additional can_atmos_pass value ATMOS_PASS_PROC which indicates custom behavior requiring calling the CanZASPass proc.
- The benefit being for the other three values we DON'T need to call CanZASPass at all! We already know the behavior without the overhead of a proc call.
- Obviously any atom with can_atmos_pass = ATMOS_PASS_PROC cannot now call ..() in CanZASPass() since the default behavior would be to (recursively) call CanZASPass()
- This required re-numbering the constants, so I also fixed all code that assumed particular values for the constants.
- Switched all types which overrode CanZASPass with custom logic to be can_atmos_pass = ATMOS_PASS_PROC
- Changed /turf/c_airblock() to skip calling /atom/movable/c_airblock() for the three can_atmos_pass values that don't require calling the proc.
- CanZASPass is supposed to return boolean. Nobody noticed this bug because ATMOS_PASS_YES and ATMOS_PASS_NO happen to be defined as 1 and 0. But thats not a good assumption to make, so lets fix it!
Largely ported from the work done at Baystation in Baystation12#17460 and later commits.
- Shuttles no longer require a separate area for each location they jump to.
Instead destinations are indicated by landmark objects, which are not necessarily exclusive to that shuttle.
This means that more than one shuttle could use the same docking port (not at the same time of course).
- Enhanced shuttle control computers to use nanoui if they didn't.
- Organizes shuttle datum code a bit better so there is less re-inventing the wheel in subtypes.
- Allows the possibility of shuttles (or destinations) that start on late-loaded maps.
- Deprecate the "extra" shuttle areas that are no longer needed and update shuttle areas in unit tests
This all required a bit of infrastructure improvements.
- ChangeArea proc, for changing the area of a turf.
- Fixed lighting overlays actually being able to be destroyed.
- Added a few utility macros and procs.
- Added "turf translation" procs which are like move_contents_to but more flexible.
(cherry picked from commit c837078105)
* Combat Mechs Can Punch More Things
Removes the var to check for the 5 things it can attack, instead it can punch anything (but not everything will take damage).
Gives punching objects a check so you don't accidently smash something without meaning to.
Gives closets and canisters a proc to take_damage so they'll actually get smashed by the mechs.
* Take_Damage Boogaloo
* More take_damage Stuff
Adds click delay on attacking barriers.
Proper noises when attacking material doors and barricades.
More stuff can be broken by mech punch and simple mobs.
* Adds changelong
* usr to user