Commit Graph

36 Commits

Author SHA1 Message Date
phil235
b482764a19 - I made human/handle_blood() less shitty.
- We no longer leave a blood trail if blood_volume is below a certain level which depends on the brute damage received. This way dragging a wounded player does have a bad effect.
- We no longer give humans a second reagents var containing blood, and we don't put exotic blood in the mob's reagents. Now we don't store any blood substance inside the mob, we only have a blood_volume var. When we draw blood with syringe we create the reagent that match the type (blood reagent, or an exotic blood reagent)
- can't draw blood from mob if it's low on blood, so we can't empty a mob of its blood entirely.
- Removed the blood type preference appearing in character setting.
- blood pack automatically show blood type, unless manually labeled.
- removed bloody_hands_mob human var and same name glove var.
- Some animals now have blood (pets, goat, cows)
- hitting and dragging mobs with actual blood in their veins leaves blood on you and a trail on the floor.
- probably other stuff that I'll mention in the PR.
2016-06-04 17:33:16 +02:00
phil235
ee897f2ed9 A player can change identity. First and Last touch should both register the real name. 2016-05-13 17:34:34 +02:00
phil235
42e259d925 Changes how hidden fingerprints (for admin use) work.
Old system:
If the player is not the last person to touch the object, we add a new line to the hiddenfingerprints list
with key, real name, whether the mob has gloves, and time stamp.

Issues: If only one player touches the object then you only know about the first time they touched it. It's
not completely spam proof, two players touching the object alternatively can make the list as big as they
want.

New system:
Each player touching an object is attributed one line in the hiddenfingerprints list. The line
shows the player key, real name, and time stamp for both first and last time touched, and whether wearing gloves for both.

Issues: The list can become relatively big if many different players touch the same object (but not infinite).

If multiple players touch the object alternatively, you get more info with the old system. If one player is
the only one touching the object and does so multiple times, then you get more info with the new system.
2016-05-13 17:19:07 +02:00
phil235
f90ee4aa8c - Fixed monkey starting with no dna.
- Fixed bugs with monkeyize/humanize: 7803 (humanized monkey nobloodtype)
- Fixes 9298 monkeyed ling have troubles humanizing themself (already fixed?)
- Fixes despawning clothes when monkeyizing. 11855
- Replaced check_dna_integrity proc by simpler has_dna proc when required.
- created set_species() proc
- fixed space retrovirus not transfering SE (despite having a domutcheck()). Still need to check if it needs a name = real_name.
- I renamed mecha/var/dna to dna_lock to avoid confusion
- I renamed an armor var in a species proc to armor_block to avoid confusion with species/var/armor.
- I removed many if(dna) checks in lots of files.
- I removed duplicate defense procs between human/proc/X and dna.species/proc/X since dna is now always set.
- Anatomic panacea from changeling removes alien embryo correctly. 6247
- Fixes runtime when trying to put dna-less brain mmi into a dnalocked mech.
- Removed carbon/var/list/features, we now only have dna.features and prefs.features
- Remove hulk mutation from lizards and other species (Fixed 6413); only real humans can acquire hulk. (less work on sprites for each ones, fixes lizard tail not in hulk color)
- Fixes cloning not setting up correctly dna UE and dna.real_name
- I fixed the issue with sucked+cloned ling being unable to absorb
- I fixed issue with changeling proc checking if they have the dna already not working.
- Fixed 4095, low health hulk with DAA getting stuck in loop of acquiring/losing hulk.
- I added a second layer for mutations to differientate mutations that go below and above the body layer (Fixes 7858)
- Fixes 10048, the transform to initial appearence button was fucking up the dna.

- Fixes cloning not setting up correctly dna UE and dna.real_name
- Fixed the issue with sucked+cloned ling being unable to absorb
- Fixed issue with changeling proc checking if they have the dna already not working.
- Fixed 4095, low health hulk with DAA getting stuck in loop of acquiring/losing hulk.
- Added a second layer for mutations to differientate mutations that go below and above the body layer (Fixes 7858)
- Fixes 10048, the transform to initial appearence button was fucking up the dna.
2015-09-19 22:18:28 +02:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
Firecage
f79e0fc1aa Updates more paths, for example obj/stuff to /obj/stuff 2015-05-31 17:48:33 +02:00
paprka
3b00fa9cfa cargonia strong! 2014-08-07 05:51:27 -07:00
Aranclanos
169a61b026 Makes fingerprintslast use ckey instead of key
Cleans a bit the prime() code, large grenades won't be a huge copypaste anymore
Asay logs will now show up when the grenade is activated instead of used. Only when The grenade is activated by an assembly.
New proc, get_mob_by_ckey(). Give it a ckey and it will return a mob.
2014-04-21 10:57:56 -03:00
Giacomand
86d4d5307a You can now properly clean your hands of blood. Fixes #2258.
When you touch an item, to spread the blood, it would take the "bloody_hands" to 0; which is checked if true while you wash your hands. I limited it to only go down to 1, so it will still be true unless you wash your hands.
Fixed an issue where blood_DNA was being cleared before the blood_hands variable was being set to 0. Now you can properly hide your bloody hands with gloves and when you take them off the hands will still be bloody.
Removed an unused variable.
Set the bloody_hands_mob to null where it was appropriate.
The amount of blood you can transfer to other items, when you touch them, will be a little random for variety.
Revive() will now heal your hallos damage.
2014-01-22 17:42:36 +00:00
Cheridan
bb9c09df46 Obsoletes flags = FPRINT | TABLEPASS*
*TABLEPASS was already totally obsolete.
FPRINT was used, but it was on virtually everything anyway.

