Ventcrawling mobs now no longer get a teleportation menu, instead, they
are put inside the vents, the client gets an overlay of the pipes in the
pipe network, and it is up to them to navigate.
- De-braining and de-eying a detached head now sets the organ's vars
correctly.
- Slime people's (and golem's) slime cores are no longer robotic, this
will keep them from getting EMPed.
- As a side effect, this also fixes not being able to transplant slime
people brains.
- Fixes unEquip dropping organs.
Stuff goes under types.
Types have procs.
Never have 500 lines of repeated code again.
I came very close to crying while editing this. You should appreciate
that.
----
This commit entirely reworks how placing things on walls work- Posters
have intentionally been left alone to reduce the amount of lines
changed. With this commit, wall-mounted objects are no longer snowflaked
into the wall file.
### 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.
This cleans up the code and properly integrates a few things, instead
of the absolutely tragic and insane code bypassing it, literally named
var/needtohack.
This commit does the following:
- Adds spraycans as a subtype of crayons.
- Slight crayon overhaul to make room for this
- Can spray graffiti, runes, and letters on floors & walls
- Can spray mobs and paint their face
- Fixes & overhauls lipstick
- Lipstick is now overlay and Blend() based.
- Also fixes a few bugs with the system.
- Updates paper code to accomodate for wiping off spraypaint as well
- Slight modification to space cleaner
- Space cleaner now cleans your face of lipstick and spraypaint
This commit allows any mob which can speak to choose one of their known
languages as 'default', which makes anything that they say with no
prefix (EG; say 'lol'), use that language.
This commit also changes the 'galactic common' language to use :9
instead of :0, as :0 does not work due to BYOND.. strangeness.
Implements two new IC-tab verbs and updates the check-known-languages
panel to also integrate with this system.
Changes flash/welder protection eyecheck() proc from several hard coded
item checks to a /var check for eye covering items, reducing the number
of IF statements and allowing greater flexibility as child items can
have a different protection level to their parent.
Created a new proc tintcheck()
-Items have a separate tint var to allow for items to protect
but not impair, such as space helmets.
-tintcheck() adds these up for eye covering locations
-life.dm uses this new proc when checking to apply the welder overlay
instead of hardcoded if statements
This fixes:
- Issue #778 on https://github.com/ParadiseSS13/Paradise
There was no sanity checking to test if mobs in range of a corpse have
the NO_BREATHE flag. This commit adds such a check. It does not make
sense for species like machine people to vomit. It may make sense for
Slime People and Dionae, but, after all, it's sentient slime and a tree
thing. Are they are even capable of regurgitating their food?
- Makes shadowlings compile, require snowflaking of a few things to the
human Life() proc due to how Bay species works.
- Renames monkeyizing var to notransform, as that's effectively what it
was used for, to prevent transformation. (/tg/ port)
Ports tgstation/-tg-station#8157
This won't compile, needs to be bugfixed and tested. The only reason I
am PRing this right now is so that we don't have multiple people
working on the same thing.
@ZomgPonies This will require PROBABILITY SHADOWLING # to be added to
game_options.txt, and will likely require SQL database additions for the
BE_SHADOWLING antag preference.
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.
Fixes this runtime error:
//-------------------------------------------------\\
|| runtime error: Cannot read null.status ||
|| proc name: handle heartbeat ||
|| (/mob/living/carbon/human/proc/handle_heartbeat)||
|| source file: life.dm,1648 ||
\\-------------------------------------------------//
This was caused by no sanity check to make sure that
internal_organs_by_name actually returned an organ, therefore it was
attempting to read a null variable, which causes a runtime error.