Commit Graph

77 Commits

Author SHA1 Message Date
johnsonmt88@gmail.com
95c6127bea Moved all of the defines/mob into their appropriate modules/mob/ files
Next up, objects! One day we'll be able to click on something in the object tree, and actually end up where all the object code is.

I standardized robot/life.dm while I was at it.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4510 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-22 03:11:46 +00:00
baloh.matevz
dd6288f26a - Removed the changes done to space suits in r4497. They were aimed at fixing Issue 827, which had the symptoms of randomly getting hurt in space while wearing a space suit. Sieve assumed it was due to not having high temperature protection, but it was the opposite.
- The problem was actually down to an ancient bug, which wrongly calculates the temperature of tiles with very little gas on them - tiles exposed to space. Space suits protect down to a temperature of 2.0K, space is 2.7K, which I assumed to be the lowest temperature anywhere. Unfortunately I forgot about this bug at the time, which can cause the gas temperature on tiles with little air to even hit negative kelvins (Nobel prize, plox). This happens relatively often, each floor tile that meets the criteria experiences this about once every 50 ticks and if you're standing on it when it happens, your cold protection will be 0%, because the temperature on the tile will be lower than 2.0K. Everything will be fine in the next tick cold-protection-wise, but your body temperature is already lowered to under the damage threshold by then.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4498 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-19 22:58:17 +00:00
sieve32@gmail.com
307a951566 -Fixed space suits not being space-worthy. This was due to them not having a define for heat protection, which meant you'd roast at the slightest provocation. Made a MAX_HEAT_PROTECTION define for space helmets and space suits, so they can be changed later if needed. Currently, space helmets have the same heat protection as every other helmet, and space suits have the same protection as every other armor (600K for each.)
Fixes Issue 827
-Added a sound to conjure spells for artificers, to provide feedback and be less confusing.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4497 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-19 21:21:24 +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
baloh.matevz
530c5c804a - Yet another issue that needed fixing resulted in the entire system having to be rewritten. Fixes issue 44, Fixes issue 690.
New defines in setup.dm:

This revision changes the following things:
- Hot is no longer defined as 'higher temperature than 310.15K' but is defined as 'higher temperature than my body temperature'. The opposite applies for cold.
- Removed heat_transfer_coefficient and protective_temperature
- Added heat_protection and cold_protection flag variables to obj/item, which define which areas of your body are protected from heat.
- Added max_heat_protection_temperature and min_cold_protection_temperature which define up to which temperature the item protects when worn (NOTE that it only protects on the locations specified by the heat_protection flags!) and down to which temperature it protects from the cold.
- REMEMBER! hot and cold were redefined to mean 'which way your body temperature should be moving based on the air around you'.
- Each tick, your body now 'corrects' your body temperature towards 310.15K which is the ideal temperature. The correction is max( difference/12, 10 ), so either a twelfth of the difference between your body temperature and 310.15K, or 10K, whichever is higher. This ensures your body temperature stabilizes over time.
- Most notable changes in the amount of protection you get from common items are these: Space suits now ONLY protect from cold and fire suits now ONLY protect from heat. Now what this means is obviously that firesuits will be useless in space, but also that if you find yourself in a fire with a high body temperature and you put a firesuit on, your temperature will no longer stagnate at the high temperature, due to temperature not going up nor down, but rather it will get lower. Instead it will be protected from rising, it will however gradually get lowered by your body's 'auto-correct' attempts, as described in the last point. Additionally, if you wear a fire suit and enter an area with a good temperature (for isntance 290K) and you have a high body temperature, due to just escaping from a fire, the fire suit will not make your body temperature stagnate. Because it does not protect you from cold, and cold being defined as 'colder than your body temperature', you will actually successfully cool down to the optimal temperature.
- The opposite applies to space suits. They protect from cold and don't protect from heat. If you find yourself in space and your temperature drops and put on the space suit with your temperature still low, you will recover over time. If you enter an area with a good temperature, you will recover faster, since the space suit does not protect you from heat.
- In short, space suits are now better at dealing with space and fire suits are better at dealing with fires.
- You will NEED a fire helmet to be protected from heat and you will NEED a space suit helmet to be protected from cold. There is no 'but'. Fire helmets are red or white hardhats, found in all fire closets.
- The 'heat up' coefficients are defined in setup.dm, they are:
- - head = 30%
- - lower and upper torso = 15% each = 30%
- - legs and arms = 7.5% each = 30%
- - feet and hands = 2.5% each = 10%
- Gloves cover hands
- Shoes cover feet
- Space-worthy jumpsuits cover legs, arms, upper and lower torso
- Space suits cover legs, arms, hands, feet, upper and lower torso
- Headgear covers heads
- Removed the HEADSPACE and SUITSPACE flags, due to being moved to the new variables. This frees up the flag value 4.
. The amount of damage heated gas and heated areas do can now be set in human/life.dm. The values are: (The different levels are based on breath temperature or body temperature.)

