Commit Graph

537 Commits

Author SHA1 Message Date
petethegoat@gmail.com
1fc8ce5bc5 Fixes issue 739.
Fixes issue 505.

Boxing gloves can no longer be used to make stungloves (with descriptive, adventure game style failure message~).
People without savefiles no longer get the "Your save has been deleted" message when they start the game.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4402 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-14 16:40:27 +00:00
d_h2005@yahoo.com
be3450d319 -Fixes the bug where matches would not light plasma.
-Fixes horrible chat spam when loading smartfridges up with plant bags.
-Fixes the bug where reishi mushrooms and broken wooden floors had ugly sprites.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4400 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-14 15:37:21 +00:00
petethegoat@gmail.com
f657677a99 Fixed issue 775.
Fixed issue 767.

The fix for issue 767 was to standardise spray bottle code (to some extent). If any issues come up with spray bottles, pepper spray, or chem sprayers, report them to me.
Cyborgs now recharge their pacid and lube, as the size of their bottles was quartered.

Changed the flash item_state to "flashbang", as it looks exactly like a flash.

There's some more grammar and text clean up too, mostly with crates and closets.

Finally, fixed some pipes in virology, and changed the librarian's den so the bookcases are at the top.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4394 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-13 18:24:34 +00:00
rockdtben@gmail.com
bf9f922390 -Fixes issue 690
-Made my comment less ambiguous

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4391 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-13 13:21:02 +00:00
rockdtben@gmail.com
bfd80f5854 -Tidied up some of the nanoaug code
-Modified the implanted method signature to be more readable
-Tested changes with Ausops

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4390 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-13 11:08:25 +00:00
johnsonmt88@gmail.com
e9671308bf Reorganized clothing as a whole.
Everything related to clothing should now be defined in modules/clothing. I'm almost certain there's clothing code hidden elsewhere but this should be the vast majority of it finished.

Everything is set up related to the object types themselves (meaning paths.)
So all hats will be in modules/clothing/head, all gloves will be in modules/clothing/gloves, ect...

I've removed 'modules/clothing/random.dm' and 'objects/items/clothing.dm' which both seemed to just be a place where people would put stuff they were too lazy to find a proper home for.

I've also moved files that had no, or very few blocks of code into more catagorized areas.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4388 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-13 02:17:14 +00:00
petethegoat@gmail.com
faea964e13 Fixes issue 521.
Fixes issue 676.
Fixes issue 700.
Fixes issue 753.
Fixes issue 754.
Fixes issue 755.

Additionally I slightly cleaned up grenade code and stunglove code, and removed mustardbomb.dm (because it was fucking awful).

THIS BUGFIX TRAIN AIN'T STOPPIN'
Thanks QualityVan for the issue 521 fix, and thanks Nodrak & Tobba for pointing out my dumbness for issues 753 & 754 respectively.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4382 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-12 19:51:08 +00:00
rockdtben@gmail.com
7f0e81c5bc Fixed issue 625
-Revheads cannot exploit loyalty implants anymore.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4381 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-12 16:09:08 +00:00
elly1989@rocketmail.com
a79f049ebd Moves mob/var/datum/changeling/changeling to datum/mind/var/datum/changeling (changeling datums are now held by minds rather than mobs)
As such, changelings can now be reported at round-end, even after gibbing. Resolves Issue 251

Changeling power proc_holders are now datums rather than objects.
Condensed all those changeling stings down a bit. This will make fixing issue 351 easier to fix

Replaced changeling fakedeath and a number of checks for the zombiepowder reagent with a bitflag: mob/var/status_flags & FAKEDEATH
setting the FAKEDEATH flag will make the mob appear dead in exactly the same way changeling parasting and parapens worked. I've updated changelings and zombiepowder to work with this flag.

Bug fixes for the staff of change. There was a type mismatch and I typo'd "alien" as "xeno" so xenos were not being randomly picked.

