* Adds tool_behaviour support to construction datums (mech construction)
* Adds tool_behaviour support to wire datums
* Adds tool_behavior support to surgeries
* Adds tool_behavior support to crafting
* New proc, to be used for checking tool qualities in hands
* Improves tool quality support on wires
* wip
* wip2
* makes code actually compile on 511 + fixes
* versioning
* s
* adds python conversion script, schema change and removes 'force ' from item_used_for_combat
* fix to compile
* forgot to actually commit this
* spawn_mecha_result() code
Function that places the cell from construction from the holder into the new mech, and check and applies scanning module/capacitor upgrades for combat mechs
* New holder icons
No change made to the new sprites as of current.
* New ripley construction code
* New gygax construction code
* New fireripley construction code
* New honker construction code
* New durand construction code
* New phazon construction code
* New odysseus construction code
* Cyberboss Requested Fixes#1
* Cyberboss Requested Fixes#2
Turns result in mecha_construction_paths to types, also removes result in phazon_chassis as it has no purpose.
changes qdel to QDEL_NULL
* Removes old cell from add_cell() in the Initialize()
* Move CheckParts to obj/mecha and move cell check to CheckParts
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.
New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.
ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
- 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