Commit Graph

49 Commits

Author SHA1 Message Date
Remie Richards 5fc7af7fbf attackby() now has an argument containing the parameters of the click that called it. Items placed on tables now center their icon where the user clicked. this is NOT true for racks, since racks look organised in their sprite.
Items reset their pixel_x and pixel_y values on pickup.
2015-02-19 13:02:43 +00:00
Menshin a1a8555a45 * Fixes the air stored inside atmos machinery not updating on construction
* 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
2015-02-04 21:56:07 +01:00
Remie Richards 17654037db Ports Mloc's Refactor of buckling, All /obj can now buckle things. HE Pipes now change colour based on heat. 2015-01-14 19:07:18 +00:00
tkdrg 2eb366de89 Fixes a few RPD painting bugs
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
2015-01-04 04:35:36 -03:00
tkdrg a94012b98a Ports the rapid pipe dispenser (RPD) from /vg/
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.
2014-12-25 22:06:39 -03:00
Menshin 5b50e34e95 * Made manifolds instancing compatible with maploader
* Fixed the runtime which happenend when a pipe was destroyed but not the meter connected to it
2014-12-22 22:11:55 +01:00
Hornygranny 967689e6dc fixes #5667 remove atmos pipe fix 2014-11-17 14:00:58 -08:00
Hornygranny 2374eb9720 fixes disposals flushing their stored construct
fixes an atmos runtime
fixes a disposal pipe runtime
2014-11-17 11:30:33 -08:00
Cheridan 24456bcc22 Merge branch 'PipenetRevamp' of https://github.com/Aranclanos/-tg-station into Aranclanos-PipenetRevamp
Conflicts:
	_maps/map_files/tgstation.2.1.3.dmm
	code/ATMOSPHERICS/atmospherics.dm
	code/ATMOSPHERICS/components/portables_connector.dm
