Commit Graph

99 Commits

Author SHA1 Message Date
phil235 2dd476f13e Fixes shaking someone resting not making them stand up.
Fixes shaking someone not reducing the sleeping var if the mob asleep is buckled to stand up.
Fixes merge conflict issues.
Fixes my revive code leaving the revived AI blind.
2016-02-17 01:23:36 +01:00
phil235 5db3ab47c7 Merge branch 'master' of https://github.com/tgstation/-tg-station into ReviveFix1
Conflicts:
	code/game/machinery/computer/aifixer.dm
	code/modules/mob/living/carbon/carbon.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/silicon/ai/ai.dm
	code/modules/mob/living/silicon/robot/robot.dm
2016-02-17 00:33:26 +01:00
phil235 7e1efca13a Created two new procs to handle reviving mobs more easily:
- can_be_revived(), used so we don't revive a mob who would immediately die again (lack of brain organ for carbons).
- fully_heal(), called by revive when we want to completely heal a mob before trying to ressuscitate it.

I gave some arguments to revive() so the proc can be used by more than just the admin healing code (ai revived by the AI fixer console, drone revived by another drone clicking it, strange reagent ressuscitating you, borg revived by restart circuitboard, changeling using his revive ability, etc)

This fixes borg revival not updating its vision correctly and not updating the diagnostic HUD. Same fix for changeling revival.
2016-02-16 23:27:08 +01:00
phil235 e3bbcb0f7f Fixes revive() not properly removing the blind overlay. (fixes staff of healing)
Fixes revive() working on brainless carbons, making them die right away. It now only heals the body but doesn't actually make the mob alive again.
Fixes dead mob put into closet and then revived not seeing the closet vision overlay.
Fixes brain mob's emp_damage never decreasing when stat == DEAD.
Fixes posibrain's brainmob starting dead.
Fixes ai fixing not clearing the blind overlay properly.
Fireball projectile no longer explodes on the firer when there's a body on their tile. The fireball's range() code now only checks the two tiles on its front left and front right for mobs to hit.
Remove some update_vision_overlays() (now unused) that I forgot to remove.
Using a staff oh healing on a corpse with a damaged brain organ will revive the mob and heal the brain organ.
2016-02-14 15:26:46 +01:00
phil235 a0855f2693 Brains can no longer be blinded, even when inside a MMI.
Fixes borg made from staff of change not having a brain organ in their MMI.
Removes some duplicated procs in mob.dm (probably due to incorrectly fix merge conflicts)
You can now attack brains with a weapon even when not inside a MMI (previously only when in MMI).
Fixes brain vision not being given mech sight when put inside a mech.
Removing a brain from its MMI not place the brain in your hand instead of on the ground.
Fixes built cyborgs containing two mmis.
Damaged brain from attack can't be placed inside a cyborg.
Robotized humans (called Robotize()) , such as roundstart cyborgs, now have an MMI with the human's name (instead of having a brain with a borg name, which was inconsistent with built cyborgs).
Syndiborgs bought by nukeops now have a brain with the same last name as the ops team.
Fixes Borg created with staff of change not containing a brain organ.
Fixes brain being killable when inside cyborgs. Fixes borg dropping a dead mmi brain unable to talk. Brains are now immune to environment damage and radiation.
Fixes brain being able to suicide multiple times (if put in and out of an MMI)
2016-02-12 02:04:14 +01:00
Firecage d034a3f8ab Compile fix 2016-01-27 13:30:46 +02:00
Firecage 7f96592b87 Merge Conflict Fix 2016-01-27 13:29:38 +02:00
KazeEspada 17fe36ebda Merge branch 'master' of https://github.com/tgstation/-tg-station into LizardHunting 2016-01-24 15:14:00 -07:00
KazeEspada b774041648 Lizards now hunt and kill insects, they swallow them whole.
"We vorestation now." -Iamgoofball.
2016-01-24 15:13:46 -07:00
KorPhaeron f76d8567c7 Polymorph 2016-01-23 13:03:21 -06:00
Firecage 332bde0f4f Does the rest of the if()'s/ else's 2016-01-17 19:03:12 +02:00
Firecage 754491ce4c Changes relatives paths into absolute paths and makes some if()'s better 2016-01-17 01:36:56 +02:00
KorPhaeron a0923daa0e Removes NOSHIELD 2015-12-20 15:21:58 -06:00
Razharas 52ce383102 Merge pull request #13053 from AnturK/doors
Makes staff of doors create random mineral doors.
2015-11-20 06:54:28 +03:00
AnturK b1bf6acab0 Changes spellbook description
Picks types from list
2015-11-17 15:17:46 +01:00
Incoming 1f9f0dfc40 Adds subtypesof(). It's shorthand for typesof(path) - path.
Replaces typesof(path) - path with subtypesof(path) in obvious places. I was a bit conservative, there's probably a few more places that could use this.
2015-11-16 18:55:57 -05:00
AnturK 05ff5552b2 Makes staff of doors create random mineral doors. 2015-11-16 21:10:34 +01:00
Cheridan 6bfa738a24 Merge pull request #12567 from phil235/EffectSystemTweak
Makes effect system code more OOP.
2015-10-22 21:00:10 -05:00
phil235 21c4552576 Merge pull request #12487 from bgobandit/humanoids
Changes the text human ==> humanoid where applicable.
2015-10-22 00:41:19 +02:00
phil235 d3ee910211 Makes effect system code more OOP.
obj/effect/effect is now renamed obj/effect/particle_effect for better usability.
datum/effect/system and /datum/effect/effect/system are now both /datum/effect_system.
Fixes a bug where wall mounted igniters (and other spark producing objects) didn't produce sparks sometimes.
Moved explosion_particles.dm into the effect_system folder, because it has effect_systems code.
2015-10-21 23:28:29 +02:00
Cheridan 56b7a7717b Merge pull request #12416 from KorPhaeron/drones
Staff of Change now makes hacked drones
2015-10-19 14:38:16 -05:00
bgobandit 055427b65c human ==> humanoid where applicable 2015-10-18 13:50:34 -04:00
phil235 47909d525f Changes smoke to behave more like foam. Each covered tile has one smoke cloud. This makes smoke clouds much less random, especially in terms of reagent application.
Also smoke reaction now uses the TOUCH method instead of VAPOR, to differentiate smoke and foam. Mob without internals or gas masks also ingests reagents in the smoke.
Moved nanofrost smoke code to effects/effect_system/effects_smoke.dm
2015-10-15 21:52:37 +02:00
KorPhaeron 1aa9ed34e7 Staff of Change 2015-10-15 14:46:01 -05:00
Incoming 067d59669e Makes magic bolts properly unblockable. Their effects still happened even if they were blocked so this really just amounts to removing a false hope message.
Fixes #12046
2015-09-27 15:21:40 -04: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
Aranclanos 0d1d321651 Fixes pugs not following their tail.
The staff of change won't create invisible pugs anymore, same with the experimentator relics.
Removes a leftlover pug typepath.
2015-08-25 05:28:58 -03:00
Aranclanos ca98ac5151 The staff of change projectile will qdel the mob instead of manually deleting it.
Added a warning for when the mob controller removes a null from the mob list.
2015-08-13 21:40:00 -03:00
Remie Richards 5434bb7854 Merge pull request #10970 from phil235/SyringeProjShieldBlockFix
Projectile blocking fixes
2015-08-03 05:28:28 +01:00
phil235 cdd15b7c27 Removes some unneeded code(flag = "magic" when already inheriting it from parent, adding a 0 argument to on_hit when it already defaults to 0).
Fixes syringe dart not respecting shield blocking.
Projectile doesn't show the hit message anymore if 100% blocked (shield blocking mostly). (but it is still logged)

