Replaced every l_hand = and r_hand = and all that if(hand) crap to use standardised procs. This means we can use procs like Dropped() reliably as they will always be called when things are dropped.
Thorough documentation to come. But generally, if you want a mob's icons to update after deleting something in the inventory...use drop_from_inventory(the_thing_you_wanna_drop) just before deleting it. If you wanna put something in a mob's hands use put_in_hands() (or one of the variants). It'll try putting it in active hand first, then inactive, then the floor. They handle layers, overlays, screenlocs calling various procs such as dropped() etc for you. Easy
mob.equipped() is now mob.get_active_hand() because there was another totally unrelated proc named equipped() and stuff was confusing.
Weakening was made instantaneous.
Minor optimisations for human/handle_regular_status_updates(). I'll port these changes over to the other mobs next. Basically it should stop it constantly incrementing every status effect even after death.
umm... bunch of overlays related fixes... I think that's everything. :/
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3900 316c924e-a436-60f5-8080-3fe189b3f50e
Changed RoundExplosions to a temporary define named USE_CIRCULAR_EXPLOSIONS which is a lot more intuitive and less confusing. Removing this define will compile square explosions code instead of circular ones. (So the cost of having a choice between circular/square is seen at compile-time not at run-time)
Fixed aliums being able to pick up storage objects such as bags/boxes/pillboxes and such.
Fixed unbuckling yourself from beds (via clicking the bed). You can also unbuckle yourself via resisting because beds are hard to click on when you're lying on them and they're covered in a sheet.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3854 316c924e-a436-60f5-8080-3fe189b3f50e
update_clothing() has been broken up into it's key parts. A full explanation can be found in code/modules/mob/living/carbon/human/update_icons.dm
the tl;dr of it is that overlay updates are no longer called by the gameticker. Instead they are called by procs such as u_equip db_cick etc. This means faster updates (although admittedly, more of them can be called per tick). This however is offset by the fact that specific overlays can be updated now, vastly improving its efficiency. This will especially help when there are large numbers of dead mobs.
Fixed the throw code for TKgrab so it can be toggled.
Cloaking for aliens/humans/ninjas was changed. It's very crude at the moment and for that I apologise. But it works and is very efficient.It also stops cloaked individuals becomming invincible due to people being unable to hit them (even when they know exactly where they are)
Fixed a bunch of bugs with damage-overlays. They were updating FAR FAR to frequently. They were also horribly inefficient. They should now be virtually seamless when updating and only use cached icons, so they aren't affected by lag as badly. This may help with explosions lag a little.
There's still a tonne of stuff I need to refine with this. I'll be refining it down into some helper procs to reduce on code duplication and such
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3811 316c924e-a436-60f5-8080-3fe189b3f50e
Any PDA that can access the Security Records can, via the forensic scanner function (that was already there) store data on what was scanned, the same way that the Detective's scanner can.
Scanning a PDA with said stored data in the Detective's computer-o-doom will transfer the data from the PDA to the computer's database.
Made some area names improper as needed (Only ones where it makes sense to be improper.)
Updated changelog.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3713 316c924e-a436-60f5-8080-3fe189b3f50e
- I added in the foundations for traitor factions. See factions.dm for all the different faction datums. They don't do anything yet.
- I completely ported mob/var/mutations from a bitfield to a generic list. Mutation enumerated-identifiers are added into this list. For instance, TK = 1, COLD_RESISTANCE = 2, XRAY = 3, etc... The purpose of this was because bitwise operations could not actually be used after a certain size (because BYOND is stuck in the 16bit era).
- I've added in completely-functional nano-augmentations. Check under implantnanoaug.dm for a list of implants and implaners. As mentioned previously, they are completely functional but may be slightly OP. Among these nanoaugs are Super Strength, Psionic Radar, Electric Hands, Energy Blade/Sword Synthesizer, Rebreather, Dermal Armor, Combat Reflexes, and Regenerative Nanorobots. I won't go into detail as to what they do, but hopefully they should be self-explanitory. If not, check out their descriptions in the file previously mentioned.
- Added in a future traitor item, the Mind Batterer. Along with it a new .ogg file.
- New telecomms bus mainframe sprite, thanks to WJohnston.
- New holdable shield, sprites courtesy of Muncher (i had to mangle the side sprites because of a technical little issue. I'll change it back to the original soon). It can be retracted and expanded. Probably only going to be given to traitors.
- A couple of minor bugfixes here and there, along with some code tidying.
Hope this isn't too large a commit. I intended it to be MUCH larger, but I've decided to split up my Traitor Factions expansion into smaller commits.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3692 316c924e-a436-60f5-8080-3fe189b3f50e
- New hotkeys: Delete is the 'stop dragging' button and insert cycles through intents.
- Added some user feedback messages to the drop, throw, stop-dragging and cycle-intents hotkeys.
- Added the hotkeys thing to the changelog.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3631 316c924e-a436-60f5-8080-3fe189b3f50e
- Some reorganization of DNA display in DNA modifiers. It's much easier to see where blocks start and end now.
- Tried to clean up some mob stuff, mostly dead humans unnecessarily grabbing their atmosphere.
- Made turret controls emaggeable.
I've also committed Invisty's new ending station animations. They're pretty cool, check them out!
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3621 316c924e-a436-60f5-8080-3fe189b3f50e
Reverted dismemberment
- This is the majority of the files
Reverted the gun change
- You wont shoot yourself putting your gun away
- You don't have to fire off all of your shots before hitting someone with your gun
Reverted Tarajans
- As requested
Hotfix for the Holodeck.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3574 316c924e-a436-60f5-8080-3fe189b3f50e
Regenerate admin verb now restores limbs/lost blood
Fixes power_loss proc to actually respect the electrical channel something is on.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3539 316c924e-a436-60f5-8080-3fe189b3f50e
Adds greater changeling code, but doesn't change the genome count yet on it.
Renames registered to registered_name on IDs because bs12 had it and it seemed like a good idea to do last night. For some reason.
Adds an afterattack to mobs that can be used. (In fairness, lots of shit in attack_hand should be in there instead, like stungloves and stuff, to minimize duplicated code)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3537 316c924e-a436-60f5-8080-3fe189b3f50e
FINGERPRINTS ARE GONE
EVIDENCE BAGS ARE GONE
DET SCANNERS ARE GONE
THIS IS PURELY TO SEE IF REMOVING DETECTIVE WORK FIXES THE HORRIBLE CRASHING
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3424 316c924e-a436-60f5-8080-3fe189b3f50e
Ghosts no longer hear emotes from across the map.
You can once again examine yourself.
Buildmode is back in because it is a very useful and great tool.
It is also an ADMIN TOOL and will cause runtimes like most of the other admin tools if you use it like shit.
Removed more erp bullshit
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3417 316c924e-a436-60f5-8080-3fe189b3f50e
Moved delete to trial admins because they can already mass delete and that's not particularly as helpful as regular delete (but a lot more destructive)
Trialmins can now toggle adminhelp sounds without observing
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3397 316c924e-a436-60f5-8080-3fe189b3f50e
An experimental lagfix, which removes a couple THOUSAND unnecessary machines from the machine processing list. Please report any unresponsive machinery (as result of this commit) as HIGH PRIORITY issues. I'm not quite sure how much lag this will kill, but I'm confident that it will be at least slightly noticeable.
More work on step_triggers. The escape shuttle should no longer blast things forever and give them infinite momentum.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3370 316c924e-a436-60f5-8080-3fe189b3f50e
Different fix to make AIs able to hear when being carried. Shouldn't be that much of a cpu burden, although if anyone has better ideas on how to do it
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3318 316c924e-a436-60f5-8080-3fe189b3f50e
Bloodied icons rewritten to be overlays, not replacing the icons. Hopefully this should fix \icon[src] breaking everything.
Bloodied hands/gloves don't transfer blood to infinite amounts of touched items.
Please report any bugs!
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3290 316c924e-a436-60f5-8080-3fe189b3f50e
Tratior borgs who hack themselves cannot be blown by their AI.
The AI can now open doors with shift+click, bolt them with ctrl+click, and shock them with alt+click
Adds a new wire to doors that controls the time delay before they close. If pulsed, they close like a sliding glass door. If cut, they do not close by themselves.
Borgs who have died, ghosts, and are then blown up will now have their ghosts properly transfered to their dropped MMIs.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3269 316c924e-a436-60f5-8080-3fe189b3f50e
More sanity checks for DNA modification.
Updated the metal, plasteel, glass and r-glass sprites. They're a lot smaller now.
Removed that stupid knife zippo sprite.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3145 316c924e-a436-60f5-8080-3fe189b3f50e
- Clicking on objects which have their pixel_x and pixel_y number larger than +/- 16 will now make you face in the direction they're moved to (IE wall mounted things)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3079 316c924e-a436-60f5-8080-3fe189b3f50e
Added this to the changelog.
(Also added a cigarette paper and cigarette filter sprite, not seen anywhere in-game.)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3077 316c924e-a436-60f5-8080-3fe189b3f50e
▫ AI satellite replaced with Communications Satellite.
▫ Some turret tweaks. Gave "AI" turrets a variable that controls what type of lethal shots they shoot.
▫ New job access level, Telecommunications Satellite. The CE, RD, and Captain get this access level.
▫ Some icon tweaks and stuff.
▫ Faster chem machine energy regeneration rate.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2959 316c924e-a436-60f5-8080-3fe189b3f50e
/atom/ShiftClick(mob)
This is called whenever someone clicks on an atom while holding shift. It is not sensitive to distance from object or anything like that. The mob parameter it contains is the mob that clicked the atom.
THIS PROC DEFAULTS TO EXAMINE, so if you shift-click something, you will examine it.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2906 316c924e-a436-60f5-8080-3fe189b3f50e
-Cutting/restoring cameras now leaves a print
-building certain overly-abused griff items leaves prints
-grenade launcher no longer shoots your face if you try to backpack it
Chameleon projector movement speed is now based on temperature
Added add_hiddenprint(mob) proc
it's like add_fingerprint but only adds to fingerprintshidden isn't that neat?
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2898 316c924e-a436-60f5-8080-3fe189b3f50e
Simple mobs who attempt to attack and have a max damage of 0 (which is the default) will emote a friendly gesture towards the target, the default being "nuzzles" though also editable via vars.
Added the Shade simple mob (and some temporary sprites) which is the first simple mob capable of attacking. It was mostly for test purposes, but will probably end up becoming a feature of soul stones later on.
Note: Simple animals still cannot interact with other simple animals, critters, mechs, cyborgs, aliens, monkeys etc etc, only humans at this point.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2808 316c924e-a436-60f5-8080-3fe189b3f50e
◦ The kitchen and booze vending machines have some changed commodity values. Most importantly, kitchen has more eating utensils and trays.
◦ Changed the afterattack() and DblClick() to have the (location,control,params) parameters.
◦ Added a new radio filter, "RADIO_MAGNETS".
◦ Mucked around with /datum/signal. Just an extra variable and another comment.
◦ Guns' afterattack() proc now carries location,control,params.
◦ Projectiles now track exactly where the player clicked on a tile. Pretty neat, huh?
New stuff:
◦ A new machine has been added: magnetic generators. They fit under floor tiles and can create dyanmic magnetic fields by directing ionized proton/electron beams to another tile.
◦ Another machine/computer was added that can control these magnetic generators. These machines come with their own pseudo-scripting engine for directing the magnetic beams magnetic modules create. They're not really complete yet, but they work for the firing range. I plan on expanding on this maybe sometime in the future, creating more applications for magnets elsewhere.
◦ Firing range things have been added, including target stakes and targets (both sprited by Veyveyr). You can mount targets onto target stakes and shoot them. Pixel-precision aiming has been applied to the targets (ONLY THE TARGETS!) so that you can see where you shot it and whatnot. You can literally blow holes through the targets until they collapse on themselves.
◦ Added a small little manual to the firing range on how to use the new stuff. It hopefully isn't too complicated to use.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2543 316c924e-a436-60f5-8080-3fe189b3f50e
- Added an exception for the application of a delay when you're targeting an item that you are holding. So there is only a 100ms delay when putting items in your backpack, taking them out, juggling stuff in your inventory, etc. It was about 1s before.
So the delays between uses are now:
- When targeting items that you aren't holding:
- - items with USEDELAY: 2s delay
- - items with NODELAY: 0.1s delay
- - items with neither: 1s delay
- When targeting items that you are holding
- - all items: 0.1s delay
There is one more problem with pathfinding where windows don't properly block clicking. This is the last thing that needs to be addressed, then it should finally be ready.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2446 316c924e-a436-60f5-8080-3fe189b3f50e
The captains laser, aegun, and xbow recharge a bit slower now, they recharged so fast that you almost never had to stop shooting.
Cleaned up the cyborg_modules file
Medical and Security borgs have a hud item.
Medical bots bottles hold 60 of their chemical (up from 30).
Medical bots now have three syringes that are labeled "Syringe-(Inaprovaline)", "Syringe-(Anti-Toxin)", and "Syringe-(Mixed)".
Medical bots now have two kelotane/dexalin pills (up from 1/ea).
Engineering bots got a new RCD thats just like the old one but the code is cleaner and meant for borgs only.
Husks brains can no longer be cut out.
Healing hands code has been removed till whoever wants to finish it adds it to a place that is NOT the base click procs.
Added veyveyr's nuke team weapon. Its more or less the Uzi with a new icon.
Nuke teams also got a bit of extra ammo and a few more pinpointers/eguns in their locker.
Glass doors will not set opacity to 1 after they close.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2431 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
/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
Two new categories were made: station_objects and effects. station_objects, which I'm sure someone will want renamed to 'structures' contains the objects which don't need process() or power code.
Effects contains objects which are either landmarks, triggers, spawners or decal.
Screenshot:
http://www.kamletos.si/new%20object%20tree.PNG
I didn't notice any bugs, but with a revision editing 276 files of byond code, you never know.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2323 316c924e-a436-60f5-8080-3fe189b3f50e
- attackby uses a 1s delay,
- attack_hand and varieties and attack_self use a 0.2 second delay,
- clicking the HUD has a 0.2 second delay,
Items with the USEDELAY flag set the attackby delay to 2s.
Items with the NODELAY flag set the attackby delay to 0.2s.
Items without either of the two flags (most) use the standard 1s delay.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2262 316c924e-a436-60f5-8080-3fe189b3f50e