Weapons that do no damage play a tap sound, except for the bike horn and banhammer.
Adds a different attack message for forceless attacks. It says tapped or
patted on instead of attacked in.
Adds force zero check to armour before attempting to block attacks.
Adds hitsounds to the welder, lighter, matches, cigarettes, energy sword and energy axe for when they're on and off.
Adds 5 force to the lighter when it's lit. Same as when you accidentally burn yourself lighting it. Adds a hitsound and the correct damage type to the lighter.
Adds hitsound volume scaling based on the weapon's force and its weight class. Adds tap sound scaling based on a weapon's weight class.
Removes boldness from item attack messages on non-human mobs. The attack is still bolded for the player
controlling the mob.
Adds a force check to blood spurts when attacking non-human mobs. If the weapon doesn't have a force, no blood will come out.
Adds adminhelp.ogg as the banhammer's hitsound with Cheridan's permission.
Adds a much needed period to the catatonic human examine message.
Makes the activation and deactivation sounds of toy swords, energy swords and energy shields quieter. What an earsore.
Makes description, item_state and name of matches that have burned out on their own consistent with those put out by the player. Changes match, cigarette and lighter attack verbs and forces based on whether they're lit or not.
Fixes a bug that allowed players to light cigarettes with burnt matches.
Names lit cigarettes and children of cigarettes lit [name].
Fixes a bug with the energy blade that kept it at weight class 5 after it was deactivated.
Changes the welder out of fuel message slightly to be less fragmented.
Removes dead air from most of the weapon sound effects used in this pull to make them more responsive. In other words, the fire extinguisher sound will play a lot sooner after you click than before. Equalised their peak volumes to all be -0.1dB and in an attempt to make altering volumes based on force more consistent.
Thank you @YotaXP for help with the item_attack.dm attack messages.
Thank you @optimumtact for help with code for testing item_attack volumes.
Thank you @Giacom for help with the code for scaling hitsound and tap sound volume by hitforce.
Thank you @Tastyfish for telling me why my proc wasn't working.
Thank you to anyone else on #coderbus who helped me who I've forgotten to mention.
*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).
Diseases now have a requires and a required_limb variable
if requires is 1 then it will run a check for required_limb (WHICH USES TYPEPATHS)
Reverts a turret change that git through into the pull for some reason
added some feedback messages in certain places
removed the hulk-like snowflake check that was really crappy anyways
Reworked a part of surgery/surgery_step.dm to use a switch
Hey @Cheridan NO ISTYPES! :D
Ugh.. I mean "Removes" 10 totally unnecessary istypes
Fixes the healing of robotic limbs so that the message actually doesn't display now.
Credit to ACCount12 for digging around and finding some nifty code
that my brain never thought of
Cybernetic limbs
Multi-location operations
Limbs have sprites now (They never dropped before so it was irrelevant)
No Organic healing of Robotic limbs (But the message is still there, fixing soon)
No "organic" diseases in Robotic areas
No more operations in robotic areas - Cheer's Pete for the surgery system being so nice
Healing Robotic limbs with welders (brute) and cable (burn)
Probably other things I forget
Crossed() is a byond builtin which is called automatically when two movable atoms overlap (as a side effect of Move(), but not when loc or x/y/z is changed). Previously, turf/Entered() iterated through all objects in the turf in order to tell them an object had entered; with this change, HasEntered() becomes redundant and can be eliminated.
This may reduce lag when a large number of objects are moving in a small space (singularity, mining conveyors, etc) but should cause no changes to functionality at all.
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.
Moves the shard define into glass.dm
The "You step in the broken glass!" message only appears if you aren't wearing shoes.
Other misc changes and fixes.