Commit Graph

429 Commits

Author SHA1 Message Date
johnsonmt88@gmail.com
1a8fb7c09e Another small chunk of reorganizing objects.
I've cleared out most of the .dm files in code/game/objects/ and put it into appropriate files/folders. The stuff I've left is stuff I believe may conflict with carn's work and some code for stuff that does not have a home yet.

TODO:
- Files that were left in code/game/objects that may conflict with carns work
- Go through all the files in all the subfolders of code/game/objects.
- Move all the defines from /defines/ to their proper spots

Not much right?

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4520 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-22 21:55:46 +00:00
petethegoat@gmail.com
d6f2556945 First part of a fix for issue 818.
Removed some pointless, unused objects. (i'm looking at you, rubber chicken without a sprite)
Added a few new "features"- lighting cigs with igniters, and toggle-able bedsheets.
Slightly improved the cow gib sprite because if I don't commit it now I'll revert it.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4517 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-22 18:56:31 +00:00
johnsonmt88@gmail.com
00a1ff2d97 The changeling's regenerative ability's description now states that you have to use it before you die to help prevent confusion.
A proper fix for teleport data-cards. Instead of just doing player.loc = landmark.loc it now properly uses the teleporter datum. It sets a new 'one time use' variable which means that only one person or object can pass through the teleporter before it looses the coordinates. This is also in place to prevent hand-teles from opening portals to the clown planet.

Players will not really notice any change except that when they insert the clown-coordinates, they must then walk through the teleporter.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4503 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-20 19:44:14 +00:00
baloh.matevz
f392067896 - Reagent code reorganization commit 3 (finalizing everything)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4493 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-18 21:53:47 +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
Kortgstation@gmail.com
e8f4ce561f What did I even do
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4456 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-17 03:12:58 +00:00
Kortgstation@gmail.com
6800f6aaf2 Gave titles to the manuals to stop the incomplete messages when reading them. Which fixes some issue or another but I dunno how to link that so whatever.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4455 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-17 02:53:19 +00:00
johnsonmt88@gmail.com
852b838e4e There were a bunch of boxes that had their own special code when they all do the same thing. So I've merged them into proper storage items.
Boxes affected:
- Donut boxes
- Egg cartons
- Candle packs
- Match boxes
- Snap pop boxes
- Monkey cube boxes

Items I didn't merge:
- Pizza boxes
- Cigarette packs

Pizza boxes are a whole new kind of 'special snowflake code' that is best left the way it is. Cigarette packs involve some stuff I'm unfamiliar with so that can wait until I learn what I need to learn.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4452 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-17 00:35:01 +00:00
giacomand@gmail.com
be76c3afcc Fixed issue 645.
I changed how uplinks worked. Instead of there being a duplicate item which would switch out when it activates, there's an item called "obj/item/device/uplink/hidden". It is a hidden uplink which you can place in any obj/item. In "hidden" is where it will generate menus, check for triggers to show the menu and etc.. No need to switch out with duplicate items or add the menu onto the PDA's notes.

How to create a new uplink item in 3 easy steps!

1. All obj/item 's have a hidden_uplink var. By default it's null. Give the item one with "new(src)", it must be in it's contents. Feel free to add/remove "uses".

2. Code in the triggers. Use check_trigger for this, I recommend closing the item's menu with "usr << browse(null, "window=windowname") if it returns true. The var/value is the value that will be compared with the var/target. If they are equal it will activate the menu.

3. If you want the menu to stay until the users locks his uplink, add an active_uplink_check(mob/user as mob) in your interact/attack_hand proc. Then check if it's true, if true return. This will stop the normal menu appearing and will instead show the uplink menu.

I've given the recharge station's verbs a category so they don't create their own tab.
I've added a mob/proc called put_in_any_hand_if_possible. Name speaks for itself. Returns true if successful, false otherwise.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4450 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 21:57:27 +00:00
petethegoat@gmail.com
0970e6c55d Standardised reagent colour mixing a little bit. Fixes issue 785.
Changed the path of large beakers, so they're actually a subtype of beaker (wtf)

Moved new_year.dm to unused.
Updated Carn's sequential master controller to not have tension stuff, for potential live testing.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4444 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 18:33:34 +00:00
sieve32@gmail.com
f0ed7dc198 -Fixed carp chasing their target around when dead
-Deleted the old /obj/item/weapon/'grenade', there's standardized stuff now, and the old shit doesn't even work. Waste of space, 0/10 would delete again.
-Fixed clusterbangs. Honk

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4426 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 02:06:43 +00:00
baloh.matevz
5a199fc564 I started with the desire to fix issue 634. It sounded like a simple issue, right? Well one complete rewrite of how equipping and stripping works later, this commit fixes issue 645
Code-wide changes: /mob -level procs:
equip_if_possible() is now known as equip_to_slot_or_del() to prevent confusion with equip_to_slot_if_possible() and to better describe what it does.

equip_to_slot_if_possible(item, slot, del_on_fail, disable_warning, redraw_mob)

equip_to_appropriate_slot() is now a /mob - level proc.

equip_to_slot() is an unsafe proc, which just handles the final step of actually getting an item onto the mob. It has no checks of whether it can or can't do that. Use equip_to_slot_if_possible() for that purpose.

New /obj/item -level proc:
/obj/item/proc/mob_can_equip(M as mob, slot, disable_warning = 0)

This proc can be used to determine whehter a mob can pick up an item from the item's side.

Carn, I'll need you to review code/modules/mob/living/carbon/human/inventory.dm to ensure that I'm not redrawing the mob too many times.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4423 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-15 23:15:55 +00:00
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
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
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
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
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
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
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
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
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
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
petethegoat@gmail.com
9831e63ca5 Fixed stunbaton sound. Thanks Pas.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3821 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-14 22:58:53 +00:00