TODO:
changeling purchased verbs could probably be moved to mind/special_verbs. Likewise, other modular antag proc-holders can be merged with the changeling system using the same type of datum. (namely wizards)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4377 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-12 05:43:39 +00:00
quartz235@gmail.com
710acf77e5 Fixed issue 695
- Syringe overlay layer is no longer above the blackout screen layer
Fixed issue 704
- Shades (and all simple animals) can no longer pick up paper bins/donut boxes with clickdragging (were there any other objects you could pick up with onmousedrop?)
Fixed issue 737
- Dead/unconscious cultists no longer count towards cultist count on rune use (such as sacrifice, nar-sie, etc)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4360 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-10 20:03:24 +00:00
elly1989@rocketmail.com
81bff7c5f5 Important!
Minds part2 - Carn loses her mind.

The way datum/mind stuff works has been changed a lot. I really can't explain everything. If you have any questions it'd just be easier if you leave a comment or ask me in coderbus.
Generally, minds now represent IC characters rather than following a client around constantly. Minds can change owners, mobs, (names WIP).

Technical babble:
The var/current and var/original variables of the mind datum must always be of type mob/living (or null). Please do not mind.transfer_to(ghost_mob). If you want to ghost somebody use ghostize()! It will do all the technical stuff for you.

mob/dead/observer/var/corpse was removed. mob/dead/observer/var/mind is now used as a reference to the last mind the player had (so respawning code has something to reference), but also because mind.current is a far more useful way of tracking a corpse. If somebody triggers a mind.transfer_to() call on your corpse, your mind will be tranfered to another mob/living or something...that will then be considered your corpse. This could allow for more interesting mind_transfers. For instance, the "raise corpse" rune ghostizes any player in the corpse to be raised and selectes a random dead player to take possesion of their character! The person possesing them will have all of their memories, objectives, etc. The poor guy who was originally the owner cannot re-enter body if there is another player in his body...but if that player is ghosted he can once again return. Exorcisms anybody?

Changes to cloning and hydroponics. I will likely have to rework these later as they're hacky as hell right now.

A lot of stuff is now handled by Login/Logout rather than in hundreds of different places. One such example, mind datums get their variables updated at Login and Logout.

Fixed a few minor bugs. I'll update the issues manually in a bit because I literally cannot think atm.

TL;DR guide:
-If you want to make somebody a ghost use ghostize(). Or you will need to find a doctor to stitch your bits back on. :)
-You don't have to worry about making minds. Simply doing key="carnwennan" or whatever will either: A) make a new mind and initialise it if there isn't one or B) take possession of the mind currently attached to the mob.
-It's safe to transfer a mind even if a key isn't in-body (e.g. they are ghosted/admin-observing etc!) Minds have an active variable which tracks whether they are currently synced with a key. This is to avoid dragging ghosts back into their bodies when say, a wizard mind_transfers them.
-Transferring a mind whilst var/active=1 will cause the following: mob.key = mind.key. So no need to do that separately (in fact you'll lag things if you do, so don't)
-If you do want to initialize a mind manually, say if you don't have a client to login to the mob yet, simply do new_mob.mind_initialize(). Simple! When someody is logged into that mob they will take ownership of the mind and it will sync up.