#define HEAT_DAMAGE_LEVEL_1 2
#define HEAT_DAMAGE_LEVEL_2 4
#define HEAT_DAMAGE_LEVEL_3 8

#define COLD_DAMAGE_LEVEL_1 1
#define COLD_DAMAGE_LEVEL_2 2
#define COLD_DAMAGE_LEVEL_3 4

//Note that gas heat damage is only applied once every FOUR ticks.
#define HEAT_GAS_DAMAGE_LEVEL_1 2
#define HEAT_GAS_DAMAGE_LEVEL_2 4
#define HEAT_GAS_DAMAGE_LEVEL_3 8

#define COLD_GAS_DAMAGE_LEVEL_1 1
#define COLD_GAS_DAMAGE_LEVEL_2 2
#define COLD_GAS_DAMAGE_LEVEL_3 4

The speed at which your body temperature raises or falls can be altered with the following defines: 

#define BODYTEMP_AUTORECOVERY_DIVISOR 12 
#define BODYTEMP_AUTORECOVERY_MINIMUM 10
#define BODYTEMP_COLD_DIVISOR 6
#define BODYTEMP_HEAT_DIVISOR 6

The divisors determins by how big a difference between your body temperature and the surrounding air (or 310.15 in the case of autorecovery) will your body temperature change. The autorecovery_minimum means what the minimum recovery is, if difference / 12 is less than 10, it will recover by 10.


Was all this needed to fix Issue 44? Yes..... yes... it was... Some things are consequences of decisions made while fixing it, but all of it was necessary to completely fix the issue. I found it did not remain on the tracker for this long for nothing.

I'm sorry for the essay, but there was a lot of work involved and a lot of changes happened, so I had to write a lot...

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4428 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 02:48:49 +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
e4e7256d66 Fixed issue 777.
Fixed issue 439.

Relating to the 439 fix, added a new define, TEMPERATURE_DAMAGE_COEFFICIENT. The name is slightly misleading, as it is used in reagents that affect body temperature. Leporazine now functions properly, and you can once again into space with a cup of coffee and a firesuit.

Also did a few grammar changes for newscasters.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4392 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-13 13:58:43 +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
baloh.matevz
49f3db9954 - F12 now properly hides the action buttons
- Changed the 'black overlay' you get when paralyzed, blind or in critical condition to include a small circle around you. It still 'blinks' once every 25 seconds or so.
- Added a flag BLOCK_GAS_SMOKE_EFFECT, which can be applied to masks, glasses and hats, which prevent gas smoke, which contains reagents, from having an effect on you. Currently only present for gas masks.
- Dramatically lowered the amount of damage you get per breath while in critical condition. Critical condition now lasts for about 5 minutes if nothing is causing you any additional harm. This in combination with the new black image overlay is an attempt at making doctors more willing to help. For one thing they'll have more time to get to you, for another you will get to see if they murder you before sending you to genetics.
- Added Cheridan's wooden chairs to code
- Added a action_button_name to all items, which defaults to null and contains the text which appears on the action button. If an action button exists, but this variable is not set, the text will default to 'Use [name]', name being the name of the item tied to the button.
- Fixed the problem which resulted in certain glasses types making you keep night vision abilities even after you took them off. 