2014-11-13 18:55:53 -06:00
Aranclanos 8aa5a137c5 Pipenet revamp
-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)
2014-11-03 08:21:31 -03:00
tkdrg a97c4de972 Moves m_amt, g_amt, reliability and origin_tech to /obj/item (previously in /obj)
Removes force from pipes
Removes unused turf var icon_old
Moves pass_flags to /atom/movable
2014-11-02 14:10:03 -03:00
Daniel 3ea3462e6e Squashed up 2014-09-30 23:50:51 +02:00
Aranclanos f1661b8ebf Fixes the multiplication of air contents inside of the pipes when disconnecting and reconnecting sections.
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.
2014-09-16 09:32:37 -03:00
Aranclanos 8cb30cf950 Adds back the span class tags that I removed on previous commits while updating the branch. 2014-09-02 20:26:33 -03:00
Aranclanos 2514c2a63d Fixes manifold pipe initialization, they would place the same connection on several nodes.
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.
2014-08-31 20:22:59 -03:00
Firecage 6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
Firecage b74fc08283 Absolute paths for the files in the ATMOSPHERICS folder 2014-08-16 12:33:16 +02:00
MrPerson 9eee3e5067 First pass at a qdel() garbage collection system for tgstation
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.
2014-02-23 14:55:12 -08:00
Kyrah Abattoir 301c5be5f5 /code/ATMOSPHERICS/* lowercasing pass. 2013-11-18 01:36:36 +01:00
Miauw 9d34cc3ce6 Immobile air tanks have more volume. Fixed #101 2013-11-09 14:12:05 +01:00
Mloc-Argent a3867b46a6 Cleanup of pipe unwrenching code.
Fixes #1509

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-10-12 17:24:54 +01:00
Mloc-Argent 79495f710a Refactors the code to work with BYOND 500. Big commit.
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>
2013-10-06 19:47:30 +01:00
Malkevin ce0828c600 Radiation Collector analyzing
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
2013-09-19 22:15:11 +01:00
giacomand@gmail.com b9bb759cd8 -Multiple fixes for machinery not correctly updating their icons when depowered.
-Gave request consoles an off sprite.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5421 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-30 02:20:03 +00:00
johnsonmt88@gmail.com d4dc5ae070 Moved var/force from /obj/item to /obj so that everything gets it, including structures and machines that get tossed around using Telekenesis. The default force is still 0. This should finally put a stop to a large number of runtimes.
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
2012-12-27 02:08:41 +00:00
baloh.matevz d20ec0696a - Piped tgstation 3.0.0.dmm
(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
2012-10-04 02:30:17 +00:00
giacomand@gmail.com 5557116fd9 Committing for Numbers.
- 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
2012-09-30 19:31:35 +00:00
elly1989@rocketmail.com 73e5c38a56 Preparations for reducing the number of processing machines at round-start. There are currently 8000 or so at round start, this was already pruned to 2800ish by doohl's stuff.
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
2012-09-02 20:32:01 +00:00
elly1989@rocketmail.com 4073ac9b00 Replaced all 'file.extension' references with 'relativepath/file.extension' using a script by thvortex of ss13-daedalus.
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
2012-08-18 16:33:40 +00:00
sieve32@gmail.com 459c558898 -Make holodeck eswords a child of obj/item/weapon/holo instead of regular eswords, clumsy check removed as a result, and you can no longer do things like cutting through walls or doors or what have you. (Fixes Issue 665)
-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
2012-07-23 00:48:51 +00:00
baloh.matevz 2447af6623 Changes to layering of underfloor stuff:
- 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
2012-02-11 17:04:54 +00:00
mport2004@gmail.com 46a7143e3a Energy projectiles work again.
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
2011-10-11 07:52:30 +00:00
mport2004@gmail.com 17ed3899c4 Fixed the map/code issues that the body bags caused.
/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
2011-10-03 10:28:57 +00:00
baloh.matevz 15b843966f Updated the uterus station:
- 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
2011-09-13 14:18:59 +00:00
mport2004@gmail.com ed93b992c4 H/E pipes once again do H/E things
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
2011-08-19 06:11:28 +00:00
mport2004@gmail.com dd645687de Choking will no longer cause almost instant knockout.
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
2011-08-01 05:55:02 +00:00
baloh.matevz 22bc84703b In an attempt to make the lives of mappers easier when placing pipes, I've reorganized them into a tree structure. Eventually I (or if hawk wants to) will re-pipe the station to use the new objects.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1367 316c924e-a436-60f5-8080-3fe189b3f50e
2011-04-04 19:43:50 +00:00
mport2004@gmail.com 706ad091cd The AI/bots now leave hidden fingerprints on things they touch.
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
2011-02-10 23:16:47 +00:00
mport2004@gmail.com 50f282f8b2 Engineering got a new machine that spawns/feeds the singularity.
Redid the power use code, should be working better now.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@999 316c924e-a436-60f5-8080-3fe189b3f50e
2011-02-09 06:07:32 +00:00
n3ophyt3@gmail.com 9d8e8573b4 Mappers, this one's for you. New debug verb added for Coders and Hosts, when pressed, it goes through every obj/machinery/atmospherics in the map, and lists all of the ones that have the nodealert var set to 1, which should only be the case if not all the nodes are connected to something.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@970 316c924e-a436-60f5-8080-3fe189b3f50e
2011-02-06 03:33:01 +00:00
mport2004@gmail.com cd79ae951d Updated:
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
2011-02-03 08:15:17 +00:00
rastaf.zero@gmail.com 1b5f4611bd Reverted in r847 pipes-related changes is returning. With small improvements.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@856 316c924e-a436-60f5-8080-3fe189b3f50e
2011-01-15 17:22:24 +00:00
baloh.matevz 13898c006b REVERTING updates r830, r833, r836, r838, r839 and r841 due to suspected involvement in the huge lag we've been experiencing since them. All the files mentioned below have been reverted to their state in version r829.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@847 316c924e-a436-60f5-8080-3fe189b3f50e
2011-01-13 12:43:28 +00:00
rastaf.zero@gmail.com 0aa11e69fe Pipes bugfix:
- 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
2011-01-12 06:56:00 +00:00
rastaf.zero@gmail.com 6b7801c4af Singularity now wont leave floor under eaten walls.
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
2011-01-08 22:16:27 +00:00
n3ophyt3@gmail.com 6318cb5a36 Further pipelaying updates
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
2010-11-11 01:34:28 +00:00
n3ophyt3@gmail.com c38ba98498 More work on buildable piping
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
2010-11-10 05:24:56 +00:00
n3ophyt3@gmail.com e62649b706 Made my pipe coloring stuff actually work on runtime. Silly update_icon()
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@394 316c924e-a436-60f5-8080-3fe189b3f50e
2010-11-10 01:09:40 +00:00
only.lurking 662c08272a git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2 316c924e-a436-60f5-8080-3fe189b3f50e 2010-08-23 14:29:20 +00:00