* Items washing banana cream
Allow common methods of cleaning to wash banana cream pie off your face.
* Janiborg cream washing
Janiborgs can now wash cream by running over people.
* Added Creampie Overlay code
When a banana cream pie hits a target mob, it applies a new overlay to
the mob. This overlay can then be cleaned via soap, shower, cleaner
spray, etc.
* Cream Pie Throw Update
When hit by a banana cream pie:
Adds a creamy overlay to various mobs.
Knock targets off for less than a second.
Enable cleaning the overlay via soap, shower, and others means.
* else fix
replace unnecessary if w/ else
* Revert "else fix"
This reverts commit 5dc5707981f8bc312b8e3ac4ce9ab16e7f20c855.
* else fix
* Catch Fix
Catching a thrown cream pie will no longer delete the item in your hands
* Xeno State Creamy Fix
Tossing a cream pie will now apply the appropriate overlay to a dead or
sleeping xenomorph.
Unfortunately, the xenomorph is still able to shake the cream off by
switching state, and it keep pushing the wrong overlay on critical
xenomorphs.
* Human-only code
Simplify code to affect only humanoids.
* Revert "Human-only code"
This reverts commit f74cb0e3af08fc0b793987ed9711dbbfd4d8561b.
* Human Code Only
Pls no Travis
* Optimize code
As requested
* Bug Fix
Overlay no longer unwashable when species get changed via
badmin/magic/etc.
These are the files with just tiny tweaks. Mostly modify an object's attackby so it does "return ..()" instead of "..()".
If there are other things in this commit, the PR's description will explain them.
- 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.
- TOUCH no longer transfer reagent by default, it's now only used for touch based effect like being flammable when touched by fuel or you and your stuff being acided when touched by acid).
- PATCH does no transfer of its own (but actual patches code do make a transfer) but is used for touch effect that ignore clothes and protection (blob attacks, patches effect going through hardsuits)
- VAPOR does reagent transfer but it takes into account clothing protection
Fixes a typo in humanoid/get_permeability_prot
Fixes acid splashing on objects not destroying it. Fixes acid splashing on turf not destroying objects on the turf.
Changed damp rag smothering code a bit.
Blob Smoke now doesn't do anything.
Fixes runtime when putting beaker in autolathe.
Fixes spray can empty message appearing when placing it on a table.
Fixes experimentor manual not having a title.
Fixes runtime with engine goggles updating nearby objects visibility.
Fixes runtime when looking at picture from the AI camera.
Updating the 'can_be_placed_into' list for items so their afterattack don't do anything when placing them in experimentor, autolathe, destructive analyzer.
Fixes soap starting to clean the table when placed on it.
Fixes drinking glasses having capitalized names.
Replacing some fo mob in viewers() show_message() with visible message().
Simplifying some message code in a couple places, fixing typos and span classes.
Cleans a bit the prime() code, large grenades won't be a huge copypaste anymore
Asay logs will now show up when the grenade is activated instead of used. Only when The grenade is activated by an assembly.
New proc, get_mob_by_ckey(). Give it a ckey and it will return a mob.
When you touch an item, to spread the blood, it would take the "bloody_hands" to 0; which is checked if true while you wash your hands. I limited it to only go down to 1, so it will still be true unless you wash your hands.
Fixed an issue where blood_DNA was being cleared before the blood_hands variable was being set to 0. Now you can properly hide your bloody hands with gloves and when you take them off the hands will still be bloody.
Removed an unused variable.
Set the bloody_hands_mob to null where it was appropriate.
The amount of blood you can transfer to other items, when you touch them, will be a little random for variety.
Revive() will now heal your hallos damage.
*TABLEPASS was already totally obsolete.
FPRINT was used, but it was on virtually everything anyway.
Removes those flags from every instance where they were used. Also assigned and removed other flags where it made sense.
If it is desired, I can revive the flag as NOFPRINT, which would retain the original functionality, though inverted. That way it would be be used only where it was intentional (holodeck items could use this for example).
Added superclass invoke for the arcane tome
Added superclass invoke to light switches, removed it's (unused) description.
FLightswitch description repetition derp
examine superclass invoke for gas flow meter, space heater, fire extinguishers, grenades/IEDs, fancy boxes and welder. Changed description for welder and fire extinguisher to show their content in a similar style.
Fixed tank, linen bins and janicart description, and added welder of previous commit (forgot to commit it)
REMOVED icon in mop_bucket description (now provided by item class).
REMOVED unused examine() override in clothing/gloves
REMOVED custom examine() for glass/rag
CHANGED using examine superclass on paperwork/paperbin, removed redundant description code
CHANGED examine superclass for power/apc
ADDED universal maxcharge readout for all the powercell types.
CHANGED using examine superclass on machinery/light, removed redundant description code
FIXED weapon/virusdish use a description field.
TWEAK lowercased some of the portable generators.
Fixed improperness of pacman names
Adjusts the click code to not use client/Click(). The code is largely unchanged, except that it allows the compiler default behaviour of calling atom/Click(), and then forwards the call to mob/ClickOn(). I had some reports that melee combat mixed with movement was behaving oddly, and I believe it may be due to the use of client/Click; the byond documentation says that redefining client/Click() causes additional overhead, and it isn't strictly necessary.
Alters the way double clicks are handled, in an attempt to better handle clickspam, as often occurs during pitched combat. This may also be responsible for the above, but I don't know.
Inserts proximity (aka flag) checks in all afterattack() procs. The old assumption was that unless an item used the USEDELAY flag, afterattack() was only called when adjacent, but this is no longer true. This led to beakers, soap, crayons, etc, all being usable at all ranges.
Removes the NODELAY flag, which was unused. Removes all existing uses of the USEDELAY flag so that it can be readded to things that need extra delay.
Removes the hand_* procs, previously used by restrained actions. Instead, the mob helper mob/RestrainedClickOn() has abosrbed basically all the functionality they were used for, which is really only monkeys with jungle fever.
Adds a special case of the Adjacency() proc for doors. This fixes#136, airlocks being unreachable due to border fire doors. However, this only takes us back to the unpleasant position where you have to open-hand the door, switch to a crowbar, and pry open the firedoor; it still needs a better fix.