(Screenshot of black overlay: http://www.kamletos.si/blackimage4.png)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4280 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-02 08:25:34 +00:00
baloh.matevz
e66ec13326 - Increased observer invisibility so robots don't see them.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4248 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-31 13:18:37 +00:00
baloh.matevz
1873aa6607 - Categorized invisibility stuff into #defines. If any errors appear - let me know.
- Hopefully addressed the concerns about the ultra-darkness. Night vision, mesons, thermals and material scanners now make you see through darkness. (Lighting code does not affect you)
- Ghosts get a "toggle darkness" verb, which changes their see_invisibility. When the toggle is enabled, ghosts cannot see other ghosts. This is due to invisibility.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4235 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-30 16:24:45 +00:00
baloh.matevz
db63780bac - Added unban logging to DB_ban
- Fixed a runtime error which happened when you tried to unban someone through the 'display job bans' verb.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4148 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 01:24:54 +00:00
elly1989@rocketmail.com
95245b2905 I'm not sure what I was thinking when I defined that value. It was outside the 16bit width.
Facial disfiguring should work again now.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4145 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-22 21:27:15 +00:00
elly1989@rocketmail.com
65ff691098 Fixed evidence bags so the items inside are now visible even when the bag is inhand (the problem was that overlays += obj uses the object's layer variable rather than the default FLOAT_LAYER. So the hud was appearing over the overlays. Fixed it by using image(obj) to take a snapshot). Changed the overlays to underlays to make them look better. Fixed issue 637 where putting objects in bags which were currently in your inventory did not remove the item from your inventory.
Replaced the obj variable var/see_face. It was used to determine whether something (namely masks/hats) hid your identity. Replaced with the HIDEFACE bitflag for var/flags_inv variable. Moved the var/flags_inv variable from atom/ to obj/item/ as only /obj/item/ can be in your inventory in the first place.

Fixed get_visible_name() so it takes into account any item on the var/head when deciding if your face is obscured. (While I'm at it, just dump a comment here if there's anything that should hide your face which doesn't and I'll add the flag.)

Removed the var/alien_egg_flag variable from mob/living/carbon/ and replaced it with the XENO_HOST bitflag for var/status_flags variable. You can now suicide whilst impregnated with a xeno (since you will chestburst even after death, that restriction is no longer necessary).

Any mob/living descendent can ghost even when not dead. However, ghosting whilst not dead results in the ghost eing unable to return to it's body for the remainder of the round. (It has a warning popup)

The suicide verb can only be used by humans when they can move and are not cuffed. These verbs will be totally replaced very soon with the 'fun' IC suicides I'm working on. Suicide is largely redundant given that anybody can ghost now, just didn't want to jump the gun in removing it.

Known Issues:
We've got var/flags_inv, var/slot_flags which could possibly be merged as they both deal with obj/items, although I'm not sure if we can fit oth into the 16-bit limit. Just something to look into.
There are bitflags GLASSESCOVERSEYES, MASKCOVERSEYES, HEADCOVERSEYES, MASKCOVERSMOUTH, HEADCOVERSMOUTH in the var/flags variable which should really be merged with or moved alongside the very similar flags in var/flags_inv. Comments next to the defines suggest as much.
You can borg dead/clientless brains but can't remove the brain fromt he borg once you realise it's a dud. >.<

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4072 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-14 21:43:54 +00:00
baloh.matevz
ef493f3b51 - Made the number of deciseconds someone has to be inactive to be considered AFK a define (AFK_THRESHOLD) which defaults to 3000ds = 300s = 5m, which is the same as it was before. This is still only used when an admin uses 'adminwho' to tell if admins are AFK.
- send2irc will now only send adminhelps to irc if there are no admins online or if all the admins online are AFK. If will add a "- No admins online" to the end of the message if there are no admins online or a " - All admins AFK (X)" with X being the number of admins currently online.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4038 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-11 17:39:16 +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
elly1989@rocketmail.com
86effe3429 ghosts now have stat=DEAD so certain verbs don't break.
replaced canweaken and canstun variables with status_flags bitfield. Current flags are CANWEAKEN CANSTUN CANPARALYSE. Although you could add stuff like CANDAMAGE, CANBLIND, CANDEAFEN etc. to add additional flexibility to mob code and reduce on duplication.

Added humans_need_surnames as a config option. If when spawning  a human has only one name it will give them a random surname. I'd recommend leaving it on so that people can't name themselves "floor" "Unknown" etc.

totally removed autolowercasing of names (except for first letter) due to people pestering me. inb4 everyone starts CRUISECONTROLLING.

allowed a few characters like @ # etc for when the flag allow_numbers is set. So AIs can use those symbols (numbers and symbols cannot be used as the first character because of syntax.

Added alium nests. They're basically beds that only aliums can use. They are made of sticky resin which aliums secure their prey too for sexytimes.

Weed nodes are no longer dense.

Tidied up some alium verbs so that they are more structured. This will allow me to add Alt-Click neurotoxin shooting for queens and sentinels

Queens can secrete resin now to build nests/walls/membranes (doors to come!)
Drones that evolve into queens when there is already a live Queen will become princesses instead so the hive can tell them how stupid they are for splitting from the will of the hive. It also gives them a number so they can be differentiated between.

Credits to 39kk9t for fixing larva/death.dm, hissing which I forgot to do and some of the alium verbs. You're awesome <3

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3983 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-04 20:53:13 +00:00
baloh.matevz
0007122cff - Added basic ban logging for DB_Ban. First step for the cross-server ban system.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3916 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-25 11:02:52 +00:00
baloh.matevz@gmail.com
9a94312431 - Added spam-prevention code. If someone sends the same message 5 times in a row, they will get the message "You are nearing the spam filter limit for identical messages." If they continue to send the same message (if they send it 10 times in total) they will get an auto-mute for the channel they are sending it through. The number of identical messages which triggers a warning and automute can be configured in setup.dm
- Added channel-specific admin muting. Admins can now mute someone from IC (say, me and whisper), OOC, PRAY, ADMINHELP (adminhelp, admin pm and asay) and DEADCHAT (say while dead and dsay)
- Added a (?) to adminhelps and prayers which displays the same quick overview that all the other (?)-s show, but for the person adminhelping or praying.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3888 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-22 05:54:43 +00:00
baloh.matevz
2091f8b014 - Reduced the max amount of damage high pressure does from 20 to 7.
- Added a flag called STOPSPRESSUREDMAGE. When this flag is applied to headlmets/hats it reduces the amount of pressure a mob feels by 40%, when applied to suits it reduces it by 80%. (The max it can reduce pressure is obviously 100%) These coefficients are defines in setup.dm called PRESSURE_SUIT_REDUCTION_COEFFICIENT and PRESSURE_HEAD_REDUCTION_COEFFICIENT and can be tweaked as needed.
- Added a calculate_affecting_pressure(var/pressure) proc to all mobs which takes in pressure and returns the adjusted pressure which takes into account the clothes they are wearing. Currently used for monkeys (where it just returns pressure, since monkeys can't wear protective clothes) and humans, where it takes into account the stuff on the human's head and suit storage. 
- Somewhat standardized human and monkey life file code.
- Added the pressure stuff to the changelog
- Removed a provocative entry from the changelog by carn.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3829 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-15 06:50:20 +00:00
elly1989@rocketmail.com
ba545bbee9 Added some #undef (undefines) to try speed compile times up a little bit.
Added resources.dm where FILE_DIR can be defined manually. It should speed clean-compiles up by reducing the number of places the compiler searches for resource-files to put in the resource-cache (stuff in ' ' quotes. e.g. icon='human.dmi').

To use manual FILE_DIR defines go to: 
Build > Preferences for tgstation
in dreammaker. Then un-tick "Automatically set FILE_DIR for sub-directories"

It also means you have less crap to clean up in the .dme before every commit C:

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3820 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-14 21:47:45 +00:00
elly1989@rocketmail.com
8961bd96d0 WARNING: This has been thoroughly tested and I'm happy that it's -stable- (it shouldn't runtime). However, it might have a few niggly bugs caused by specific items using no-standard or weird code. Most bugs will be stuff like it not updating overlays and such and can be fixed simply by dropping the item. That being said, if you're not comfortable with this, I'd suggest waiting to update past this revision.
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
2012-06-13 19:03:25 +00:00
elly1989@rocketmail.com
7685c4be25 Fix for Damage Icons. They now have a layer define too.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3705 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-31 10:53:43 +00:00
elly1989@rocketmail.com
1b1ddac33b Changed a bunch of constants to defines and made setup.dm all pretty and easy to read.
Defined some clothing-overlay layers. The defines are float-layers. So they will always appear above the mob they are overlaying. They can be found in setup.dm

This pretty much means you can change to order in which the icons are added to the overlays variable without fear of eyes appearing above glasses and such. So no more of these dumb bugs.
It also paves the way for selective clothing updates which should speed things up a fair bit.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3704 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-31 07:43:25 +00:00
vageyenaman@gmail.com
49647d329a There's a metric assload of stuff here, mostly in preparation to my massive traitor expansion, so I'll try to be brief:
- 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
2012-05-29 03:16:47 +00:00
baloh.matevz@gmail.com
c2c7a3bcda - Variable declaration standardization. Big commit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3671 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-25 19:26:36 +00:00
baloh.matevz@gmail.com
18ccabb33a - Removed support for the ONBACK and ONBELT flags.
- Replaced them with a whole range of inventory slot flags. These now govern whether an item can or can't be placed in a certain inventory slot. See setup.dm for information on the flags. These flags only affect humans tho, as humans are the only beings with an inventory to talk of.
- Standardized some gun code and some other pieces of code as I came accross them. I hate indented variable definitions!

This commit should not bring any change whatsoever to the game from a player's perspective.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3659 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-25 07:38:36 +00:00
petethegoat@gmail.com
f91dfe2e0d Updated the barman's shotgun, it acts like a double-barrel now, and he can saw it off.
Added Khodoque's new shotgun sprites.

Added my new gasmask sprites. Removed emergency gasmasks, as the distinction is non-existent.

Very slightly reshuffled some mask stuff around, but it's still godawful.
Medical masks are now /obj/item/clothing/mask/breath/medical

Removed the define for HALFMASK, as it was completely unused.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3493 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-22 03:18:17 +00:00
baloh.matevz@gmail.com
53e4d8918f - Instead of z-level transition happening when you reach the edge of the map, it will now happen 7 tiles away from the edge. This means that you will no longer see the black edge, transition will likely happen without you even noticing.
- The distance from the edge that defines this is in setup.dm, the variable is called TRANSITIONEDGE and is currently set to 7 (the view range).
- Moved the DJ station a few tiles to the south east to make z-level transition in that area smoother.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3464 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-16 02:12:30 +00:00
VivianFoxfoot@gmail.com
dd4a4a5b7f Minor fixes to the tensioner, changes to the borg deathsquad from 6->3 and fixes their cell
Changes changling unstun time to 45 from 25
Fix for the datumvars file which had spaces instead of tabs
Adds the starts of a rather robust erping system!  In time, we can make SS13 as realistic an ERP simulator as it is an atmos one.
Adds metadata support for clients, mostly to hold ERPing notes.  This is included in the savefile.
Adds code support for a parrot in!  Just needs a sprite
Bugfix to the 'resist' button, unless I don't understand how it works.  I don't see how it could have ever worked before.
Preferences are now attached to a mob



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3386 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-01 15:27:21 +00:00
VivianFoxfoot@gmail.com
e14671e234 Adds Halloss as a damage type weapons can do. Halloss can be healed by sleeping. Halloss now effects the interface more fully.
Adds a holodeck to fitness!  
Tensioner now respects antagonist preferences (Mmph.  More antagonist for me.)
More flailing attempts to fix the tensioner assigning braindead people.  (How?)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3341 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-23 04:39:38 +00:00
baloh.matevz@gmail.com
6b063c487f - MAX_EXPLOSION_RANGE is now a variable instead of a #DEFINE
- Added a link to the secrets panel that allows the changing of the bomb cap to: 14, 16, 20, 28, 56, 128

Bomb cap is calculated:
devestation range = bomb cap * 0.25
high damage = bomb cap * 0.5
low damage = bomb cap
flash = bomb cap * 1.5

so the values for the different levels are: (screenshot)
http://www.kamletos.si/bomb%20cap.png

This function is game admin + game master only.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3169 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-22 02:30:25 +00:00
uporotiy
7c865548c5 Sanity check for facehuggers.
Sanity checks galore for simple_animals (if(list) behaviour seems to have changed lately).
Humans once again get their bodies burned into husks in fire. This only changes their appearance and name now, however, leaving their DNA intact.
WIP space worms.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3140 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-17 19:26:14 +00:00
baloh.matevz
0fa1f3d924 Examining humans is now smarter and displays only the things you can see. Certain outerwear suits and helmets hide other pieces of clothing on you.
A diagram that displays what can hide what:
http://www.kamletos.si/inventory%20visibility%20hierarchy.png

Note that not all suits and helmets hide stuff.

Added this to the changelog.

Technical information:

Renamed gimmick.dm to z_gimmick.dm because whenever I doubleclicked on any piece of clothing in the object tree it always pointed me to some random gimmick item instead of the root definition. Now the file is at the bottom of the folder and so everything else is looked up first.

Created a bitflag variable which is used to determine which piece of clothing hides another. The variable is flags_inv and the flags it contains are:

#define HIDEGLOVES 1		//APPLIES ONLY TO THE EXTERIOR SUIT!!
#define HIDESUITSTORAGE 2	//APPLIES ONLY TO THE EXTERIOR SUIT!!
#define HIDEJUMPSUIT 4		//APPLIES ONLY TO THE EXTERIOR SUIT!!
#define HIDESHOES 8			//APPLIES ONLY TO THE EXTERIOR SUIT!!
#define HIDEMASK 1			//APPLIES ONLY TO HELMETS!!
#define HIDEEARS 2			//APPLIES ONLY TO HELMETS!!
#define HIDEEYES 4			//APPLIES ONLY TO HELMETS!!

The first 4 only apply to exterior suits and the last 3 only to helmets, so they can use the same numbers. 

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3031 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-04 20:09:46 +00:00
VivianFoxfoot@gmail.com
7ffdec48bf Fixes fire extinguishers in space, removes empty hand requirement, which wasn't supposed to be committed. My bad.
Adds the ability for door buttons to both close the doors they're attached to, and also a framework for controlling their other functions like idscan/bolts.
Adds a secure safe to the HoS's office and a new flashbang grenade!  
Secure safes can now hold 8 weight units of stuff by default.  
Adds a reply function to the comm. console prayers as well as a confirmation button on BSA.  


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2946 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-13 02:15:22 +00:00
VivianFoxfoot@gmail.com
8730d375cf Adds a new special object (stop) that can be used when you need someone to stop moving right away, even before the next life(). Used in door crushing to prevent people from inertiaing through. Checks for /obj/special/stop in loc every move. Compared to the number of other checks, I don't expect this to be an undo burden, but can be commented out in case of OH SHIT LAG under heavy load.
Moves /area/entered to its own file.  
Adds a new area var called has_gravity.  Determines if floor tiles count for movement control (planning on adding more, currently can only be badmined)
Adds a new mob var called lastarea that is updated with the area you're in every time /area/entered is called. 

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2917 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-06 06:24:55 +00:00
VivianFoxfoot@gmail.com
05556d4030 Increases door damage to 10 again (with Musket's permission). Going to see where that takes us.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2904 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-02 22:40:34 +00:00
mport2004@gmail.com
3dcdccbd81 Added a limit to the Entered loop.
Doors will only check for the presence of a mob rather than looping though all of them and  will play a sound rather than message when it does find one.
Door damage lowered to 5 with Urist's permission, you have a chance to get someone to help you before you are crushed to death now.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2902 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-02 20:03:01 +00:00
VivianFoxfoot@gmail.com
25d107d9e2 Decreases door crush damage to 20
Now adds blood on the floor where someone was crushed.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2900 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-02 09:39:48 +00:00
VivianFoxfoot@gmail.com
bf56fc6e99 Doors no longer close if there is a mob in the tile, a door can be hacked/AI overriden to close anyways and injure that mob as well as knock them down so they can be crushed again and again until they stop moving. (Currently: 35 brute and knockdown.)
The server master log now records attacks / emotes / PDA messages, as well as timestamping.  

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2899 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-02 08:42:44 +00:00
VivianFoxfoot@gmail.com
a2c78cbbd0 Fixes a mixup with the low pressure light.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2866 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-30 15:06:14 +00:00
VivianFoxfoot@gmail.com
3d952af665 Adds a pressure indicator to the HUD. Decreases the pressure required for damage to occur to 750, added stepping damage.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2861 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-30 07:51:42 +00:00
uporotiy
4764cdc990 Aliens:
Reworked the code to use a new "plasma" var instead of toxloss for their powers.
Facehuggers are now active for 30 to 60 instead of 3 to 5 seconds.
Aliens can see whether facehuggers are active without needing to examine them.
Changelings:
Ranged sting is now 2 squares-ranged instead of 3 squares.
Space:
Reverted the randomly accessible z-levels back to how they were (derelict and ai sat).

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2627 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-06 08:30:03 +00:00
baloh.matevz
962919f6e0 - Added the ability to communications computers to switch between the blue and green security levels. I wanna make a super special way to get to the red level, which involves the turning of multiple keys (id cards) in multiple areas :)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2615 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-04 20:32:30 +00:00
baloh.matevz
bcda8f9a28 - More work on the new click proc. Added a 1s delay for all hand interactions:
- 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
2011-10-29 18:00:05 +00:00
mport2004@gmail.com
9ca449bf7a New WIP TK system added. To activate your TK click the throw button with an empty hand. This will bring up a tkgrab item. Click on a non-anchored (currently) non mob Object to select it as your "focus". Once a focus is selected so long as you are in range of the focus you can now click somewhere to throw the focus at the target. To quit using TK just drop the tkgrab item.
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
2011-10-27 08:37:40 +00:00
uporotiy
2383130a28 Shhhhhhh.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2402 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-20 17:39:08 +00:00
vageyenaman@gmail.com
f1616814a5 Bugfix for some clothing making your hair disappear.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2372 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-16 04:03:05 +00:00
vageyenaman@gmail.com
3b40c90488 ◦ 2 new hairstyles, 1 new beard style. Includes the luxurious ADAM JENSEN beard/hair set. YOU NEVER ASKED FOR THIS.
◦ As a result of the previous change, a substantial overhaul of the order in which clothing and hairs are displayed has been put into effect. From what I've playtested, it works mostly fine. Keep an eye out for small little oddities, though.

◦ Masks and head wear have been given a new flag, BLOCKHAIR. If turned on, this flag will force to the hair to not display. Intended for space suits, rig helmets, etc.

◦ (Committed for Zudrag) Added in the circuit boards for clone pods and cloning scanners and making them produceable from the circuit imprinter.




git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2368 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-15 22:12:06 +00:00
mport2004@gmail.com
46a7143e3a Energy projectiles work again.
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
2011-10-11 07:52:30 +00:00