Commit Graph

36 Commits

Author SHA1 Message Date
Tkdrg
773f0f7c21 Fixes RPD/disposals exploits
Also removes a bit of copy-paste and speeds up a helper slightly.

Fixes #13473
Fixes #14654
2016-01-24 16:23:20 -03:00
Firecage
c933363062 Adds the toolspeed var and adds it to most usages of tools which has a timer 2015-11-21 19:24:14 +02:00
kingofkosmos
e75d24a6c9 Changes checks in altclicks from canusetopic to incapacitated. 2015-11-01 11:24:17 +02:00
kingofkosmos
65c516607f Adds altclick rotation + description to doppler array, transit tubes, windoor assembly, infrared emitter, emitter, particle accelerator, disposal tubes. 2015-09-20 18:54:23 +03:00
phil235
34b9a045fc Fixes non carbon being stunned when thrown and hitting something dense.
Fixes being able to enter a disposal bin while buckled.
Fixes items bouncing off delivery chute when thrown into it despite entering the chute.
Fixes being able to leave disposal pipes when moving inside pipes on a janicart.
Fixes some potential runtime (null loc) when flushing the disposal units.
Fixes the thrown range when being ejected from a disposal pipe.
2015-07-26 20:40:46 +02:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
Iamgoofball
a8ec1c76df Merge branch 'master' of https://github.com/tgstation/-tg-station into graphics
Conflicts:
	code/ATMOSPHERICS/atmospherics.dm
	code/game/machinery/computer/computer.dm
	code/game/objects/items/weapons/explosives.dm
	code/game/objects/structures/crates_lockers/closets/fireaxe.dm
	code/game/objects/structures/musician.dm
	code/game/objects/structures/tables_racks.dm
	code/game/objects/structures/window.dm
2015-06-23 12:54:26 -07:00
Iamgoofball
c2256d41fc BAR NOW SHOWS UP ON THE OBJECT YOU'RE INTERACTING WITH 2015-06-13 13:58:08 -07:00
duncathan
dab13732fe cleans up icon paths; modifies certain unary devices
updates icon paths in multiple files
removed insulated icon state in pipe_item.dmi (insulateds are deaaaad)
lays an icon framework so that o2 generators, cold sinks, heat sinks may eventually be made constructable
  they no longer override update_icon() but instead update like just about every other device
  eventually I'll give these real sprites but given that they're unused it can wait for now
  sprites and construction are outside the scope of this PR
makes heat exchangers update their color based on their node
  because heat exchangers are different sprite-wise they had to override update_icon entirely
makes heat exchanger, heat sinks, cold sinks, o2 generators non-dense
2015-06-13 02:43:17 -06:00
kingofkosmos
1d14471d00 Ellipses to waiting messages. Warning-spanclasses to failing messages with an exclamation mark. 2015-04-24 20:50:50 +03:00
Boggart
ecebb594f9 Fixes being unable to construct disposal pipes on walls and fixes changing the RPD settings while already building affecting the currently building pipes.
Changes the RPD to use the newer datum/browser ui, makes it so that it show's what you have picked and doesn't let you endlessly repick it.

Fixes my wonky check for bins/outlets/chutes on walls, also adds a changelog.

Undefs the defines in RPD.dm at the end of the file.

