Moves all ferry shuttle processing into one place: the new shuttle
controller.
Also cleans up the emergency shuttle controller a bit more and fixes
multi-shuttle cooldown.
Squashes 3 commits:
Shuttles now dock on arrival and departure
Adds docking controller to outpost, tweaks
Finishes off shuttle_console
Could use some cleanup, though.
Commented out the debug stuff.
Added sprites for stationary drilling gear.
Added skeleton ores for coal, adamantine, mythril. Updated some icons. Expanded mining rig functionality.
Changed adamantine and mythril to osmium and metallic hydrogen.
Added ore distribution map generation to master controller.
Added upgrading to stationary drills, tweaked other stuff.
Rewriting the ore processor and how ores handle information. Also rewrote the ore stacker.
Splits process_machines() into 3 procs for its actions, trying to
figure out which is causing the lagspikes.
Signed-off-by: Mloc-Hibernia <colmohici@gmail.com>
This was probably bound to happen either way the previous version was based upon a faulty understanding of how the areas worked this is much more robust and only messes with the master areas
and master areas needing power updates call power updates for the each of it's child areas. Also added where messing with SMESes called for an update on all areas power consumption, probably
not required but doing so either way.
We also rebuild the active_areas list every 5 minutes, if you get a engineer that wants to build a new area off of the station with APC's set rebuild_all_areas in the master controller and it will
update instantly, otherwise wait 5 minutes. The only downside to this 5 minutes is you might get free energy until that area becomes active.
We no longer run auto_use_power() on every machine every tick.
We now have a global list of areas, and areas that have an APC in them (all_areas and active_areas) no more looping through world bullshit.
A bunch of snowflakey as fuck machines won't use_power() in their process, you get two options, active and idle, use them!
This means a lot of machines won't double dip on power as well so power usage for the station has dropped about 20%
Because everything is snowflakey as fuck we're going to have some machines that don't force an update on their power usage. Fuck them.
We should catch them with the root obj/machine/proc's forcing updates.
Adds an "Expensive Mobs" list that shows what mobs took more then 1 decisecond to process.
This way if mob controller is going nuts we can debug master controller and see why, or atleast see which mob it is.
as you don't need to provide the full data structure up-front, part of an effort to make NanoUI more accessible.
I have removed the carets (^) from all templates as they are not used any more.
For safety I moved the src_object and user checks from the master controller to the nanoui process proc.
------------------------------------------------------------
nanoui - For creating and updating browser UIs
manomanager - For managing nanouis
Includes the "D:\Development\SS13-TG\code\game\machinery\cryo.dm" rebuilt using Nano.
Templates are stored in /nano/templates
This code is in development, it's also not commented yet.
Adds insulation to doors, modifiable by admins from the ZAS setting panel.
Fixes a logic error with connections. (I am dumb some days)
Improves the runtime detection and reporting.
Improves "zone info" debug verb.
Delayed Jungle setup until after air master initializes
Master controller now properly ceases atmos simulation if runtimes occur (and are detected).
Cleanup more ZAS stuff. FEA_system.dm, ZAS/ZAS_Turfs.dm, ZAS_Zones.dm.
Canisters now autoconnect to portables connectors on creation. (Fixes airlocks not having attached canisters)
Doors can now be made which respect directional door types (e.g. windoors and directional firelocks) and is handled better.
Added in code to debug ZAS tile interactions, currently in the unchecked "Debug" file.
The blasted FloodFill proc now works properly, and zones are connecting right (Should finally fix that damn part of medbay not connecting to the hallway)
Plasma can contaminate again.
The master controller and world startup code has been reworked for faster server boots.
Fixed a runtime originating from a Away Mission map trying to create objects of type "null"
- Added a verb that breaks all airgroups into individually processing tiles and a verb that forces a group-rejoin attempt on all airgroups. Once the verb to break all air groups is used, they will not attempt to recreate until the recreate verb is used. In other words, this is for debugging, not goofing around. Verbs available in debug verbs.
- Some atmos code standardization
- Decreased the pressure resistance of most items by a factor of 10, meaning pressure will finally actually move items around!
I also attempted to speed up air movement, but it caused runtimes and everything moved in checkered patterns and I got scared so I didn't include it in this commit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5554 316c924e-a436-60f5-8080-3fe189b3f50e
The old one still exists, mainly so the associated admin buttons still work.
At some point I'll add a nice little panel for event stuff and remove the old procs.
event.dm is pretty well commented, and it should be pretty easy to figure it out.
Casualties of the change are space dust (which should probably be implemented separately if we want it back), the black hole event (which was awful), space ninjas (which didn't turn up), ionstorms (the non-admin ones sucked anyway) and CLANG, which I will probably add at some point, if no one else does first.
Also, I removed pierott's throat from the disease outbreak list. f that s.
Thanks to Sukasa and BS12, as my system is loosely based off of theirs.
Thanks Giacom for help with structuring and especially commenting this.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5511 316c924e-a436-60f5-8080-3fe189b3f50e
The next type of mimic is for the staff of animation! They will copy the icon of the object they're copying and will set themselves stats based on the object too. They will not attack the bearer of the staff which made them animated.
Added the option to get the staff on the wizard's spell book.
Added a "friends" var to hostile mobs. It will make the simple animal ignore friends when choosing targets.
Changed the statues from /obj/effect/showcase to /obj/structure/showcase.
Added a new variable to projectiles, "shot_from" is the gun that shot the projectile. It's used to determine what staff animated the mob and it will then add that staff, so it can ignore it when choosing targets.
Added a wander var for simple animals, turning it to 0 will stop the simple animal from moving when idle.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5246 316c924e-a436-60f5-8080-3fe189b3f50e
I did find that your be special preferences, i.e: be alien, be traitor, be changeling and etc, are shared between preferences. I'll ask if this is intentional or not.
-Some minor stuff.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5175 316c924e-a436-60f5-8080-3fe189b3f50e