Removes those flags from every instance where they were used. Also assigned and removed other flags where it made sense.

If it is desired, I can revive the flag as NOFPRINT, which would retain the original functionality, though inverted. That way it would be be used only  where it was intentional (holodeck items could use this for example).
2013-12-30 15:03:17 -06:00
Miauw
0338a66c2a Adds fingerprints to a bunch of stuff. De-texts computer build paths. 2013-12-22 18:57:33 +01:00
AlexanderUlanH
cb2c8543f2 Fixed a Fingerprint Runtime
Typos, whoo.
2013-10-16 17:02:49 -04:00
carnie
043028db83 Resolves #283
DNA modification uses normally distributed random numbers. Radiation strength dictates the standard deviation of the change in the hex character which is hit (higher output means greater chance for a large change) . Similarly, radiation duration dictates how likely we are to hit the hex-character we clicked on (longer duration means more likely to hit). Irradiation is strength*duration. All balancing is done via multiplier defines so you can rebalance it easily.

DNA blocks and structuring all use defines. Making modification/expansion easier. I'll likely expand this into a datum-based system to allow more interesting features, reduce code further and allow admins to interact with the way dna strings behave.

DNA strings can be spliced together using merge_text().
 e.g. string 1: "Hello World"
 string 2: "Seeya______"
 result: "Seeya World"
 This isn't used except for admin-spawnable SE injectors at the moment.

r_hair, g_hair, b_hair, r_facial, g_facial, b_facial, r_eyes, g_eyes, b_eyes were removed and made into 3 short hex-colors.

Skin tones now support colours other than shades of brown. I've had to restrict it heavily until other stuff is done. Skin tones include Albino Caucasian, Oriental, Mediterranean, etc.

Data disks and DNA injectors were reworked to use associative lists so transferring data is just a matter of doing list.Copy()

var/dna is now defined at /mob/living/carbon level. Only monkeys and humans may have dna currently. Support is there for all carbon-based lifeforms to have dna.

DNA modifier console has almost all controls on one screen.

UIs and UEs can be injected separately (appearance and name, respectively)

dna helper procs like ready_dna() and such were changed to make them more versatile. There is now a hardset_dna() proc as an alternative to ready_dna which can initialize dna with properties passed into it or update an existing dna string (useful for cloning and antag spawning)

Every block of SEs are in randomised positions.

Disabled automatic logging of world.log, as it produced undesirable behaviour.

Mr Muggles and God Emperor of Mankind disks removed.

Floor() removed. (it was completely uneccesary, that is what round() is).

Fixed spelling mistakes in modularchangling.dm (thanks tenebrosity)

Tanning removed from beaches (again)

Experimental: monkeys and humans do not have dna until first attempt to read dna (using check_dna_integrity(mob))
This is mainly due to the way everything is hardcoded into New().

Changelog.html updated
Signed-off-by: carnie <elly1989@rocketmail.com>
2013-04-24 09:37:30 +01:00
petethegoat@gmail.com
786242f9b2 Big text styling overhaul. Mostly affects reagent related stuff.
Adds a new 'userdanger' class, which is bold and red. 'danger' is now just red. Adjusts all dangerous messages I could think of to use the appropriate class.

Trash items can now be washed away in sinks.

Removes the robodropper, on account of it being awful. Borgs get a normal dropper instead.

Changes the probability of blood spatter from attacking someone from 33 to item.force * 2

Path changes:
/obj/item/weapon/reagent_containers/ld50_syringe > /obj/item/weapon/reagent_containers/syringe/lethal
/obj/item/weapon/reagent_containers/ld50_syringe/choral > /obj/item/weapon/reagent_containers/syringe/lethal/choral
possibly some others? i think this is it.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5815 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-06 17:44:49 +00:00
giacomand@gmail.com
a3b74c9d2b - Multiple runtime fixes.
- Moved some fingerprint procs to detective_work.dm.
 - Removed some unnecessary del() usage in the detective code.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5800 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-02 01:19:02 +00:00
petethegoat@gmail.com
7c9eff11cb Fixed and improved the get_accessible_location() proc.
Fixed some (wrong) magic numbers in detective_work.dm.
Updated body_parts_covered on all suits. 

Changed defines:
UPPER_TORSO > CHEST
LOWER_TORSO > GROIN
THERMAL_PROTECTION_UPPER_TORSO > THERMAL_PROTECTION_CHEST
THERMAL_PROTECTION_LOWER_TORSO > THERMAL_PROTECTION_GROIN

