* Do_welp proc
Adds the do_weld proc, bringing the action of welding onto the welder itself.
This means less checks thrown around in the code of differring quality, and now the alternate welding sound is being used.
Also adds a weld_speed variable to welders. Higher weld_speed factor, quicker welding.
* More istype removal
* !src now equals gcDestroyed
Flatpacks now use more of the regular construction code, so this won't happen again.
This revealed a few bugs in construction to do with passing steps around, so that should work fine.
Added a couple of sanity checks here and there.
Changed terms into defines.
Added a general busy check, for future use.
Added a system for object permanence.
Added posibility for multiple-choice build stages.
Ported amount system and message system from reversible2.
Removed lots of redundant code in mech construction, more is done by procs now.
Separated a file out because it was getting too hard to read.
TODO
- [ ] Change spacepod construction to be under construction/reversible
- [ ] Add system for custom do_after delays
- [ ] Test all mech construction - it basically works, but I want to be sure.
- Added teleporter datum. do_teleport proc is now just a wrapper for it.
- Added damage absorption to mechs.
- Added mecha step and turn sounds.
- Cleaned effects code a bit.
- Metal foam should now block air movement.
- Since sd_ lightning library chops areas into pieces, turrets now work with master area.
- Tried to optimize DesignHasReqs proc.
- Added plasma converter and laser cannon mecha equipment.
- Other cosmetic changes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2463 316c924e-a436-60f5-8080-3fe189b3f50e
Currently there are three - PASSTABLE, PASSGLASS and PASSGRILLE. PASSTABLE - same as TABLEPASS, PASSGRILLE - can this atom pass through grilles and PASSGLASS - can this atom pass through windows, glass doors, etc. Most can_pass() procs were updated.
Added checkpass atom proc to check if this atom has certain pass_flag set.
- Added proc/sanitize_simple() and proc/strip_html_simple(). sanitize_simple does not html_encode the string and strip_html_simple does not sanitize it. Additionally, sanitize_simple and sanitize can take associative list of key-val chars as second argument, where key is char to searh for and val is replacement.
- Added datum/gas_mixture/proc/return_volume() and datum/gas_mixture/proc/return_temperature().
- Added proc/tg_text2list() and proc/tg_list2text(). tg_list2text is slower then dd_list2text, but processes associative lists differently (it adds not the keys, but associated values). tg_text2list is somewhat faster then dd_text2list.
- Added proc/listclearnulls(), proc/difflist(), proc/intersectlist() and proc/uniquemergelist(). Check the code comments for more info.
- Mechs can hold 3 equipment pieces. Gygax can hold 4.
- Tweaked global_iterator CRASH report.
- Fixed mech pilot ejection if mecha was destroyed.
- Fixed mech fabricator process() waiting for sync() to finish.
- Fixed mech fabricator Topic() waiting for process_queue() to finish.
- Some bugixes related to global map and random sectors.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1722 316c924e-a436-60f5-8080-3fe189b3f50e
- Added design for mech fabricator circuitboard.
- Added origin_tech for some mech equipment.
- Examining mecha chassis will show what construction step you're currently on.
- Made Gygax construction reversible.
- Moved global_iterator.dm and construction_datum.dm to code/datums/helper_datums
- Split mecha_construction.dm into mecha_parts.dm and mecha_construction_paths.dm
- Fixed wrong logic for mecha dna-checks.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1402 316c924e-a436-60f5-8080-3fe189b3f50e