Fixes deflected dart projectiles not being logged.
2015-08-01 16:57:27 +02:00
bear1ake 5af0bdec25 fix ian stuff 2015-07-31 01:18:03 +09:00
Firecage 4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
Ikarrus 9d92933bea Staff of change now assigns lizard name when appropriate 2015-07-06 22:04:05 -06:00
Ikarrus a949c80fee Fixes Race Swap Runtime
- Fixes Race Swap Runtime
- Staff of change now assigns lizard name when appropriate
2015-07-06 21:47:30 -06:00
phil235 b0cd6d34b1 Lots of work on acids, smoke, foam, reagents reaction() proc.
- fixed the fraction argument in reaction(...., INGESTED, fraction) so the proper amounts of each reagent react, not all of it.
- slight optimization of datum/reagents/reaction()
- small optimization /datum/reagent/proc/reaction_mob
- the smoke's reagents no longer do direct transfer upon crossed()/move() but uses "reagents.reaction( mob, TOUCH)" only.
- fixes no ingesting smoke if it's in the dark.
- removed block gas smoke effect flag from clown mask and other non "actual" gas mask.
- refactor how protection against touched chems being absorbed is done. get_permeability_protection() to get that protection. No more

simple RNG get touched or not, now the amount that touches you depends on your protection and the volume in question.
- changes acid_act to take volume into account.
- chem_smoke now uses process() just like foam, we remove the reaction from crossed() and Move(), it's only done in process() now.
- optimization of effect/smoke, OOP! And now all smoke effects use objprocessing instead of shitty sleep/spawn
- removed mob var/coughedtime.
- add a volume check to item/acid_act(), there's a threshold to be able to melt and then a probability to melt (acidpwr&volume).
- greatly lowered the amount of reagent in the smoke from dead blobspore (so the volume isn't enough for melting)
- human/acid_act(): damage to limbs depends on acidpwr&volume.
- fixes metalfoam not working.
- smoke powder: only one start() call.
- Amound of smoke objects depends on amount of smoke recipe created.
- Adds an argument to add_reagent() to block automatic call of handle_reaction()
- When using reagents/proc/trans_to(), reactions are now only handled after every reagent is transfered and not before.
- Amount of smoke objects depends on amount of smoke reagent created.
- radius of foam reaction depends on amount of foam reagent created.
- The amount of other reagents inside the smoke/foam decides the life expectancy of the effect.
- The amount of reagents in each small smoke cloud/foam cell depends on the amount of other reagents in the initial reaction but also

how much smoke/foam was created (more smoke means dilution of the reagents).
- smoke/foam's reagent reaction on mob decreases the life expectancy of the effect (to avoid reagent duplication)
- The amount of reagent reacting with atoms is less if the life expectancy is high.(to avoid reagent duplication)
- The amount of movement from the smoke now depends on the number of smoke clouds created.
- removing some useless code in chem_grenade/prime().
- When calling human/acid_act(), item acid melting chance lowers after each each successful melt in the list, some of the acid is

"used" to melt that item so the next items have a lower chance to melt (to make melting every clothing harder).
- remove the banned reagent list from sprays, not needed anymore now that acid is nerfed.
- chem_grenade reaction, if there's no reagent left after reaction (smoke/foam/etc, reagents cleared) you don't get the steam effect

and immediate reaction with all atoms around the grenade explosion. (Fixes foam cleaner grenade deleting bloodstains around it as soon

as the grenade explodes, even if the foam hasn't reached the tile yet).
- melted storage items now drop their content instead of deleting everything.
2015-06-22 00:35:24 +02:00
Cheridan ee87a1dc23 Merge pull request #9974 from phil235/MirrorRaceChangeFix
Mirror race change fix
2015-06-17 12:54:19 -05:00
phil235 1e8ec967d3 Fixes a runtime with staff of change changing species. 2015-06-15 17:12:23 +02:00
kingofkosmos c8d79e7034 Removed unnecessary spaces in these situations:
"span class = '" changed to "span class='"
"'> " changed to "'>"
2015-06-14 12:13:19 +03:00
Cheridan 2d998452db Merge pull request #9715 from Firecage/datumspaths
Changes alot of datum/ to /datum/, also includes other path types such as /obj/
2015-06-02 23:04:51 -05:00
Aranclanos e7c0d7e95c Removes unsimulated turfs.
Moves shuttle turfs to paths under /turf/simulated/floor and /turf/simulated/wall
Players can now safely build on top of shuttle turfs
Fixes #1711
Adds several but not all paths for the different types of floor turfs, most of them in plasteel_floor.dm
The turf pathings are still in need of a deeper organization, but this is at least a start
2015-06-01 23:24:18 -03:00
Firecage f79e0fc1aa Updates more paths, for example obj/stuff to /obj/stuff 2015-05-31 17:48:33 +02:00
phil235 77febafb52 Merge pull request #9569 from Incoming5643/readthisgoddamnit
makes the "don't kill the guy who animated your statue" message huge
2015-05-24 01:02:03 +02:00
Incoming d1890bb79f makes the "don't kill the guy who animated your statue" message userdanger because it's ruined more than one wizard's round at this point.
That said the wizard was el nath/flesh to stone/magic missle/staff of animation/blink so I don't feel TOO bad.
2015-05-19 21:38:06 -04:00
Incoming 09f71f7f94 removes the "whoops you're probably going to die by no fault of your own!" races from the staff/wand of change with a new var: dangerous_existence. Currently lists shadowpeople, shadowlings and plasmamen.
Additionally adds that protection to the change races summon events event so the entire station doesn't have a change of exploding into burning death skeletons with no hope for survival.

Adds plasmamen to the blacklist for slime mutation toxin.
2015-05-09 21:04:59 -04:00
Incoming f59c01e721 sets hardset_dna to clear exotic blood on race changes
sets every instance of race changes to use hardset_dna instead of directly replacing the datum (needs more testing to be sure I didn't break shit)
removes the invisible man race (aka the generic) and shadowlings from the new green slime mutation toxin while I'm in the area
2015-04-23 12:35:37 -04:00
phil235 09df1080e9 Some adjustments:
Fixes with projectile bump() on border objects.
Fixes some projectile on_hit() not calling the parent on_hit.
Move projectile mob hit check code to mob/CanPass().
Simplifies projectile/CanPass()
Fixes runtime in projectile/Bump()
2015-04-02 17:39:02 +02:00
phil235 ffd711c26f Merge branch 'master' of https://github.com/tgstation/-tg-station into SlimeAnimal
Conflicts:
	code/modules/mob/living/carbon/life.dm
	code/modules/mob/living/carbon/slime/slime.dm
	code/modules/mob/living/simple_animal/friendly/corgi.dm
	code/modules/mob/living/simple_animal/slime/say.dm
	code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm
2015-03-23 16:51:03 +01:00
Cheridan 7149f0382d Adds Pet Collars!
Map needs update now
2015-03-18 21:27:21 -05:00
phil235 456a64f8fd slime from carbon to simple animal 2015-03-14 23:40:57 +01:00
Remie Richards 5b2d3ceada Allows overminds to reroll their chemical at a cost, fixes blob cores being invisible, repaths blob mobs to /hostile/blob 2015-02-08 01:22:51 +00:00