* Part1
* IT COMPILES!!!!
* Fuck wait this was missing from that last
* Update handlabeler.dm
* Update handlabeler.dm
* Fixes n shit
* Fix this
* Fixes#23310
* Fucking @RemieRichards was right
* Fixes devil unEquip
* WTF ARE BITFLAGS?
* THERES THE FUCKING PROBLEM
* Fixes
* This doesn't actually matter, because you're dead forever once it happens...
* is this entire pr chaff for something else
* you'll do it? nah, fuck that I'll do it
* a very calming act
when the world is too much, too fast
* i'm tired
but i have to be efficient, infinite
* lick your lips at the sight of me
a fantasy made reality
Fixes trashbag not being able to pick up pillbottles, evidence bags.
Fixes packagewrap not being able to wrap backpacks, pillbottles, all sorts of bags.
Fixes packagewrapping a locked lockbox showing "it's locked!"
Backpack only make rustling noise if insertion is successful.
These are the files with just tiny tweaks. Mostly modify an object's attackby so it does "return ..()" instead of "..()".
If there are other things in this commit, the PR's description will explain them.
Greenglow decal no longer disappears after 2 minutes.
Fixes runtime with explosive implant activation.
Fixes stunbaton infinite cell charge, the baton now turns off if you try using it after its cell has been deleted somehow.
Fixes bloody pulled mob leaving a blood trail in zero G.
Shortens the guardian battlecry message when attacking to lower chat spam.
Items in Morph now disperses a bit on death instead of being all on the same tile.
After reaching a limit of 50 items, morph swallowing items deletes them instead of putting them inside the morph.
Monkeys can no longer modify the hand labeller's text to communicate.
Fixes carbon,radium,uranium 's reaction_turf creating multiple decal on a tile, it now checks if there's already a decal of the relevant type and (for radium and uranium) only transfers reagent to it if it finds one.
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.
Adjusts the click code to not use client/Click(). The code is largely unchanged, except that it allows the compiler default behaviour of calling atom/Click(), and then forwards the call to mob/ClickOn(). I had some reports that melee combat mixed with movement was behaving oddly, and I believe it may be due to the use of client/Click; the byond documentation says that redefining client/Click() causes additional overhead, and it isn't strictly necessary.
Alters the way double clicks are handled, in an attempt to better handle clickspam, as often occurs during pitched combat. This may also be responsible for the above, but I don't know.
Inserts proximity (aka flag) checks in all afterattack() procs. The old assumption was that unless an item used the USEDELAY flag, afterattack() was only called when adjacent, but this is no longer true. This led to beakers, soap, crayons, etc, all being usable at all ranges.
Removes the NODELAY flag, which was unused. Removes all existing uses of the USEDELAY flag so that it can be readded to things that need extra delay.
Removes the hand_* procs, previously used by restrained actions. Instead, the mob helper mob/RestrainedClickOn() has abosrbed basically all the functionality they were used for, which is really only monkeys with jungle fever.
Adds a special case of the Adjacency() proc for doors. This fixes#136, airlocks being unreachable due to border fire doors. However, this only takes us back to the unpleasant position where you have to open-hand the door, switch to a crowbar, and pry open the firedoor; it still needs a better fix.
-Dualsabers now come in the alternate colors, sprites courtesy of mjrseph.
-Adds the Vealrender, a harmless and goofy version of the veilrender, courtesy of supersayu. You can possibly find it in mining asteroid surprise rooms.
-*flap and *aflap are gender sensitive now, whoa!
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5834 316c924e-a436-60f5-8080-3fe189b3f50e
Fixes issue 1267. Empty paper bins icon not updating
Fixes the paperbin MouseDrop(), so you can actually pick them up again.
Removed /obj/item/weapon/paper/flag and /obj/item/weapon/paper/photograph. Both were unused.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5733 316c924e-a436-60f5-8080-3fe189b3f50e
Updated flashlight code a little.
Added inhand sprites for desk lamps.
Standardised modules/paperwork.
Decapitalised a bunch of mining items.
Slightly reverted update_icons.dm, so we're not looping through mutations more than we need to. Also, skeletons can now wear lipstick!
A few other things which aren't worth listing individually.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4855 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
- Hopefully this will cut down on the server spamming/crashing escapades happening on other servers. (This wont stop that from happening, this just makes it less severe)
- Some of the sanitizes were probably unnecessary, but better safe then sorry.
Added MAX_NAME_LEN constant which is initialized to 26.
- Please use MAX_NAME_LEN instead of typing in 26 when cutting inputs short. 26's are annoying when they have to be changed and you have to hunt through over a hundred files and tens of thousands of lines of code to find them all.
Moved uplink_kits.dm to code/game/objects/storage
Moved uplinks.dm to code/game/objects
- The stuff inside uplinks.dm could really be chopped up and split into separate dm files but this will do for now.
*********************************************************
**********************Important**************************
*********************************************************
When you create code that asks the user for an input consider whether or not it gets shown to the user through html or the like.
If it does please sanatize() or strip_html() it. Also use copytext() to cutoff spam by using MAX_NAME_LEN and MAX_MESSAGE_LEN as the cutoff var.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3652 316c924e-a436-60f5-8080-3fe189b3f50e
There's like 1001 things to fix so some of this is somewhat crude for now.
new helper proc located in procs/helpers.dm
reject_bad_text(var/text)
just feed any text in and it will either return the original text or null (if it contains odd characters such as \ / < > or characters reserved by BYOND. It also rejects if there are no non-whitespace characters)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3571 316c924e-a436-60f5-8080-3fe189b3f50e
This affects clipboards, hand labelers, paper, paper bins, pens, photocopiers, and stamps.
Everything (that I've changed significantly) should be BETTER.
NO paths have been changed.
All of the above have been added to the paperwork module (pending rename to bureaucracy, which is COOLER).
SPRITES for most of the above (except photocopiers) are now in bureaucracy.dmi.
Clipboards in particular are MASSIVELY IMPROVED.
Hand labelers can now be turned ON AND OFF, to make it simpler to avoid labelling tables.
This includes work in progress FOLDERS, which currently do NOTHING.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3253 316c924e-a436-60f5-8080-3fe189b3f50e