Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.
Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
This commit does the following:
- Ports progress bars from -tg- (tgstation/-tg-station#9921)
- Refactors wall attackby code to make it 100% less insane; Instead of
manually checking every little thing, it uses do_after,
consequentially, making the new progress bars affect dealing with walls
as well.
Wall code makes a tiger sad.
This commit first and foremost ports the -tg- atom pooling system, and
removes the old experimental system entirely.
Secondly, this PR modifies the qdel system to use a -tg- lookalike
"destroy hint" system, which means that individual objects can tell qdel
what to do with them beyond taking care of things they need to delete.
This ties into the atom pooling system via a new hint define,
QDEL_HINT_PUTINPOOL, which will place the atom in the pool instead of
deleting it as per standard.
Emitter beams are now fully pooled.
Qdel now has semi-compatibility with all datum types, however it is not
the same as -tg-'s "Queue everything!" system. It simply passes it through
the GC immediately and adds it to the "hard del" lists. This means that
reagents can be qdel'ed, but there is no purpose as of yet, as it is more
or less the same as just deleting them, with the added effect of adding
logs of them being deleted to the garbage collector.
This commit first adds a new helper proc labeled isAntag(), as well as
adding a check for antags for every instance of msg_admin_attack().
Goals of this commit:
- Make admin ATTACK: logs indicate if attacker is an antagonist.
Note; High probability of merge conflicts, 47 files changed.
Emitters will now need to be wired.
Emitter type has changed to /obj/machinery/power/emitter
Fixed cables not correctly disconnecting power machinery from the powernet after being removed.
-Fixed a typo with smashing tables/racks.
-Fixed maps having incorrect types.
-Fixed singularity EMPing when at stage 1.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5423 316c924e-a436-60f5-8080-3fe189b3f50e
-Made chemistry a bit less reinforced.
-Moved more engineering equipment to access_engine_equip.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5413 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
I added a check to meteor and space dust Bump() directly because changing ex_act() on the machines themselves would make the machines immune to bombs and C4.
Hopefully fixes issue 716.
light/process() was added back in causing lights to use power as they were meant to. Recently lights have been made brighter causing more power to be drained. As a result the engineering APC would not last very long. The station using a lot of power is a good thing since the singularity produces an incredible amount of power, so to keep this higher power demand but still give engineers a fighting chance to set up the singularity, I've bumped up the engineering APC's starting battery power.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4401 316c924e-a436-60f5-8080-3fe189b3f50e
The Field generators are now offset from each-other to allow the engine to be restarted should containment fail.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4380 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
- 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
At the moment it only logs some singularity things. Please let me know if there are any important methods of singulo-grief which I may have missed.
The "Investigate" verb is available to everyone of rank "Admin observer" and upwards. Just type "Investigate" and select the subject you'd like to see logs for. Typing "Investigate singulo" will also work as a shortcut.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3679 316c924e-a436-60f5-8080-3fe189b3f50e
Fixes issue 250 (borg door bug)
Fixed silicon interactions with engineering equipment.
Fixed access lists for radiation collectors, so locking them actually serves a purpose. Fixed using crowbars on them.
Borgs can name themselves upon module selection (unless a roboticist has named them previously by using a pen)
To avoid Borgs griefing and then changing their name by selecting a module, borgs are now unable to move independently until they choose a module.
New sprites for spacevines are on the way. So you'll have to tolerate my crappy stand-ins for a bit until he is finished with them.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3128 316c924e-a436-60f5-8080-3fe189b3f50e
Cleaned up part of the door code and moved some defines to their proper files.
Firelocks can now be welded open and now shows the welded overlay properly.
Borgs can now properly mess with door wiring.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2895 316c924e-a436-60f5-8080-3fe189b3f50e
You need to swipe and ID to lock an emitter,
PDAs will no longer have a popup when you attempt to put an ID into them.
PDAs have an Update Info button just below the ID slot when an ID is in it.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2867 316c924e-a436-60f5-8080-3fe189b3f50e
The PA can no longer be remotely controlled by humans and cyborgs can only control it if they are nearby.
The spawn PA can now be taken apart.
FireAx/Extinguisher closets got their own files.
Food closets are now with their defines.
Freezer closet/crates override return_air() to cooldown the contents.
The var isinfreezer has been eliminated.
The old player panel has been readded as an alt for the new one, it may be found under the Player Panel verb.
The new player panel may be accessed by the Player Panel-New verb.
Crates.dm moved from the storage folder as it is not a storage object.
Fixed Issue 227 about the PA shooting when it should not be.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2851 316c924e-a436-60f5-8080-3fe189b3f50e
Fixed some issues with paper.
Slightly adjusted the atmospheric door sprites.
Added some SMES assembly sprites.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2829 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