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
Added a cooldown to the containment field shocking players
- If a containment field was set up in a small room, it was possible to crash the server by jumping into the field with no way to escape it. This was likely due to the hundreds of spark effects being generated every second, on top of all the other calls it had to make.
Used the existing parent proc to check for proximity, canmove and death on:
- Atmos pumps
- Atmos mixers
- Canisters. (This should finish off issue 397.)
- Crew monitering computer (This one probably didn't need it but it shouldn't change the way it works.)
Added admin checks to:
- datum/mind
- tensioner
If either of these fail an admin check an admin log will be entered into the server logs and a message will be displayed to admins.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3818 316c924e-a436-60f5-8080-3fe189b3f50e
- Welding tool code how has proper comments! Maybe not "proper" but at least I
don't lie and say a proc is/does something that it doesn't actually do.
- Welders now start full of fuel instead of some random amount between 10-20
- Someone decided it would be a good idea to set the welding tool's 'on/off' var
in a ton of attackby() procs. These objects and turfs shouldnt even touch this
variable. This is why people have been noticing their welding being on without
the sprite or damagetype and amount reflecting that.
- - I've removed a bunch of these instances but there are so many objects and
turfs spread out through the code, there's no way to know if I've got them all
(This is the majority of the files)
- - I've created a new proc in welding tools that checks to see if they are
turned on or not. "isOn()"
- - Since I'm not sure if I've gotten every instance of this force-var-on, I've
set the welding tool to update it's icon every process(). I hate adding checks
like this to processes but it's necessary for now.
- Added a setWelding() proc. If you HAVE to turn the welding tool on or off, use
this, don't just change the var. In fact, dont even touch the 'welding' var
anymore
- Fixes issue 435
While changing the hundreds(literally) of cases of welding tool uses I've
- Changed some :'s (object:varorproc) I've come across into .'s
(object.varorproc)
- Added checks to make sure the welding tool is actually on before using it
(some attackby()'s didnt have this. Heck, some checked how much fuel you had,
but didn't actually USE the fuel)
- Added sanity checks after some do_after()s that were missing them
Added traitor uplink items back to erro's stat tracker
- Added 'random' with the tag "RN"
- Added thermal meson glasses with the tag "TM"
- Reorganized uplinks.dm a little by moving the 'random' item generation to its
own proc
- NOTE: I have absolutely no way to test this on my own, but it should work!
I've tested a bunch of construction/deconstructions with the welding tool, but
again I've probably missed a few things. If there are any problems, please let
me know and I'll fix them asap.
Revision: r3741
Author: johnsonmt88
- Welding tool code how has proper comments! Maybe not "proper" but at least I don't lie and say a proc is/does something that it doesn't actually do.
- Welders now start full of fuel instead of some random amount between 10-20
- Someone decided it would be a good idea to set the welding tool's 'on/off' var in a ton of attackby() procs. These objects and turfs shouldnt even touch this variable. This is why people have been noticing their welding being on without the sprite or damagetype and amount reflecting that.
- - I've removed a bunch of these instances but there are so many objects and turfs spread out through the code, there's no way to know if I've got them all (This is the majority of the files)
- - I've created a new proc in welding tools that checks to see if they are turned on or not. "isOn()"
- - Since I'm not sure if I've gotten every instance of this force-var-on, I've set the welding tool to update it's icon every process(). I hate adding checks like this to processes but it's necessary for now.
- Added a setWelding() proc. If you HAVE to turn the welding tool on or off, use this, don't just change the var. In fact, dont even touch the 'welding' var anymore
- Fixes issue 435
While changing the hundreds(literally) of cases of welding tool uses I've
- Changed some :'s (object:varorproc) I've come across into .'s (object.varorproc)
- Added checks to make sure the welding tool is actually on before using it (some attackby()'s didnt have this. Heck, some checked how much fuel you had, but didn't actually USE the fuel)
- Added sanity checks after some do_after()s that were missing them
Added traitor uplink items back to erro's stat tracker
- Added 'random' with the tag "RN"
- Added thermal meson glasses with the tag "TM"
- Reorganized uplinks.dm a little by moving the 'random' item generation to its own proc
- NOTE: I have absolutely no way to test this on my own, but it should work!
I've tested a bunch of construction/deconstructions with the welding tool, but again I've probably missed a few things. If there are any problems, please let me know and I'll fix them asap.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3741 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
Disposal piping > Pipes > Cables > Vents/scrubbers > Beacons & stuff
Revision: r3097
Author: baloh.matevz
rust integrated into antiqua, no breakroom.
lots of fusion bugs, missing features and imbas but it works.
Signed-off-by: CaelAislinn <cael_aislinn@yahoo.com.au>
- Explosive (de)compression, breaches are much more fun!
- Improved fire
- Faster system, with less splitting
Signed-off-by: unknown <Colm@Blue.(none)>
mixing and filtration room, along with a bigger observatory and an
'office' for plasma researchers, i.e. a table layout similar to the one
in chemistry. Instead of a chemical vendor, plasma researchers now got
their own custom vendor with assembly parts for bombastic bombs. The
maintenance tunnel's still kept between a double set of airlocks.
There is a problem with the vents and scrubbers of the office and burn
chamber room not being detected, though. (Miniature, Hawk, take a look
at it.)
- 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
Added a sprite for welded vents. (Original courtesy of Cheridan)
Added an overlay for connected canisters. (Thanks to ruarai)
Updated one of the AI statuses to be animated.
Fixed the original style hotkeys.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2409 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
- after losing and restoring power air alarms had wrong icon.
- same for air vents.
- Latejoiners now get filled DNA entry in medical computer.
- Fixed rare bug with APC.
- Electrocuting while laying wires was made more consistent. Do not forget your gloves.
Borgs now can restock wires, glass and metal in recharging station.
Added logging of bagbombing.
Internal buffer in ChemMaster have volume 100 units.
Metalcrafting window improved.
Added Soviet soda vending machine to the derelict.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1705 316c924e-a436-60f5-8080-3fe189b3f50e
Fixed several runtime errors.
Monkeys and aliens won't stack dozens of blood stains.
Fixed crash in FEA code related to melting floors.
When screwdrived destructive analyzer unlink from RD console protolate instead of itself.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1443 316c924e-a436-60f5-8080-3fe189b3f50e
A new powerful microwave code allows completely new recipes.
All cooked food all have transferred in all the reagents which ingredients had (except of nutriments).
A new neat food sprites from Farart.
New/changed recipes for cooking with microwave:
- Berry Pie was replaced with Berry Clafoutis with new sprite. Recipe: 2 flour, 1 egg, 2 berries (not berryjuice);
- Fortune cookies: 1 flour, 1 egg, piece of paper with prophecy;
- Meat stake: 1 unit of salt, 1 unit of black pepper, 1 slab of meat;
- Pizza "Margherita": 2 flour, 4 wedges of cheese, 1 tomato;
- Meat Pizza: 2 flour, 2 slabs of meat, 1 wedge of cheese, 1 tomato;
- Mushroom Pizza: 2 flour, 5 any mushrooms;
- Vegetable Pizza: 2 flour, 1 eggplant, 1 carrot, 1 corn, 1 tomato;
- Spacy Liberty Duff: 10 units of water, 5 units of vodka, 3 Liberty Caps;
- Amanita Jelly: 5 units of water, 10 units of vodka, 3 Amanitas;
- Meatball Soup: 20 units of water, 1 meatball (aka faggot), 1 carrot, 1 potato;
- Vegetable Soup: 20 units of water, 1 carrot, 1 corn, 1 eggplant, 1 potato;
- Meatball Soup: 20 units of water, 1 meatball (aka faggot), 1 carrot, 1 potato;
- Nettle Soup: 20 units of water, 1 nettle, 1 egg, 1 potato;
- Hot Chili stew: 1 slab of meat, 1 chili pepper, 1 tomato;
- Cold Chili stew: 1 slab of meat, 1 ice pepper, 1 tomato;
Other bugfixes:
Fixed items showing under vendomats/microwaves.
Activated item_state for anesthetic tank.
Runes are under tables and doors now.
Fixed runtime errors caused by some reagents.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1440 316c924e-a436-60f5-8080-3fe189b3f50e
Welders that are on but not in use use fuel more slowly than before, when actively welding, fuel use rate increases to roughly 4 times what the previous rate was. This allows for an average of 4 regular walls to be cut through before refueling is needed, based on my testing. Shorter-length welding tasks will allow for more uses between refuels.
Also cleaned up a few things that still used the "click welder at thing, lose x units of fuel" code.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1403 316c924e-a436-60f5-8080-3fe189b3f50e
- Welders no longer double charge for time AND work.
If anyone wants to fight about it I'll take you all on and beat you up with a tool box.
- Large Tank Industrial Welders now spawn in the weld closet, and can be hacked out of autolathes, they hold 40 units of fuel.
- Two new welders, the HUGE one that'll be in the prolathe construction later, and the experimental one that'll have regenerating fuel.
MONKEY BUG FIX:
- Monkey modules code changed so monkeys's back packs appear properly. Like people do, without me committing a billion duplicate back sprites.
- Monkeys have more masks to wear.
- Monkey gas masks have a north facing sprite now.
- Monkey Module code changed so MASKS will always work proper.
Mining Update:
- Plasma Cutter and sprites. It cuts at a delay of 0. meaning it is the best of the best of the best in the mining of ores. SIR! Thanks to VtecJumper, who happened to have it on his signature! It is robust as fuck looking.
- Belt sprites for all pickaxes and the jack hammer.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1309 316c924e-a436-60f5-8080-3fe189b3f50e