Changed paths:
/obj/item/clothing/suit/armor/det_suit > /obj/item/clothing/suit/armor/vest/det_suit


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5751 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-21 00:53:45 +00:00
giacomand@gmail.com
f1d24f27f9 Simplified Detective.
-Changed the focus from the high-res scanner to the regular scanner. It will simply scan the fingerprints and display them to the detective. For extra functionality, it'll store it's findings in a log and then you can print it out in a report by using attack_self().

-Detectives can now use the medical computer.
-Removed the pda forensic scanning functionality.
-Got rid of now useless high-res scanner computer. Got rid of the now useless fingerprint cards.
-Added a medical computer to the detective's office and replaced the useless medical cabinet with an empty one.

Other

-Got rid of diseases magically moving down a stage.
-Optimized playsound()
-Added an attack_self() to sprayers so that you can change the reagent use of them between 5 and 10.




git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5168 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-23 00:39:18 +00:00
petethegoat@gmail.com
0c9195fbe4 Fixes issue 1097. Shaft Miners not getting pda
Fixes issue 1118. duplicating trashbags
Fixes issue 1117. evidence bag issues

Syndie shuttle can now travel to mining and the tcomms sat.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5152 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-21 17:17:00 +00:00
giacomand@gmail.com
6a2d78bc94 -Killed the updateDialog lag. I added a check to see if there were any mobs to update, if not it will stop checking until a user uses the machine again. I had to replace all the machine = src and machine = null with procs to help make it manageable. I believe this is one of the culprits causing the server to lag as the round goes on, as more players will interact with machines.
-Atmos delay is now based on active players, to help fight lag for massive player rounds.

-Changed some for(blah in world) loops to use the correct lists.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4958 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-25 19:15:51 +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
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
joeheinemeyer@gmail.com
d43396ab58 Further detective improvements.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3727 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-02 20:49:11 +00:00
joeheinemeyer@gmail.com
461c9dac29 Made it easier to log into the Detective's computer, just click der button now, no need to have your ID in hand.
Fixed some flavor text for fire extinguishers.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3718 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-02 00:43:13 +00:00
joeheinemeyer@gmail.com
e0d605c2eb Readded detective work, with much bugfixing and optimizations.
Any PDA that can access the Security Records can, via the forensic scanner function (that was already there) store data on what was scanned, the same way that the Detective's scanner can.
Scanning a PDA with said stored data in the Detective's computer-o-doom will transfer the data from the PDA to the computer's database.
Made some area names improper as needed (Only ones where it makes sense to be improper.)
Updated changelog.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3713 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-01 20:32:26 +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
vageyenaman@gmail.com
80a063ef41 Stuff from SkyMarshal
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3395 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-02 23:46:06 +00:00
kortgstation@gmail.com
28c9f10310 Fixed HoS locker vanishing when emagged
Commented out bloody footprints until someone can figure out a sane way to prevent there being hundreds if not thousands of decals a round.

Reverted Doohl's riot armour/ablative armour changes (the code for reflection is just commented out, neat stuff)

Fixed the typo on the CE's request console

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3304 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-16 05:08:24 +00:00
joe.heinemeyer@gmail.com
d879c24d46 Fixed the runtime involving the scanners, uncommented his tools.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3300 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-15 18:30:41 +00:00
vageyenaman@gmail.com
4321595c05 Work on detective scanners. Should hopefully fix some runtimes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3296 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-15 04:13:14 +00:00
elly1989@rocketmail.com
70cee8922e Blood_DNA fixes.
Bloodied icons rewritten to be overlays, not replacing the icons. Hopefully this should fix \icon[src] breaking everything.
Bloodied hands/gloves don't transfer blood to infinite amounts of touched items.

Please report any bugs!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3290 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-14 17:44:47 +00:00
joe.heinemeyer@gmail.com
bb16e6d1b1 Speed things up yet /AGAIN/ and added an improved UI to the detective's scanner's dossier screen.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3262 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-08 00:59:10 +00:00
joe.heinemeyer@gmail.com
cb5a57549d Fixes for detective work. Should fix some of the massive lag, probably caused by all those list()s that were being made for every atom. And this is why I should not code at 2AM. (A UI overhaul-ish thing will come soon for the detective computer.)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3257 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-06 00:01:53 +00:00
joe.heinemeyer@gmail.com
5a3e58836d Added proper handling of fingerprints to fingerprint cards, added more info to a function on the detective's computer.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3248 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-04 03:19:25 +00:00
vageyenaman@gmail.com
1a9d9dd960 Fixes for NTSL. NTSL now has a fixed statement-processing cap: scripts will crash when more than 1000 statements are called, and alert admins (scripts over 1000 statements are assumed to be buggy or malicious).
You can now properly sleep without waking up every half a second.

Work on footprints. There are now different kinds of footprints, and different blood makes different colored prints. Animals leave pawprints, humans leave footprints, aliens leave big claw prints.









git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3242 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-03 07:00:31 +00:00
joe.heinemeyer@gmail.com
43b00f5f89 Fix for bloodying shoes when walking in a puddle of blood.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3241 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-03 03:13:07 +00:00
joe.heinemeyer@gmail.com
113beeb052 BS12 Detective Work port.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3229 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-02 05:23:08 +00:00