This commit first and foremost ports the -tg- atom pooling system, and
removes the old experimental system entirely.
Secondly, this PR modifies the qdel system to use a -tg- lookalike
"destroy hint" system, which means that individual objects can tell qdel
what to do with them beyond taking care of things they need to delete.
This ties into the atom pooling system via a new hint define,
QDEL_HINT_PUTINPOOL, which will place the atom in the pool instead of
deleting it as per standard.
Emitter beams are now fully pooled.
Qdel now has semi-compatibility with all datum types, however it is not
the same as -tg-'s "Queue everything!" system. It simply passes it through
the GC immediately and adds it to the "hard del" lists. This means that
reagents can be qdel'ed, but there is no purpose as of yet, as it is more
or less the same as just deleting them, with the added effect of adding
logs of them being deleted to the garbage collector.
This commit makes the ventcrawling system operate independant of
ventcrawling verbs. Every type of /mob/living now has a ventcrawling
variable, which allows them to interact with the ventcrawling system if
set to 1 or 2. The AltClickOn() defines for each ventcrawling mob have
been removed, and replaced with a single AltClick() define on ventcrawl
machinery.
All carbon mobs have a new variable called wetness, which is increased
upon water_act's that have a volume over 10, and is decreased every 22~
cycles of mob_master.
This variable currently does absolutely nothing but change their examine
text.
This refactors the mob-eat-mob code and fixes a few bugs along the way.
- Bursting out of a stomach now has a 0.4 second delay between attacks,
so the message cannot be spammed.
- The list of mobs that can eat other mobs has been refactored to be a
subproc instead of a 255char~ list on one line.
- Mob grab uses #defines for the time it takes to eat something else,
now.
- Fixed xenomorphs bugging out the grab system, and made sure that fat
people can't actually eat them because of this.
This commit changes a bunch of objects fire_act's to temperature_expose,
to allow for superhot gas to act like an actual hotspot. This behaviour is
consistant with -tg-.
This commit does the following;
- Repairs mob breathing by adding a new ticker process, mob_master, as
air_master is an unreliable ticker with it's customizable speed
- Restore firedoor attack_hand access
- You can now open and close firedoors by using no item, provided you
have access to them and they aren't locked.
This commit ports the base system of LINDA from TG. This version of linda
is the original version, with none of -tg-'s fixes, rewrites, or other
such improvements attached.
The mob ignite system has been 100% removed, as LINDA does not support
this normally. It may be added back in when the improvements and refactors
to LINDA have been ported.
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.
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 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 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)
- Changes smoke so that it immediately affects all mobs in its area of
effect, smoke clouds are purely visual.
- Any mobs in the area of effect of a smoke reaction will be affected by
the smoke's touch reaction, and have all reagents in the smoke container
transferred into them.
- Smoke clouds are no longer opaque.
- Mixing 10u potassium, 10u sugar, and 10u phosphorus or higher will
cause an area of effect with a radius of 3 from the point of reaction.
Any less will have a radius of 2.
- Same with heating 10u smoke powder.
- Smoke powder reaction now only yields 1 powder instead of 3.
- Vent clog event has a radius 3 area of effect.
Fixes and uncommenting
- Uncomments honey turf reaction.
- Uncomments synthflesh turf reaction.
- Adds list for reagents to not copy via smoke (or more specifically,
delete when a smoke reaction happens without copying). This includes
sugar, phosphorus, potassium, and the smoke "reagent" produced in a
smoke reaction.
- Fixes xeno sentinel and hunter health HUDs, forgot to update these
when I changed their health.
- Changeling regen stasis renders the changeling unconscious and blind.