Changes the "Type:" label to "Category:"
2015-04-23 11:53:27 -06:00
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
b8230e024b * Cleaned the disposals code a bit (making it uses the defines !)
* Disposals constructs are now stored inside disposals instead of having them deleted and a copy created
* Bins, chutes and outlets will now properly clean any connected trunk on qdel()
* You can no longer change the RPD setting by keeping its window opened
* You can no longer use the RPD as a non-dextrous mob
* Reinforced floors will now be broken by ejected items/mobs, instead of stucking them in the void indefinitely
2015-01-19 01:53:19 +01:00
Menshin
8d1ebf3ad1 * Prevent stacking of dense disposal constructs (bin, outlet, chute)
* Some general code cleaning (less snowflaking)
2015-01-15 20:05:15 +01:00
phil235
aa9873d7ff Fix Disposal pipe construction runtime. 2014-11-07 17:12:16 +01:00
hornygranny
b32e9cff12 Merge pull request #5621 from tkdrg/damnoldcoders
Moves around some vars
2014-11-03 17:15:54 -08:00
tkdrg
d3727e6e3e Removes unused code instead of commenting it out 2014-11-03 18:25:05 -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
phil235
128c9222e5 Adding checks for stun, restrained to many object verbs.
Fixing paper and supply manifest description upon examination.
Fixing being able to adjust jumpsuit while restrained.
Fixing one typo.
2014-11-01 19:18:01 +01:00
Lo6a4evskiy
82f869c9a6 Updated to resolve conflicts 2014-09-06 13:34:43 +04:00
Firecage
6110bd4f04 Absolute paths for recycling folder files 2014-08-17 15:51:15 +02:00
phil235
21cb80b79e fixing CP var 2014-04-05 17:35:12 +02:00
phil235
5a6e9804b9 Bin&outlet can be deconstructed even with destroyed trunk
Fixes the bug where you can't deconstruct the bin/outlet after the trunk below it has been destroyed (usually by an explosion) and you can't replace the trunk with the bin/outlet in the way.
2014-04-05 16:44:22 +02:00
MrPerson
6c6cfb085b Move disposal pipe verbs to the object tab 2014-03-26 21:49:01 -07: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
Giacomand
9b9713f8d0 Fixes a bug. 2014-01-16 14:52:20 +00:00
Giacomand
11bca59614 Refactored the code to remove most icon operations for changing an icon's colour. I had to manually set all the icons, which are subject to colour change, to be have a white/grey icon, so that the colours added properly, and then have them coloured in the code. This means the icons for runes, the reagent beaker overlay, smoke and etc will all be white. They now all use the new 500+ color variable.
The only noticeable gameplay difference is that you can't choose your graffiti's shade.
2014-01-15 21:30:55 +00:00
daniel.cf.hultgren@gmail.com
7b6e58969f I'm back with the greatest feature additions ever, as before!
* You can now dispense sort junctions from the disposal dispenser.
* Sort junctions can now properly be unwelded.
* You can now change a sort junctions filter using a package tagger (examining a sort junction shows its current filter).
This also means that you can now construct a disposal and package system entirely from scratch!

* Updated the package tagger with a slightly updated interface, and more user feedback.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4742 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-23 18:53:31 +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
giacomand@gmail.com
82886383e3 -Fixed issue 673, it will delete the glass if none remains.
-Added issue 672 's enhancement request. Disposal systems should leave fingerprints and transfer prints when building/deconstructing.
-You can put the Light Replacer on your belt.
-Gave the Light Replacer FPRINT and CONDUCT flags.
-Gave the Light Replacer origin tech.
-The Science department can now research the Light Replacer and build it. You need a required tech of "magnets = 3" and "materials = 4" with a material construction cost of 1500 metal, 150 silver and 3000 glass.
-Fixed a bug where you cannot place more than one object into a turned-off disposal unit.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4127 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-20 16:08:05 +00:00
johnsonmt88@gmail.com
fa65c484cd Welding tool: Mostly code-related, the players won't notice much.
- 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
2012-06-04 22:56:11 +00:00
daniel.cf.hultgren@gmail.com
2ce2243223 Disposal update
* You can now Drag-Drop disposal pipes and machinery into the dispenser, in order to remove them.
* You must now use wrench before welding a pipe to the ground
* You can no longer remove a trunk untill the machinery ontop is unwelded and unwrenched
* You are now forced to eject the disposal bin before unwelding it.

Thanks to whoever said the bugs in OOC. (Sorry, unable to remember names)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3734 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-03 15:35:56 +00:00
daniel.cf.hultgren@gmail.com
589267fabf Revolutionary update!
You can now dispense Disposal Bins, Outlets and Chutes from the disposal dispenser. These are movable and you can attach them above open trunks with a wrench, then weld them to attach them completely.
You can remove Bins by turning off their pump, then screwdriver, then weld, then wrench. Same with outlet and chute except for the pump part.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3690 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-28 20:51:15 +00:00
heisen51@gmail.com
10da4a1304 Unsecured disposal pipes are now density=0, so you can walk over them.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2818 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-26 15:44:08 +00:00
petethegoat@gmail.com
9569430cc6 Moving recycling from WorkInProgress to modules, as it isn't wip.
Also, I could -never- find it in there.

(Please note that due to what seems to be an issue with Tortoise SVN, I have to do this in two commits.)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2570 316c924e-a436-60f5-8080-3fe189b3f50e
2011-11-28 20:07:44 +00:00