NOTE: a lot is probably broken since this is a pretty massive change. Please let me know asap (with actual info! Shouting at me, "IT BORKED HALP", doesn't help)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4342 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-08 20:51:55 +00:00
petethegoat@gmail.com
46db0d2c3e Fixes issue 641.
Fixes issue 339.
Does not fix issue 506, but I have spruced up the text a bit.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4335 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-07 17:20:22 +00:00
elly1989@rocketmail.com
fb600f9bce Ok, part 1 of this huge mind datum fix. I need to run over the next part again because I've made a lot inconsistencies in it. This is sort of all the misc stuff that got tidied up whilst I was trying to get my head around how everything related to eachother.
This part focuses on:
-structuring the way silicon mobs initialise upon login (there was some hideous copypasta in Login() and New() which used spawn() to change the order of the calls so it was all jumbled up. I think I've got it sorted now.
-Borgs var/real_name was not initialising as "Cyborg". Meaning the name checks were kind of borked.
-Ghosts are now deleted at logout if they no longer have a key. This will stop unneeded ghosts being left lying around. It will not delete ghosts with keys assigned (so people can't respawn or anything). Removed all the del(ghost_ref) stuff I could find. Generally movign the key from a ghost should be the last thing you do as the ghost will be deleted by Logout. However I've put it in a spawn() to hopefully avoid coders accisentally using it in a way which causes runtimes.
-Fixed clone-plants spawning dud potato-people left, right and centre. They'll now dump seeds if it fails for whatever reason.
-Cultist and Rev status are removed at mob/living/silicon/Login() rather than having to be called on a special-case basis everywhere. This may not be necessary when this stuff is finished.
-Removed a bunch of :
-Commented mob/living/Login() with the rest of the antag-indicator code from cloning.dm and hydroponics.dm for any coders whom feel brave/suicidal to fix the related issues

Next on the agenda, replacing mob/var/original_name with datum/mind/var/name to fix the ticker runtimes
Then, fixing mind/proc/transfer_to(mob) once and for all. (There are issues with duplicate minds, role updates, inconsistent initialisation etc etc *yawn*

There's probably a few obscure bugs in there somewhere. Might want to hold off on the updates for a bit. Coderbus will likely spot them all by the end of the week.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4322 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-05 15:29:15 +00:00
giacomand@gmail.com
e0ca2a6bc0 -Fixed issue 540, someone thought that the prison's intercom microphone not working was a bug, which was actually intentional.
-Fixed issue 643, the code will now check that the TKed item's loc is on turf, i.e: not in a locker or in someone's pockets.
-Fixed issue 282, the locker wouldn't pick up the chameleon's dummy because it was an effect and not an item. I added a hacky exception for the chameleon projector. I've also made the starting item something more useful so that people will use it more. Please report any issues you find with this, I'm sure nothing too bad will happen.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4313 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-04 14:35:12 +00:00
ericgfwong@hotmail.com
e5a2674e3a -Added Armor run to admin tomes
-Resolved Issue 720. Message should now properly tell you who got cult armor
-Resolved Issue 642. Bad indentation caused girders to disappear if you move away while building them.
-Commented out admin messages when monkeys used non-monkey SEs
-Atmos techs given Construction Area access
-Remapped the south end of Med-Sci
--Misc. Research Lab added to science
--Virology moved to be made more isolated
-Updated Changelog

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4312 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-04 07:37:22 +00:00
petethegoat@gmail.com
f295c3ab33 Updated space carp, walking mushrooms and killer tomatos to use simple_animal instead of critter code.
Notify me if any issues with them, or any simple_animal arise.

Fixed a few issues with space bears.

Slightly improved teleporter code, and did a few misc runtime fixes.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4258 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-31 21:22:42 +00:00
johnsonmt88@gmail.com
6a9b24a178 Runtime fixes:
- Robots being deleted passed the mmi object to the mob list instead of the mmi's brainmob

- DNA injectors were checking for a user, but not for a mob.

- DNA computers would try to modify the dna of a mob that no longer existed.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4239 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-31 01:19:22 +00:00
elly1989@rocketmail.com
919677e2d5 Finally fixed those clean_blood() calls so they update mob-overlays properly. Resolves issue 681. Fixes space-cleaner grenades/splashing/spraying, Soap (work-around), Showers (again) and Janitor-borgs.
Fixed putting ammo in RCDs, resolves issue 696. Removed a little spam-text from RCDs too.
Removed some dyslexia from spesscash.
added an undef for LEGCUFF_LAYER


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4209 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-29 04:04:24 +00:00
johnsonmt88@gmail.com
c930622bea Attack verbs!
Instead of 'x has been attacked with y by z' it now reads 'x has been 'y.attack_verb-ed' with y by z'!
Example:
Monkeyman has been bashed in the head with a riot shield by Nodrak!
or
Monkeyman has been stabbed in the chest with an energy sword by Nodrak!

- Every obj now has a list named "attack_verbs"
- When declaring an object, just use attack_verb = list("verb1", "verb2") and so on to initialize the list for that specific item.
- I've added a bunch of these to a ton of items already, feel free to modify or add more. Just try to stay away from gimmicky verbs (clown stuff being the exception.)

clothing.dm and spawner.dm only had a single definition in each of them, so their definitins have been moved to obj.dm and their original dm files deleted. I'm not sure about spawner but clothing had all of its other definitions removed recently.

radio.dm was a completely blank file, so it was removed.

Changelog updated

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4182 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-26 05:21:24 +00:00
sieve32@gmail.com
7bf6788082 -OPTIMIZATION TIME
-Almost every instance of 'for(mob in world)' has been killed. Because GODDAMN was it being run a bunch. Instead, a series of global lists have been made, and they are all handled auto-magically through New()'s, Del()'s, Login()'s, death()'s, etc...

Lists are as follows:
-mob_list : Contains all atom/mobs by ref
-player_list : Like mob_list, but only contains mobs with clients attached
-admin_list : Like player_list, but holds all mobs with clients attached and admin status
-living_mob_list : Contains all mobs that ARE alive, regardless of client status
-dead_mob_list : Contains all mobs that are dead, which comes down to corpses and ghosts
-cable_list : A list containing every obj/structure/cable in existence
Note: There is an object (/obj/item/debuglist) that you can use to check the contents of each of the lists except for cables (Since getting a message saying "a cable," x9001 isn't very helpful)

These lists have been tested as much as I could on my own, and have been mostly implemented. There are still places where they could be used, but for now it's important that the core is working. If this all checks out I would really like to implement it into the MC as well, simply so it doesn't check call Life() on every mob by checking for all the ones in world every damn tick.

Just testing locally I was able to notice improvements with certain aspects, like admin verbs being MUCH more responsive (They checked for every mob in the world every time they were clicked), many sources of needless lag were cut out (Like Adminwho and Who checking every single mob when clicked), and due to the cable_list powernet rebuilding is MUCH more efficient, because instead of checking for every cable in the world every time a powernet was broken (read: A cable was deleted), it runs though the pre-made list, and even with a singulo tearing all the way across the station, the powernet load was VERY small compared to pretty much everything else.

If you want to know how any of this works, check global_lists.dm, there I have it rigorously commented, and it should provide an understanding of what's going on.

Mob related in worlds before this commit: 1262
After: 4
I'm helping


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4179 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-26 03:04:05 +00:00
baloh.matevz
1808b82cd4 - You can now wash people's mouths out with soap by having soap in your hand and targeting their mouth.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4166 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-25 00:16:43 +00:00
baloh.matevz
af99faf4a3 - Made legcuffs a thing. At the moment the only legcuff type is the beartrap, but it needs sprites before it can get added to the map. The bear-trap triggers when you arm it and then someone runs over it. It attaches to their leg, making them unable to run until they remove it. You remove a legcuff by resisting out of it or by getting someone else to do it for you in the same way that handcuffs are removed. Resisting out of a beartrap takes
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4164 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-24 07:09:57 +00:00
baloh.matevz
e3d3f2b8e9 - Added support for pulledby, which tells you who is pulling this object.
- Replaced all the .pulling = object instances with start_pulling() and stop_pulling(). Use these from now on.
- Ian and Runtime will now no longer move when being pulled

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4155 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 07:45:27 +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
4f5f726edb -You can make newlines with PDA notes.
-Fixed a bug where if an Alien manages to pickup an item that they shouldn't and put it in their pocket then it won't be stuck remain stuck, being unable to pickup the item you placed in your pocket. It will now instead just drop it if it detects the item in your contents.
-APC will auto-turn on equipment if there is enough power for a certain duration. I want to tweak this some more until I get the perfect balance.
-Updated the changelog

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4141 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-22 15:45:42 +00:00
giacomand@gmail.com
5bd1f78eb1 Fixed issue 663, you should no longer be able to mass inject monkeys.
Fixed DNA injector sprites so they don't remain in your hand after injecting someone.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4135 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-21 20:06:29 +00:00
elly1989@rocketmail.com
f6ded04899 Minor optimisations for explosions (again). Only removed some unnecessary lists, nothing major. Added some logging to world.log which gives explosion location/duration etc so we actually have something to compare it to whenever that damn code gets changed again :P
Added a shortcut to player notes into the investigate verb. Just type investigate notes

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4132 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-21 02:20:16 +00:00
giacomand@gmail.com
285f31f0c4 -You can now store donuts in the donut box. The next donut you pull out will be the last one you put in.
-Changed the class type of donuts. donut/normal is now the regular donut. All other donuts have been made this way. (I.E: donut/chaos)
-Hopefully the merged records proc will now not spit out runtimes.
-You cannot enter a name without any character now. This way you can also click on the link.
-Added some coloured caps to their respected coloured wardrobes.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4123 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-20 00:12:50 +00:00
elly1989@rocketmail.com
d80b933510 Stat() == 2 was being used instead of stat == DEAD (one being a proc another being a variable to track death.
Also deceased was spelled incorrectly.

*facepalms*

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4119 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-19 18:50:55 +00:00
johnsonmt88@gmail.com
1ce01f34b9 Rounded off the shuttle time message.
"The Emergency Shuttle has left the station. Estimate 2.98662 minutes until the shuttle docks at Central Command." should no longer happen.

Removed some while(1) loops from object process()s.

Removed some unused object process()s.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4116 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-19 18:06:23 +00:00
giacomand@gmail.com
d4c0a8130f -Fixed there being no return link when a "No SQL server" message appears on the Library Computer.
-Increased the amount of lights you get from adding glass to the Light Replacer.
-Emagging the light replacer is one way.
-You can add lights to the light replacer to add uses.
-You can unload the trash bag by clicking on it.
-Vodka now heals toxin damage.
-Made light tubes the same price as light bulbs.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4114 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-19 17:03:36 +00:00
johnsonmt88@gmail.com
8063f6dd06 Bugfixes:
Projectiles now last 50 ticks then dissipate. 
- This is to prevent people from firing these into space causing large amounts of projectiles to be processed needlessly.

Re-coded the cremator's cremate(), it should not lock up any more.

Removed a duplicate attackby() in pill bottles. They should now be able to pick up all pills on a tile properly.
- Fixes Issue 490
- Thanks to Zelacks for pointing this out.

Handcuffed mobs who are being dragged by another player can now move when the puller is stunned or paralysed.

Ashes are now decal/cleanable and can be mopped up by janitors

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4103 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-18 04:53:18 +00:00
giacomand@gmail.com
e42419c304 -When a pAI Card is deleted it will now kill the pAI mob inside. This is to stop people from being able to respawn by having their pAI destroyed in a singularity.
-Added a new wire to Cyborgs. The Camera wire allows you to disable the Cyborg's camera. It will show on Security Consoles as "Cyborg-155 (deactivated)". Pulsing it provides you and the Cyborg with a message of the Cyborg's camera focusing loudly. It will also kick anyone who is watching the Cyborg's camera out.

-Traitor Cyborgs, when scrambling their codes, now have a completely disabled camera. It will not show up on Security Consoles at all, even as deactivated.

-Added a new small guide for new Cyborgs. It is similar to the AI's with some more useful information specific to Cyborgs.

-Commented out the old message, it was copy+pasted everywhere.

-Changed RandomBorgWires to not rely on lucking out and landing on a previously unused index.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4089 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-16 16:15:29 +00:00
johnsonmt88@gmail.com
6008c2704e Runtime Condenser!
It condenses hundreds of identical runtimes into one, providing a much more user-friendly list to work off of. It may be poorly coded but it is fully functional. Just copy/paste runtimes into input.txt, run the exe and the condensed runtimes will be in output.txt. 

Bugfix:
Fixed a very-poorly coded proc that could cause infinite loops.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4081 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-16 00:58:45 +00:00
johnsonmt88@gmail.com
54bbcff613 Bugfixes!
Tripled the chance for random events to happen.
- Old: 1% every 5 minutes.
- New: 3% every 5 minutes.

Door bolt clicks are now only heard by people near the door. Fixes Issue 563.

Fixed being able to bypass a windoor construction step.

Chaplains are no longer forced into christianity and can choose their own religion. Fixes Issue 658

Plant-B-Gone:
- It now lists the regents inside when examined. Fixes Issue 656.
- Fixed a typo in the description.

Antagonists are now logged at round end.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4080 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-15 23:31:21 +00:00
ericgfwong@hotmail.com
1212efe4f1 Changed DNA injector logging so it doesn't spam admins unless it's a monkey SE.
It also shows up in the attack log now.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4071 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-14 17:55:16 +00:00
johnsonmt88@gmail.com
8432f2aabe Resisting out of lockers
- Being inside a wrapped locker no longer delete you when you resist out of it. Fixes Issue 596
- Resisting out of a locker now takes longer then 5 seconds

Certain spells can no longer be cast on z2
- 'walk through wall' spells are disabled to prevent people from getting to centcomm
- 'construct turf' spells are disabled because turfs in transit space crash the server

get_contents()
- Now recursively runs through a mobs contents for items and should actually find everything.
- Now take package wrapped items into account.

check_for_contents() now simply calls get_contents() to generate a list instead of using copy/pasted code from get_contents().

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4064 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-14 01:00:22 +00:00
petethegoat@gmail.com
47710d7f24 Fixed a logging issue with stunbatons.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4052 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-12 18:11:18 +00:00
ericgfwong@hotmail.com
d2fc8b2689 Updated message AIs and Cyborgs get when they spawn
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4027 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-10 19:02:03 +00:00
johnsonmt88@gmail.com
8231234a64 Pile of bugfixes
Nodrak:
- Bags of Holding can no longer be brought to the clown planet
- Made a quick new sprite for broken telescreens
- Removed the clusterbang from the HoS safe. It is currently bugged and not in presentable condition, however, someone is working on it. 
- Added a machine check to shift+click. Partial fixes issue 534 (see Zek's stuff for more.) I'm not really sure of a better way to fix this that wouldn't involve a whole pile of coding...
- Cigarettes now evenly distribute chemicals injected into a pack of cigarettes. Partial fix for issue 548 (see Zek's stuff for more.)

Commit for Zekkeit/39kk9t
- The gibber now provides attack logs of who the mob gibbed, or who the mob was gibbed by. How can you tell who a mob was gibbed by when the mob gets destroyed? Well read the next enhancement!
- Attack logs now transfer to the ghost of the mob who dies
- You can no longer survive cold by cooling yourself down before jumping into space. Fixes issue 206.
- Ghost() is now a client proc, not a mob proc. Fixes issue 442
- Fix for issue 493.
- Added a range check to shift+click. Fixes issue 534.
- Cigarette packs are now limited to (15*number of cigarettes) units of reagents. Fixes Issue 548.
- Added organ inaccuracy to guns. This means, for example, that you wont hit the mob's chest with 100% accuracy. You may end up hitting the mob's arm, or head instead. Accuracy is directly related to distance.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4022 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-10 06:10:22 +00:00
elly1989@rocketmail.com
60c7b28274 Resolves issue 499. Blood runes are now totally invisible to AIs.
Created defines for disabilities and sdisabilities bitflags. Thos areas of code really need attention. Why are there so many blind variables/flags D= disability bitflags are located in setup.dm

Handcuff overlays now update when beepsky/ed-209s cuff you.

Resolves issue 628. Took a stab at tidying up handle_regular_hud_updates() for humans. If it's all working perfectly as it appears to be I'll start doing the same for other mobs. Whomever started 'fixing' this and then just abandoned it with redundant and heavily-broken code should be ashamed :[ It was/is in a real sorry state.

Resolves issue 617. Shades can no longer be weakened (stunbatons etc).

Fixed an issue with one of the antag deaf-sting/rune/whatever-it-was-I-forget causing nearsightedness rather than deafness :P


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3985 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-05 07:44:18 +00:00
johnsonmt88@gmail.com
bb901f7583 Mob define cleanup: Part 2
Moved the simple_animal folder into /mob/living.
- Thanks to tortoiseSVN issues, I will have to remove the old simple_animal folder in a second commit.

Moved to living:
- maxHealth
- health
- control_object
- incorporeal_move

Moved to carbon:
- silent
- alien_egg_flag

Moved to human: (human_defines.dm)
- All vars that used to be defined in human.dm
- underwear
- backbag
- miming

Deleted from mob:
- r_epil	//Old var, not used anymore
- r_ch_cou	//Old var, not used anymore
- r_Tourette	//Old var, not used anymore
- spellvoice() 	//Old proc, not used anymore
- get_damage()	//Unused, we have getHealth() that does the same thing

Removed some unticked files that have already been replaced.

This also fixes cyborgs being 'knocked unconscious' by rolling pins and secure breifcases
- Additionally; to knock someone out with a rolling pin you must now be targeting the victims head.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3976 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-03 17:14:49 +00:00
elly1989@rocketmail.com
257f6afdd4 Little name-fix for Pete.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3950 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-29 23:43:35 +00:00
johnsonmt88@gmail.com
80b15df54b ** Mob Define Cleanup: Part 1 **
I'm currently working on moving all of the vars in mob_defines.dm and some procs in mob.dm into more fitting places. For example, ghosts and simple animals can not be cloned, so they do not need a cloneloss var. Cloneloss would be better fitting to /mob/living or even /mob/living/carbon. 

By moving these defines into proper children of /mob we lower the amount of resources that must be set aside every time a mob is created and we lower the amount of data that gets transfered between mobs when we combine, transfer or transform them. In theory, this should help free up some resources and combat lag.

Due to how integrated some of these defines are in the rest of the code, I'm going to be committing this cleanup in small batches. Doing it this way instead of one massive commit means that bugs will be easier to locate and identify. It is also less likely to overwhelm players with bugs, and if it still does, it will make it easier for us to revert only the section that is causing problems. Smaller commits also means merging with existing code will be less of a nightmare and has less potential for merging mistakes.

One of my goals in this cleanup is to add a description to every single variable in mob defines. While some of them are self explanatory, there are some there that are used in horribly obscure ways on top of having no comment to describe their use.

-----------------------

Mob defines moved to living:
- last_special*
- bruteloss
- oxyloss
- toxloss
- fireloss
- cloneloss
- brainloss
- halloss
- hallucination
- hallucinations(list)

*Note: I believe this variable is not needed, but the code it is used in (the resist verb) is cluttered and messy. That chunk of code probably use a re-write. I'll put it on my TODO list and if I survive mob_defines I'll try to get around to it but if anyone wants to do it for me, that would certainly help!

-----------------------

Mob procs moved to living:
- getBruteLoss()
- adjustBruteLoss()
- getOxyLoss()
- adjustOxyLoss()
- setOxyLoss()
- getToxLoss()
- adjustToxLoss()
- setToxLoss()
- getFireLoss()
- adjustFireLoss()
- getCloneLoss()
- adjustCloneLoss()
- setCloneLoss()
- getHalLoss()
- adjustHalLoss()
- setHalLoss()
- getBrainLoss()
- adjustBrainLoss()
- setBrainLoss

Mob procs moved to carbon:
getDNA()
setDNA()

-----------------------

Mob verbs moved to carbon:
- Sleep
- Lay down / Get up

-----------------------

The : operator...

The thing that has been killing me through this whole cleanup is people using or copy/pasting the : operator everywhere. 


*** Please use obj.var_or_procname. Do not use obj:var_or_procname ***


Using obj:procname will not throw a compiler error if obj does not have that specific var or proc. This means that the coder making changes will NOT be informed of an error which will result in a proc failing, potentially being completely unusable and definatly causing a runtime error.

With that said, I fully anticipate that most bugs (if any) caused by this mob define cleanup to be the result of : operators.

I've been replacing many : operators in favour of the . operator as I've been going, most noteably I went out of my way to remove almost every : operator from the 4000+ line Chemistry-Regents.dm
Exceptions:
- Water: Turf and Atmos related vars. I'm not familiar with the members and methods in those class' hierarchy.
- Silicate: because it's commented out and I honestly dont see it returning.
- Thermite: Turf and Atmos related vars.
- Corn Oil: Turf and Atmos related vars.

Final note: While this may be the source of some mob-related bugs, there are two other revisions that have been committed between now and the last time either of the the two tgstation servers have been updated. These revisions both touch mob-related files. I'm not blaming these other revisions for anything, especially since one of them is mine anyway, I'm just listing them here for refrence to help quickly identify any problems.
- My human/life() changes in r3925 
- Carn's life() standardizations in r3933

Stuff unrelated to mob defines:
- Fixed borgs and such being able to go into DNA modifiers.
- Changelog updated and I added Sieve to the list of coders.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3934 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-28 17:06:19 +00:00
elly1989@rocketmail.com
b21a3ed742 Fixes issue 586.
Culprit code:

/obj/item/clothing/gloves/latex/attackby(obj/item/weapon/cable_coil/O as obj, loc)
	if (istype(O) && O.amount==1)
		var/obj/item/latexballon/LB = new
		if (usr.get_inactive_hand()==src)
			usr.before_take_item(src)
			usr.put_in_inactive_hand(LB)
		else
			LB.loc = src.loc
		del(O)
		del(src)
	else
		return ..()

I was going to fix said code but after seeing that BALLOON is spelled incorrectly, that it uses amount == 1, balloons have no in-hand sprite AND don't even have  a desc I decided I shouldn't waste my time when the authorsimply couldn't be bothered. Commented it out.

Runtime fix for:
untime error: Cannot modify null.icon_state.
proc name: insert key pressed (/client/verb/insert_key_pressed)
  source file: mob_movement.dm,84
Cause: AIs don't have intents and stuff.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3911 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-24 09:54:36 +00:00
mport2004@gmail.com
69753b0190 Worked on blob mode a bit
Readded the AM stuff to the dme
Added another explosion edit from Willox


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3903 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-24 00:03:31 +00:00
elly1989@rocketmail.com
48088b79d9 ugh...this was horrible. I'm really sorry if I fucked anything up, I was literally going braindead towards the end.
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
2012-06-23 21:24:45 +00:00
mport2004@gmail.com
c86c8e1505 Finished moving the clothes in defines over to modules.
Several head objects path changed so they are not helmets, head means can fit on your head, helmet was securities helmets, space helmets currently still helmet.
Cult restricted job list now has the sec force + cap because you can’t convert them as is.
AI removed from protected traitor jobs as malf is currently effectively out of commission.
A Protected list was added to changling.
Removed the furry mob files that were not checked.
Moved two unchecked files to unused


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3896 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-23 19:25:01 +00:00
johnsonmt88@gmail.com
ec52b9c032 Moved cyborg upgrade items out of mob code and into item code.
- Item declarations have no place in mob code. MMI and pAI code being the exception.

Removed a cyborg upgrade that made them immune to flashes
- An item that removes one of the very few weaknesses a borg has? No thanks.

Removed mob\living\silicon\robot\robot_defense.dm
- It was an empty file.

Removed uplink.dm and uplink_kits.dm from WorkInProgress
- Duplicate files: they're already in the main chunk of the code.
- They are no longer a work in progress.

Here's hoping I dont break anything with this commit...

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3890 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-23 00:12:27 +00:00
d_h2005@yahoo.com
040d885a9a -Modified effect of blue-space tomatoes somewhat. If they're not strong enough to do anything, they just splat.
-Both Ambrosia forms have had their reagent contents modified to prevent going over the 50-unit cap at high potencies. Fixes issue 469. Ambrosia Deus now contains space drugs instead of poison, as it ended up being more deadly in practice than I intended.
-Drinking milk removes capsaicin from your body~
-Frost oil should hurt less upon consumption.
-Liquid plasma can be converted back into solid plasma sheets, by mixing 20 plasma, 5 iron, and 5 frost oil.
-Pumpkins can be carved with knives now.
-Added additional checks to prevent hydro tray stats from going out of bounds when injected with certain chemicals.
-Added effects for holy water on hydro trays.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3883 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-21 03:16:29 +00:00