### Current Changes
- Removes the rejecting verb from organs, I forgot to remove this along
with organ rejection.
- Fixes droplimb runtime.
- As a result, brute damage goring and burn ashing DESTROYS whatever
limb was dismembered. They didn't do so before due to the runtime.
- Fixes another runtime in organ_external.dm
- Makes it so you can actually clone brain transplantees.
- Makes it so you can actually rejuvenate brain transplantees.
### Todo
- [ ] Make slime person braincores able to be placed in humanized
monkeys again.
- [ ] Probably fix some other stuff.
- Makes organ stumps amputatable. (Seriously, why the fuck were they
not? You NEED to remove them to attach new limbs, including heads.)
- Removes organ rejection (But muh reelizms! No, fuck that, test dummies
were rejecting their own organs and dying. Why did this even exist?
- Organs removed from a body take SIGNIFICANTLY longer to take damage
and decay now. That brain you just removed will actually be
transplantable a minute later.
This commit first adds a new helper proc labeled isAntag(), as well as
adding a check for antags for every instance of msg_admin_attack().
Goals of this commit:
- Make admin ATTACK: logs indicate if attacker is an antagonist.
Note; High probability of merge conflicts, 47 files changed.
Both internal and external organs are a mess, which is making
maintaining and updating them nasty, so I'm cleaning them up, this is
the first stage
mechanical and assisted internal organs are now an object type rather
than a var in the organ which makes it much cleaner and easier to adjust
removed duplicate list of internal organs as there's no reason to have
the same objects in 2 separate lists
made New() a lot cleaner and more robust
External organs will be next
Also removes the now unnecessary get_cure_threshold() proc, caps the
rate at which an organ can receive germs from wounds, and makes germs
spread from external to internal organs happen one organ at a time
instead of all at once.
Conflicts:
code/modules/organs/organ_internal.dm
code/setup.dm
Infections can now spread between internal and external organs.
Also changes the organ_failure random event to cause an infection
instead.
Conflicts:
code/modules/events/organ_failure.dm
code/modules/organs/organ.dm
Body temperature regulation is now based on species, and environmental
temperature now respects the air density when affecting living/humans.
This also fixes some bugs with heat/cold protection handling and
improves the way synthetic species body temperatures are handled to be
much more logical.
IPCs always gain temperature but cool down because of their environment.
When the heat transfer to the environment is reduced because of the lack
of air, this will cause IPCs to heat up.
As well, having an infection will increase your body temperature, and
body scanners now detect infections.
Conflicts:
code/modules/mob/living/carbon/human/life.dm
code/modules/mob/living/carbon/species.dm
New proc: /datum/species/create_organs
Called in set_species when no organs exist or it's forced.
Also shuffled set_species around a bit, adding a var to human/new to
specify a species to start as.
Should fix the adminspawn vox organ runtime.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Conflicts:
code/game/machinery/cloning.dm
code/modules/mob/living/carbon/human/human.dm
code/modules/mob/new_player/new_player.dm
code/modules/organs/organ.dm
We do a bit of pre-processing to see if we want to do checks on all the organs.
First we don't even do preprocessing unless we have damage of some kind
afterwards we process what is hurt until it gets better or overall we get worse
when we go ahead and check everything else out again.
Can add a safety check in life every 30 ticks or so go ahead and check every organ again but I don't think it's needed.
Conflicts:
code/modules/mob/living/carbon/human/human_defines.dm
code/modules/mob/living/carbon/human/life.dm
code/modules/organs/organ.dm