* Polaris initial plane upstream merge
* POLARIS: Fix RIG visors with new plane system, and material scanner VIS_FULLBRIGHT
* POLARIS: Fix GetFlatIcon so that cameras and id pictures don't show the HUD overlays.
* POLARIS: Adds a 'alter values' proc for plane master ease of tweaking
Setting stuff like colorblindness variety and things.
* Remove NIF reference, fix lighting layer define
* Handle effects above lighting plane
* Moved all layer defines to planes+layers.dm
* Fixed overlays that are supposed to be above lighting to use the PLANE_LIGHTING_ABOVE
* Merge: 3000% human/update_icons() speed improvement
* Merge: Avoid ghosts pointing at things
Melee weapons can now potentially attack from farther away.
Obstacles are taken into account, so you cannot hit people through windows, but you can attack over specific things such as tables, or other people.
Currently only the spear can do this, with a range of two tiles, however the attack speed for the spear was reduced, so it may remain a situational weapon.
The intention for this is to make specific weapons feel different to each other besides 'does more damage', and I got ideas on other kinds of weapon adjustments later to make them feel a bit more unique.
Now certain weapons can strike faster or slower than usual. No weapons currently do this as this PR just lays the groundwork for that.
The click delay can also be modified with traits. The slime agility modifier makes attacks happen 25% sooner.
Adds debug test verb to display a weapon's DPS. It's really basic but should be sufficient for future force adjustments I might do in the future.
* Tweaks Xenomorph spitting.
* Swap 'them' for 'the target'. ..Also fixes the mismatched costs.
* Swaps 'them' for 'the target'. Also, in-progress fixing phoron costs of acid.
* Fixes the acid phoron cost. Because Git wasn't playing nice. AAAAAAA.
* Swaps a long line out for a small check.
+Illegal equipment module now scrambled equipment module
+Scrambled equipment module now unlocks emagged borg items without
actually emagging the borg, allowing for AI sync, law updates, and being
emagged.
+Makes the miner borg diamond drill appear in all cases of being
upgraded or emagged instead of only if emagged while the mining module
is equipped.
Changelog includes all my previous PRs as well for ease of access to the
changes by the general public. I can trim it down to just this PR if
requested.
* Creating new objects is cheap, in fact comparable to the cost of getting it out of the pool, so it doesn't help there.
* Placing items in the pool is far more expensive than letting them garbage collect due to the resetting of vars and such.
Adds a fairly simple system that allows adjusting various numbers like max health, incoming damage, outgoing melee damage, etc. The nice part is that changing certain variables this way (like max health) is a lot safer than manually setting the max health var directly.
Changes a lot of short lines of code to point towards a variable's getter or setter helper instead of reading the var directly so the modifiers can work.
Endoarmor, delayed toxin sting, Enfeebling sting, and recursive adrenaline overdose now use the modifier system.
Enfeebling sting now only lasts two minutes, from five minutes, however it now also reduces the victim's melee damage by 25%/50%, and increases the damage they suffer by 10%/35%, for normal and recursive respectively.
Delayed Toxin Sting's effects are now felt all at once instead of over the course of a few minutes.
We define the inventory screen objects for hands to be special in that apply overlays to themselves for handcuffed. By putting that logic on the screen object itself, we allow it to be expanded to other cases besides handcuffs in the future without conflict.
A lot of new defines are now in inventory_sizes.dm, which contains;
All the size identifiers (the thing that tells the game if something is bulky, or w/e).
Storage costs for all the sizes, which are exponents of two, as previously.
A few constants for inventory size.
Also changes all storage item's capacity definitions by basing it off of how many 'normal slots' exist for it. This allows one to change the definition for all of the defines in the file, and everything will follow along without needing to change 500 files. In testing, I made all ITEMSIZE_COST_* defines doubled, and nothing had broke.
The benefit of doing all of this is that it makes adding new weight classes in the future much simpler, and makes knowing how much space a container has easier, as seeing ITEMSIZE_COST_NORMAL * 7 means it can hold seven normal items.
Moves spell HUD so it doesn't cover instability warning.
Makes Instability radiate out towards other humans at sufficently high amounts. People radiating instability will glow purple light. It is adviced to keep your distance or you will get instability as well.
Mark can no longer be cast on the admin z-level.
Adds Gambit, a spell which will randomly give you (almost) any spell that exists.
Shield now causes a bit of instability when blocking.
Recall will bring anyone who is grabbed along for the ride when cast.
Disposable Teleporters now function correctly.
Instability decays faster.
Fixes auto blindness and no click on 510 servers, lessens the lag of
mesons and material scanners, and I suspect the general speed as well.
I only made it work for Polaris (and by extention, to our server, Eros),
and adapted it a bit.
Ported from:
7c2cc890ab