Fixes the tools/indentation.awk script to not demand a comma at the end of perfectly valid comments.
Makes it report unnecessary commas in lists.
Readds it to the Travis build list.
Somewhat rewrote the cyborg jetpack to be an internal component instead of a software upgrade. this allows it to be removed or destroyed, and to work without putting something in the borg's inventory. Also fixed it, it was broken. Cyborg jetpack can now be installed on a wider array of borgs that have reason to go EVA: Crisis, security, engineering, construction (also the unused combat borg, incase that gets re-enabled)
Ensures TTV icon update occurs properly and removes the need for sleep() by
updating tank Destroy() to account for TTVs. Collects duplicated code into
a transfer_valve/remove_tank() proc.
Remains of player blob axed.
blob_act() axed. Blob now has an arbitary set of things it can attack.
It will flow over everything else. Blob has an awful tendency to destroy
non-craftables.
Will test more tomorrow.
Blob will now attack mechs.
Fixes#8106.
Fixes#10705.
Jetpacks now GC; CO2 jetpacks no longer pointlessly create a datum that
is already created in the parent; CO2 jetpacks can be properly examined;
removes text() and adds spans and \the.
Surivival gear is now assigned based on species. Most
species get standard gear, but Vox receive a nitrogen
tank instead, and Diona obtain an emergency flare
instead of a survival box.
As a side effect, engineers no longer spawn with larger
emergency tanks.
Fixes#9237
Implements liquid fuel fires using the liquid fuel cleanable decal objects.
Rewrites zburn to be more sane, replaces convoluted calculations with straightforward reaction limit.
Fixes issue with liquid fuel spreading caused by thee object being deleted.
Prevents zones from being repeatedly added to the active fire zones list, and processed repeatedly.
- Allows tanks to be toggled on and off as internals from their UI.
- If internals are off, all tanks capable of being used for internals
will display "tank is connected to a mask".
- If internals are on, only the tank that is actively supplying air is
listed as "connected" and "open". All others will display as "not
connected".
- Tanks inside rigs will correctly display their status in their UI (if
you open it before putting it in the rig, but cannot be toggled on
through the interface. Toggling them on with the internals button works.
Generalized all ninja power and gear code to work with new rig system.
Added shurikens, weapon mount, more work on deployable items.
Readded energy nets and energy blades.
Grenade launcher/charge stuff, interface stuff.
Renamed previously existing rigs to voidsuits, restructured rig and voidsuit files.
Refactored the energy net and teleportation proc.
Totally rewrote AI core/intellicard transfer procs.
Added rig sprites by Mordeth221, added step by steap suit sealing/inability to interfere with suit sealing process.
Updated map paths to use voidsuits.
Added chemical dispenser functionality, added power sink, added atom/drain_power() proc for later use.
Added rigsuit verbs, added voice changer.
Renamed MASKINTERNALS to AIRTIGHT, added internals checks for airtight helmets.
Added drain_power() procs to vulnerable machinery.
Reimplemented data theft.
Added suit maluses for losing your cell while wearing one.
Transitioned the rig suits to a back-mounted item that also controls a chestpiece.
Converted rig module to a storage item, convert ERT voidsuits to hardsuits.
New turf proc: assume_gas(). Maps to air.adjust_gas_temp().
Lots of optimizations to processing, fire, lighting, HasEntered() and
more.
Zones now process all fire data and existance in one go, fire objects
only handle spreading.
Most code has been ported straight so some of it mightn't be ideally
structured for the new gas_mixtures.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Also:
Breathing in hot/cold air will affect your body temperature.
Fixes old body temperature stabilization code not working.
Thermometer icon now adjusts based on species.
Reduced BODYTEMP_AUTORECOVERY_MINIMUM to a less ridiculous value.
Tanks placed in canisters, scanned with PDA or other analysis tool will set the manipulated_by variable to whoever did so.
The idea is that this person is aware what's in the tank and will act accordingly when you press the internals HUD icon.
If the user was the last person to manipulate the tank (or it's not been manipulated) then the user is smart about selecting the proper tank.
If the user was not the last person to manipulate the tank then he is only checking the pressure gauge to see what tank is fullest that matches his species breath_type
If that tank has nasties in it, welp he is going to get a breathful of nasties.