- Remove the need for an alt title to be declared for the job's main title.
- Don't allocate a list if no alt titles are used, and use the indexes provided instad of looping to search the alt titles list.
Changes the toggle helmet camera verb to a proc
Adds a check in the initialization of spacesuit helmets to see if it has a camera network.
Removes said check from the proc itself.
Basically this means you won't get the toggle-camera verb if you don't have one on your helmet.
Keeps the same "bold if changed" functionality added in recent QoL improvements, but replaces the one-datum-instance per hint per device with a two number vars per device.
- Improvement to web-shuttle: Don't update docking controller until jump() is completed.
- It is now consistent with autodock behavior (for better or worse)
- Add shuttle process_state to enable processing of web shuttle autopilot.
- Convert Arrivals shuttles to be a subtype of /datum/shuttle/autodock/ferry
- Default shuttle landmarks flags to SLANDMARK_FLAG_AUTOSET
- Made this safe and backwards compatible by having SLANDMARK_FLAG_AUTOSET not overwrite already specified base_turf or base_area
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)
All Damage taken on an electrocution from an object is currently taken to the defense zone actively used to trigger the object (commonly hands)
With increasing power values on the station overall and the addition of dismemberment from burn damage, this causes shocks to unprotected hands to effectively always remove the offending hand on the Polaris base map.
Changes
Electrocution on human mobs now deals four instances of damage. One at 25% to the hand, one at 50% to the body, and two more at 25% to random bodyparts.
Current Values
At round-start (so 300kw in system from solars, another 150 from the SMES to power the station) this would result in going from a roughly 40 damage burn to the hand (more for some species. Which, seemingly, is enough to often dismember it) to about 10 to the hand, 20 burn to the body, and two more 10 damage burns.
---
This would impact anything calling the electrocute_act() proc in carbon()
This impacts:
Shocks from Machinery or Cables
SMES deconstruction discharge (This targets the torso. So the target still would take 75% of the damage on the torso, and another
Technomancer Lightning
Technomancer Instability
Tesla Ball Shocks
Energy Siphon
Bioelectric Genesis
Shock crate damage
Defib shock damage
Total damage value remains the same, however the damage would be spread out on the target instead of centralized.