Commit Graph

854 Commits

Author SHA1 Message Date
elly1989@rocketmail.com
3941c9b86c Standardised the handle_regular_status_updates() procs for alien hunter, queen and sentinel. They were just copypasta so I fixed the updatehealth() procs and removed the unneeded code.
Removed the invisibility verb for hunters. They now cloak when using stalk intent instead. :3 rawr

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3935 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-28 17:37:42 +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
ea333ff216 Ugh another big 'Carn broke everything' commit.
Tried to standardise the (confusing as all hell) handle_regular_status_updates() procs for monkeys alien/humanoid, alien/larva, brains and humans.

Removed clamp_values as per Rockdtben's request.

Hopefully this should make those procs a lot easier to read and work with as well as reduce the number of calculations done every call.

Admin's rejuvinate verb cures disabilities, sdisabilities and sight/hearing.

Xenos can actually use their sleeping icon properly now.

If I've broken anything let me know directly and I'll have it fixed/reverted within 24 hours.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3933 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-27 19:47:17 +00:00
elly1989@rocketmail.com
1cd5085a0f Fix for update_inv_l_hand() and update_inv_r_hand(). Forgot to uncomment these again after testing in a previous commit. :/
Thanks Nodrak

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3932 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-27 18:58:37 +00:00
johnsonmt88@gmail.com
db89a2aefb Viruses no longer re-infect people who have been vaccinated or otherwise cured.
Chameleon projectors no longer let you move freely in space.
- I realize the way I fixed this is terrible, but the whole relaymove() proc in chameleon projectors is terrible. I was unable to rewrite it without breaking it completely so this fix will have to do.

