* Fixes filters and mixers switching off on icon update
* Fixes the RPD not properly setting the flipped variable for flipped mixers/filters
* Fixes using the atmos analyzer on a pipe making you attack it
Changes RPD colors to be consistent with pipe painter & default pipes.
Makes the RPD properly update its neighbors on painting.
Offloads the neighbor updating logic from pipe_painter to a pipe proc.
Fixes#6783
These are pocket devices that dispense unwrenched atmos/disposal pipes.
Despite the admittedly misleading name, these have infinite ammo.
There is no need to reload with matter cartridges or anything like that.
Currently, they spawn in atmos tech lockers, and as an engiborg module.
More can be obtained with the autolathe.
They are also a traitor "steal item" objective.
-Removed the pipenet network datum, now it will all be done with the pipeline datum
-All atmos pipes and machines will always have a pipeline datum
-Moved the valves to the binary subtype and the portable connectors to the unary subtype
-The pipe vents (who were barely used in three spots of the map) are removed, the map slots will replaced with outlets
-Fixes some bugs of pipenet disconnection, mostly on explosions
-Cleaned a bit the copypaste of construction.dm of pipes
-Removed the ID restrictions of digital valves and the frequency (both unused)
Removes the unused pipenet datum proc removeLastMember() and replaced it with a pipe machinery proc, releaseAirToTurf(). This will release some gas contents to the turf properly when the pipe is removed.
Fixes the qdel() of pipes, scrubbers, vents and others atmos related machines.
Adds an error message when a pipe is in at least two pipenets.
Adds a new proc to add pipes to a pipenet datum, addMember().
Stops the mass creation of pipenet datums that would not be used.
Makes pipenet datums more stable, a pipe will be a member of only one pipenet datum.
Removes a lot of initialization() and build_network() calls around pipe code.
Pipes can now be wrenched without the need of a connector next to them.
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.
Var changes:
* /obj/item/var/color is now item_color
* /obj/machinery/portable_atmospherics/canister/var/color is now canister_color
* /obj/machinery/atmospherics/var/color is now pipe_color
* /mob/living/simple_animal/mouse/var/color is now body_color
* /mob/living/simple_animal/chicken/var/color is now body_color
Proc changes:
* /obj/machinery/door/proc/animate() is now do_animate()
* /obj/machinery/transformer/proc/transform() is now do_transform()
Map changes are due to pipe instances being changed from color to pipe_color
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Checking a collector's last power output via analyzers has been moved to multitools, because that actually made sense (betcha didn't know this existed, I know I didn't)
Analyzers can now be used to check the gas level of the tank in a loaded radiation collector (yay no more crowbars)
You can also use them on pipes to check gas levels (yay no more pipe meters)
Codewise, the several inconsistant instances of the analyzer code have been moved to a single proc. The following have been converted to use this:
-Pipes (they didn't have this before. Also changed the attackby code to be less dumb...)
-Pipe tanks (you know those big ones in maint everyone forgets about)
-Portable Atmospherics (canisters, air pumps, scrubbers)
-Flamethrower
-Tanks
-And now collectors
Runtime fix for being hit by something without there being a usr. This was most likely due to explosions or possibly mass drivers.
Runtime fix for simple animals using department channels. Only parrots can use them now as they are the only simple animal with the 'ears' variable.
Runtime fix for the mech's energy relay process() when there is no battery in the mech.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5405 316c924e-a436-60f5-8080-3fe189b3f50e
(Damn it, it took a million hours to do that, and the entire commit log is going to be two words long?!)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4804 316c924e-a436-60f5-8080-3fe189b3f50e
- Readded Volume Pumps - now they work as intended and are constructable
- Readded Passive Gates - now they work as intended and are constructable
- Readded Heat Exchangers - now they work as intended and are constructable
- Added Heater - to warm up gasses to 300C
- Adjusted volumes on big tanks and portable pumps to 2000 and 1200 respectably
- Pipe dispensers can produce the readded pieces.
- Pipe construction code updated to compesate for the new items
- New graphics for all of the above - courtesy by Ausops.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4785 316c924e-a436-60f5-8080-3fe189b3f50e
machine.process() now uses a return value to remove itself from the processing machines list. This is more efficient and will help reduce costs especially at round start where some 5000+ machines were removed from the list using first-find. Now there is no searching involved. Instead of machines.Remove(src) just do .=PROCESS_KILL that will return the flag to the proc which called it (the MC) and trigger its removal from the list. If you're deleting something don't even bother removing it from the machines list, there is no need to.
Simplified the last_processed stuff for the MC. It's now a single variable rather than 3. It is simply a typepath rather than a reference to an object (this is so it works even if said object is deleted)
MC stats in admin status_panels now show the length of the processing lists (indicated by #). I've just realised I forgot to mention what the abbreviations are:
The less obvious ones are: Dis=diseases; Net=pipes; Pnet=powernets; Mch=Machines; Tick=the game-mode ticker.
Beach-water now uses an overlay image rather than a separate object.
Fixed a typo in the shuttle console.
Hydroponics trays no longer use first-find within their process() for checking the plant is in the tray (why is that even there anyway? talk about lazy)
Removed some junk/placeholder procs like organ/proc/process() return
Removed newscasters from the processing machines lists.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4603 316c924e-a436-60f5-8080-3fe189b3f50e
All credits to the author for this handy little script.
I Committed the modified python script to tool directory. Although it needs to be in the root folder of your repo to work.
To notice the improved compile times, in dreammaker go to Build > Preferences > and untick "automatically set file_dir for subfolders"
If this commit inteferes with any large projects just revert it, do your thing, then rerun the script. Easy-peasy.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4488 316c924e-a436-60f5-8080-3fe189b3f50e
-Redid icons to be more optimized at compile by setting icon = 'icons/folder/icon.dmi' instead of just icon = 'icon.dmi', meaning that Dream Maker doesn't have to search through every single file for every single .dmi. This shouldn't lead to any errors because of how I went about it, plus the fact that Dream Maker would have freaked out if I screwed something up. Also moved around 2 icons that weren't sorted well.
r4146 compile time: 1 minute, 40 seconds
r4147 compile time: 45 seconds
[VGTG]
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4147 316c924e-a436-60f5-8080-3fe189b3f50e
- Disposal pipes are on layer 2.3
- Pipes and manifolds are on layer 2.4
- Cables are on layer 2.44
- Unary atmospherics stuff (vent pumps, scrubbers) are on layer 2.45
- Nav beacons, bluespace beacons and such things are on layer 2.5
It means that pipes appear below cables and
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3097 316c924e-a436-60f5-8080-3fe189b3f50e
Rewrote the job selection system to use bitflags and the jobs are now objects.
Fixed a path conflict with effect which caused a few things to be unable to be clicked on.
Commented out the job.txt, Urist if you still want it to load from the .txt give me a yell and I can update it to work with the job objects.
Fixed up the bits that were missing the slightly updated mob organ attack code.
Moved the traps file into unused.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2340 316c924e-a436-60f5-8080-3fe189b3f50e
/obj/effects is now /obj/effect.
/obj/station_objects is now /obj/structure.
Did a bit of minor blob work.
The Bay 12 body bags were replaced with closets because having two sets of code that do almost the same thing is silly.
Changed back a few of the last jobproc edits as the remove from list before assign was a check to see if the mob was fucked up and if it was remove it so we did not check it again as it would still be fucked up.
The medbay/tox monkeys names are random once more. More random name monkeys will help with changeling and clean up the observe/mob menus.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2324 316c924e-a436-60f5-8080-3fe189b3f50e
- Extended maintenance south of research to reach the escape arm:
Screenshot: http://www.kamletos.si/toxins%20shooty%20thing.png
- Connected atmos to the 7 atmos pipes via a new purple main air supply pipe. No vents should be directly connected to this pipe!
- As mentioned, added a purple pipe color.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2193 316c924e-a436-60f5-8080-3fe189b3f50e
Missed a line on the flashes, they will once again stun cyborgs
Few adminverbs changed by request of the heads
Roburgers will only provide 2 nanites down from 10
The random round spawn code now checks jobbans
Players with a Cyborg jobban cannot become a cyborg normally
Re added the old power armor typepaths as there seem to be a few of them in the .dmm and the thing's autocorrect/remove items seems to just fuck up the rest of the map when used. I have no idea where they are located and don't like leaving errors in the code, so if someone could remove them and the old typepaths it would be great.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2024 316c924e-a436-60f5-8080-3fe189b3f50e
The item strip window will no longer steal focus and refresh every second.
PDA:
Security/Medical records now show rank
Detective gets his own cart that has sec/med/manifest
Pipes:
They will no longer radiate heat and have more or less been removed from the process list.
This should reduce lag from the atmos system quite a bit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1965 316c924e-a436-60f5-8080-3fe189b3f50e
The game will not load the empty goon and beta tester files on startup.
Moved modes that are broken/unfinished into the unused section.
Powersinks will eat more power
Firedoors should be fixed now.
Engineering solars moved away from engineering.(there is currently an empty room where one was. I dont have any good ideas for things to put in there atm so if you want to add something go ahead)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1017 316c924e-a436-60f5-8080-3fe189b3f50e
Singularity Engine
-Recoded some parts, still works mostly the same
Welders
-Recoded, it works mostly the same but is easier to use in code
-Cyborgs have a larger fuel tank
-Brought most if not all of the areas that use welders upto spec
Moved the changeling chem recharge code into the human life proc
New players who log out before spawning in are now deleted
New minor Common event
Machines around the station use more power, system might need some changes later
Likely few other minor changes that I just cant think of atm
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@945 316c924e-a436-60f5-8080-3fe189b3f50e
- trowing pipes correctly rotates them;
- meters unwrenching;
- pipe dispenser can be unwrenched and pulled, wrench back to use;
- unused pipes can be returned to dispenser;
- Probably fixed bug with non-working connectors;
Windows now are always shown above grilles.
Pipes now are always shown above lattice.
Some other things.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@830 316c924e-a436-60f5-8080-3fe189b3f50e
Cryo wont spit out beaker.
Fixed message "You don't have the dexterity to do this" for machinery.
PIPES:
- Heat exchange pipes are constructable now.
- Insulated pipes also were added to pipe dispenser;
- And meters too;
- Easy pipe rotating in hands;
- bent pipes actually looks bent under construction (may be glitches, please report);
- pipes now wont cover wires;
- pipes unwrenching now possible;
- large vent pumps now uses power as equipment, not environment
- pumps now uses power;
Air alarm improvements:
- all alarms in area controls all environment machines in area;
- machines initializes itself automatically and without interloping with existing ones;
- air alarms wont duplicates it air monitoring and can clear itself;
Some other typos and small issues were fixed.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@816 316c924e-a436-60f5-8080-3fe189b3f50e
Fixed corner pipe noneuclidianness
Fixed an issue with straight pipes not actually facing in the direction they appear to be
General fixedness all around, hopefully
As before, this shit isn't robustly tested
Still not pipe dispenser on the map, just in case something is royally fucked up
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@398 316c924e-a436-60f5-8080-3fe189b3f50e
Manifolds, unary vents, scrubbers, manual valves, connectors, and pumps are now also makable
testing has not been overly robust thus far
Known issues:
scrubbers don't seem to be able to grab nodes properly when constructed
runtime errors if you try making a pipe/manifold that doesn't connect to an already-constructed atmos object
corner pipe sections have a tendency to defy euclidian logic (most notable example has been a section of pipe that somehow had both ends tied to the same end of a different pipe section)
Added a disposal pipe dispenser that had been sitting unused in the code to Atmos. No clue if it actually works, I know the regular pipe dispenser worked fine
Did NOT add a pipe dispenser to the map, but it is there if admins want to spawn one
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@396 316c924e-a436-60f5-8080-3fe189b3f50e