### 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 moves the multiple lists of blacklisted hostile mobs
(as in, unsafe or intended for special use) into a single global
variable. This means that gold slime cores and dimensional tears
now use the same list of mobs, for simplicity.
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
- Fixes the bad rainbow cotton candy not actually using a "toxin" as
it's reagent contents.
- - Previously contained Lexorin, now contains Sulfonal.
- Fixes the candy maker "eating" candy moulds and causing a runtime
while doing so.
- - Incorrect recipes still destroy the mould, but successful candy
making will return it's mould as intended.
Applies tgstation/-tg-station@2227b7a to admin.dm and observer.dm
Basically, this adds sanity checks, just to prevent runtimes in the odd
case that something happens. For instance, if one of the mobs suddenly
gets deleted, this will prevent it from runtiming. Sanity checks.
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.
- 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 allows administrators to drag their mouse from a ghost to a type of
/mob/living, which will then prompt them if they wish to put that ghost in
control of the mob, and obviously, that is exactly what happens if you
select yes.
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?
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.
This commit adds a Procedural map generating system for code and admins to
use ingame. The system is modular, which means that it is fairly easy to
make new generating systems. Currently, only the 'nature' unsimulated
system is implemented, as a testing verb for admins to use. Admins can
define the starting XYZ and ending XYZ of the generated system.
Players - This means you may see content that is truely random, in the
future.
Coders - This system allows you to randomize map elements. Writing new
modules is documented at
code/modules/procedural-mapping/mapGeneratorReadme.dm
Detailed information about how the system works, and how it can be
integrated is also avalible there.
Admins - This system will allow you to, at the touch of a button, create
very complex structures and turfs that would otherwise require being
spawned in manually, one by one. The nature button is a fairly good
example of this, with it's randomized grass textures, randomly placed
trees, and randomly placed rocks. This would normally take a good 5
minutes to do, spawning the trees and rocks and turfs, but it takes about
20 seconds to enter the coordinates and have it be completely random.