Runtime fix for facehuggers having a null target (the mob they're attacking.)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3930 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-27 17:05:27 +00:00
baloh.matevz
9f3005255c - Renamed the obj/hud other_update() proc to hidden_inventory_update()
- Renamed the obj/hud show_otherinventory var to inventory_shown
- Added the F12 hotkey which hides most of the UI except for the intent switcher, hands, health indicator, damage indicators and the other pop-in indicators on the right. The proc is called /mob/verb/button_pressed_F12(), the verb abbreviation is "F12" and it's hidden, so it won't show in the info panel. This currently only works for human mobs.

Screenshot:
http://www.kamletos.si/minimal%20UI.png

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3926 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-27 08:13:23 +00:00
johnsonmt88@gmail.com
da5bfd3b0f Setting people's criminal status via SecHUDs now require the user to be alive, and to actually be wearing the HUD.
Set the solar control computers to 'off' by default since you have to set them off then back on again to get them working properly anyway.

Fixed a typo in glass/attackby() causing lit-glass tiles to not be created. Fixes issue 593

Moved certain procs in human/life.dm() into an if(stat != DEAD). This means that certain procs will update only if the mob is alive.
Affected procs:
- handle_virus_updates()
- handle_changeling()
- handle_mutations_and_radiation()
- handle_chemicals_in_body()
- handle_disabilities()
- handle_random_events() 
- update_canmove() 
- - If dead, it forces mob.canmove to 0, meaning you don't get to be the walking dead.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3925 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-27 06:16:31 +00:00
elly1989@rocketmail.com
5d3c6a9259 Please stop committing all the #define FILE_DIR stuff every commit. Dreammaker updates it automatically anyway. Just remove that section prior to commit.
Added some WIP master controller alternatives. Located in code/WorkInProgress/carn They should stop the MC doubling up and smooth the lagspikes over a little bit (depending on how they are set up). They need a bit of work still, but are functional. Just untick code/game/master_controller.dm and tick the version you want to try out.

Committing Giacom's pai remote-signaller code.

Minor map fix for Travis (extra grille NE corner of atmos)

Added a debug tool that prints powernets into a text-based map.

Fixed a runtime that occurred everytime somebody cut a laid cable. It was updating the power networks twice each time >_>

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3920 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-26 01:47:40 +00:00
mport2004@gmail.com
88c867ea25 Fixed a supply shuttle runtime due to the stamping missing a null check.
Added a null check to cleanbots and new player preferences.
Did a bit of blob and antimatter work.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3919 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-26 01:20:19 +00:00
baloh.matevz
159ff955a6 - Fixed the old iconset's equip button fitting a million batons into your suit storage slot.
- Fixed aliens not being able to tell which hand they have selected

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3913 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-24 14:27:58 +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
elly1989@rocketmail.com
65a84484cf Removed a debug message.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3909 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-24 09:01:17 +00:00
elly1989@rocketmail.com
4f910f122f Runtime fix for db_click when clicking the mask inventory slot with an empty hand. This proc will get rewritten anyway (when I've gathered enough courage and/or vodka :3)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3907 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-24 07:28:42 +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
baloh.matevz
ffbed502f1 - Added a privacy poll to the startup process (feedback database needs to be set up for it to show up.). The intention of this poll is to get a general playerbase opinion on whether player-specific data should be gathered to help with statistics as well as to allow in-game polls.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3894 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-23 15:10:18 +00:00
daniel.cf.hultgren@gmail.com
0b41114584 * Fixed antag randomizing
* Reworked job randomizing
* Added some user feedback to recharger
* Added a new preference setting in job preferences. This setting will make you get a random job if your picked occupations were already filled. This defaults to on to make less graypride.
* Updated changelog

I have tested the new job randomizing with friends and it works good, not sure about large scale however. Feel free to revert this change if it fucks up everything. (and notify me of problems)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3893 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-23 13:07:50 +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
ericgfwong@hotmail.com
26e693fc00 Instead of circular saws, medborgs get Polyacid sprayers when emagged
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3889 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-22 22:03:22 +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
mport2004@gmail.com
14a0337b37 The machinery powered proc once again uses the argument.
power_change() now defaults to using the machines power_channel
Moved the remaining machinery power defines into the proper files 

Added code for a basic Antimatter Engine.
It is currently made up of a control unit and several shield objects.
The shield objects must have a patch through other shield objects or be directly touching the control unit.  If they are unable to find one they will be del’d.
The control unit needs to be given an antimatter containment jar for fuel before it will properly startup.
A core is created when a shield object detects it has shields/control unit surrounding it.
You can safely inject double the number of cores worth of fuel.
Getting blown up, getting hit by the blob, getting hit with high force items, getting shot, being fed too much fuel will all end up lowering the stability of the reactor parts and once the stability gets to 0 it will either break or, if currently processing some fuel, explode.
I’ve tested the parts several times and nothing seemed to go wrong, the sprites suck but that is to be expected. 


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3881 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-20 23:50:30 +00:00
johnsonmt88@gmail.com
c6a55b6427 Borgs and AI's
- No longer able to be cultists because their objectives completely contradicts robotic laws. Fixes issue 510.
- No longer able to be revolutionaries.
- - There was existing code for this already, but it should function properly now.
- - It now takes into account admin's borging players.

pAI's can no longer see revolutionaries or cultists.
- pAI's get a brand new mind instead of wiping their previous antag status.
- This way it prevents players exploiting the cult/rev hud icons and it does not affect the end-round scores and statistics.

Piano's 'repeat' has a limit of 10.
- This will stop byond from thinking playsong() is an infinite loop and crashing the server.
- Added a check so that players can not bypass the limit without stopping the song first.
- 10 is just an arbitrary number I chose, feel free to change it but keep it within reason... and byond's limits.

Fixed a bunch of 'emergancy' misspellings.
- Commit log worthy material right here.

Fixed a bunch of 'emergancy' misspellings.
- Commit log worthy material right here.

Changelog updated.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3878 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-20 17:06:33 +00:00
petethegoat@gmail.com
f321bcc914 Fixes for my last commit:
Removed the AM engine code. This should be temporary.
Moved asteroid/device.dm to unused.
Readded biomass.dmi


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3876 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-20 12:41:11 +00:00
sieve32@gmail.com
834b9f98d1 TIME FOR CONTENT
-New item, the Sheet Snatcher. Picks up mineral sheets (Excluding wood and sandstone, since they aren't 'sheets' per se). Standard one holds up to 300 sheets, minerborgs get 500. Will hold any combination of sheets, and auto-stacks them when emptied, works similarly to the ore satchels
-Mech drills can mine sand, with diamond drills getting an extended volume
-Mech Diamond Drills will drill through rwalls again, but it is pretty slow, sometimes taking 5-6 tries just to get the plating off
-Mining Ripleys no longer runtime to hell when the status panel is opened
-Fixes Issue 572, now when floors are created, they assimilate air from nearby tiles, so if it's in space, there will be no air, etc...
-Bumping an asteroid wall as a human or borg with a pickaxe in your hand will make you automattically start mining the wall, feels MUCH faster due to ignoring click_delay()
-Miner borgs with the satchel in their active modules will automatically scoop up the ores
-Clicking an asteroid turf with the satchel will function just as if you clicked on an ore (if any are present)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3867 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-19 02:46:29 +00:00
ericgfwong@hotmail.com
850abafb33 -Fixed up Telecoms turrets. Readded stun turrets.
-New afro hairstyles. Big Afro by Intigracy.
-Prettier ponytail sprites by Intigracy.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3859 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-18 11:36:02 +00:00
elly1989@rocketmail.com
9fd4e8cc70 Here's the new files.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3857 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-18 09:51:56 +00:00
elly1989@rocketmail.com
8d68054724 Moving some inventory/equipping related stuff into separate files whilst I tidy up and reorganise them.
Removed some Geas stuff that didn't do anything.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3856 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-18 09:48:13 +00:00
elly1989@rocketmail.com
3cbd05ddef Changed circledistance a bit, talk about ambiguous proc-names...it has nothing to do with circles! It's now called approx_dist and uses some magic constants to avoid those god-awful sqrts and powers which were called for N^2 turfs during explosions. It should approximate the distance between two points fairly accurately using a (surprisingly accurate) linear approximation of pythagoras theorem. C:
Changed RoundExplosions to a temporary define named USE_CIRCULAR_EXPLOSIONS which is a lot more intuitive and less confusing. Removing this define will compile square explosions code instead of circular ones. (So the cost of having a choice between circular/square is seen at compile-time not at run-time)

Fixed aliums being able to pick up storage objects such as bags/boxes/pillboxes and such.

Fixed unbuckling yourself from beds (via clicking the bed). You can also unbuckle yourself via resisting because beds are hard to click on when you're lying on them and they're covered in a sheet.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3854 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-18 07:37:50 +00:00
ericgfwong@hotmail.com
361e829e96 -CO2 Jetpacks now spawn with distribute_pressure 0
-Tanks in your suit storage, belt, and pockets take priority over tanks on your back when using the internals button on the HUD
-Added an extra set of vents and scrubbers to the prison wing

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3841 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-16 10:17:36 +00:00
vageyenaman@gmail.com
449610bee2 Committing a patch for Giacom. See details here:
http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=9018

Also some very small metroid changes to make them more balanced and less KILL KILL KILL.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3839 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-16 06:11:14 +00:00
ericgfwong@hotmail.com
fa0a3efa34 Ported over a couple of very nice ponytail sprites from Baystation
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3838 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-16 05:09:13 +00:00
elly1989@rocketmail.com
e517e27554 This commit is a load of pants.
Credits to PowerfulStation devs for a few of the sprites which are not made by myself. Credits to Cheridan for the kinky stuff.

Minor runtime fix where target was becoming null...somehow.

Moved unused dmis into the icons/unused directory. They won't even be searched through if you are using resources.dm and have 'dream-maker > build > preferences > Automatically set FILE_DIR' off.
Should save a megabyte or two from the resourcefile.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3835 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-15 23:16:05 +00:00
baloh.matevz
dfcb1ffdb7 - Looks like I failed to properly update one of the files before commit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3830 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-15 09:38:18 +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
1b6b13b6b4 Quick fix for resisting out of cuffs
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3827 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-15 06:10:35 +00:00
elly1989@rocketmail.com
5b76469b98 First update for update_icons stuffs:
Fixed husking and fatties
Fixed floor tiles still appearing in hand when laying them
Fixed a possible runtime with FAT people

Fixes for pre-existing bugs:
Fixed being unable to put belts & backpacks on other people
Tweaked the damage procs a bit. Mainly adding in sanity checks to prevent negative damage and such. A few optimisations here and there.
Fixed ratios for brute-burn damage being applied to organs simultaneously
nodamage==1 now prevents all organ damage. It does not stop healing however.
In-line with the sanity stuff mentioned above, clamp-values for brute/burn were removed as requested by Rockdtben


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3825 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-15 04:11:14 +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
34cb1473bf Removed some damage-overlay updates from apply_effect(). It doesn't need to be there.
All credits to Pete for spotting this.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3819 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-14 20:35:20 +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
baloh.matevz
b6a6b8614d - Added Cheri's lizard and monkey pelt sprites for tanning
- Added a 'time between ticks' status display for admins as well as this being calculated.
- Made the malf countdown take this into account. Now if you hacked 3 APCs, which means you'd normally have your points reduced by 0.5 per tick, you get it reduced by 0.5 * last_tick_duration

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3807 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-12 23:13:37 +00:00
baloh.matevz
2296cfd331 - Full revert of r3803, approved by project leads.
r3803:
- Contained many bugs, first of which was that it didn't really... work.
- Split the HUD and code into separate objects, thus creating a fork in code. This implies that any changes need to be mirrored on the fork objects, thus doubling the amount of code maintenance we have to do.
- The UI should be one of the most standardized things around. Giving choices here is bad design practice.
- Double the amount of defines does not equal to double the amount of fun.
- The revision does not adhere to our coding standard. See the changes to  /trunk/code/modules/mob/hud.dm in r3803 as an example.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3804 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-12 12:31:14 +00:00
mport2004@gmail.com
91a4708544 The old style UI can now be selected via the player preferences before you join a round.
The hud object has been moved to modules and now has two children, slim and retro.



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3803 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-12 09:16:30 +00:00
baloh.matevz
02474a04e0 - Forgot to remove some world << "" debug outputs. Removed them now.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3801 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-12 04:48:40 +00:00
johnsonmt88@gmail.com
3ae7acf8f2 Committed for Sieve:
Fixed an error in door_assembly.dm regarding glass doors not getting sprites.

Cleaned up astroid floor code.
-Bombing astroid floors (sand) will now 'dig' up sand.

TK users no longer get shocked while bashing grilles using TK.
- Range check on grille shocking. Fixes Issue 419.

Added to the lighting checks for Plantmen. They should no longer starve on the shuttle. Fixes Issue 471.

Bombs now affect people inside lockers. Fixes issue 208.
- Modified Sieve's original change so that the contents of the locker get severity+1. Meaning a weaker severity meaning the locker offers some protection.

Vending machines and mass driver buttons now leave fingerprints. Fixing issue 542.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3800 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-12 04:45:38 +00:00
baloh.matevz
0f457ae7fc - Added the leather sprites by Cheri.
- Making single pane windows now makes them in the direction you're facing. If a window already exists in that direction it makes it 90 degrees to your left, if one exists there too, then another 90 degrees, etc.
- The resist verb and UI button can now be used to escape from welded or locked lockers. It takes the standard 2 minutes to get out of a locker. If this is a secure locker, the locker is broken in the process (same effects as if an emag was used on it).

Added the window thing and resist thing to the changelog. Leather still not available ingame.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3799 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-12 04:36:08 +00:00
johnsonmt88@gmail.com
6db801b2f1 Renamed 'Secruity Barriers" to "Security Barriers"
Fixed plastic flaps not letting small creatures pass (An if-statement was partly backwards)

Re-added the teleporter circut board to secure tech storage.
- I think someone accidentally replaced it with a duplicate cyboard upload at some point.

Lowered the chance for Perriot's Throat to HONK words.
- Max chance before was 4*20% chance now it's 4*12%

Perriot's throat will no longer HONK words when you're dead so that deadchat is spared.

Portable flashers no longer ignore certain eye protection. Fixes issue 535.
- They now use the mob's eyecheck() proc instead of using its own out-of-date proc

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3788 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-11 01:04:11 +00:00
baloh.matevz
da06918446 - Removed the "Traitor (XY) has died." admin message. This was important in days of yore when there was only one traitor, so the traitor dying meant no more antagonists, but it is now just metagame information which unwillingly reveals the game mode to admins without actually providing any useful information.
- Fixed a problem where the adminhelp parser would give a "adminname attempted to override the admin panel!" when clicking the links in (?)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3785 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-10 15:41:15 +00:00
baloh.matevz
10b29f5265 - The adminhelp sound is now a character setup option for admins of any rank.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3784 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-10 11:02:34 +00:00
baloh.matevz
2781da8d5b - Added basic heavy-duty cables, they cannot be destroyed with wirecutters, unfortunately they currently cannot be created either. Not present anywhere on the map yet.
- Fixed a bug with masks, which did not follow the equipment rules of the SLOT_MASK flag.
- Fixed a problem where monkeys could not equip a backpack.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3774 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-09 13:57:10 +00:00