* some more new to init
* rigs
* rigs
* intellisense moment
* telcoms and landmarks
* fix that as well
* some more minor things
* re add missing message
* fix trash eating...
* Update settings
* Whitespace changes
* Comment out merger hooks in gitattributes
Corrupt maps would have to be resolved in repo before hooks could be updated
* Revert "Whitespace changes"
This reverts commit afbdd1d844.
* Whitespace again minus example
* Gitignore example changelog
* Restore changelog merge setting
* Keep older dmi hook attribute until hooks can be updated
* update vscode settings too
* Renormalize remaining
* Revert "Gitignore example changelog"
This reverts commit de22ad375d.
* Attempt to normalize example.yml (and another file I guess)
* Try again
Now you can start with them in loadout. They are no longer SUNglasses though, so they won't protect you from flashes.
There are several models, the loadout ones are the civilian ones.
- Civilian: Displays job ID icon based on the person's ID, and shows a health bar only if they are injured.
- Medical: Same as civlian, but displays advanced status (virus, borer, etc) along with backup implant status, and allows medical records access.
- Security: Same as civilian, but displays warrant and arrest status, and will automatically darken (electrochromic) in response to flashes, making the wearer immune, plus security records access.
- Engineering: Same as civilian, but will automatically darken to protect one's eyes during welding.
- Research: Same as civilian, but has a trendy goggle form factor for SCIENCE reasons.
- Omni: Has the combined features of all of the above. The only pair available spawns in the CD's office. (CC officers also)
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.
`maths.dm`:
Rewrite `Gcd(x)` to remove recursive behaviour.
Remove `RaiseToPower(x)` and its usage from `event_manager.dm`.
Rename `Lerp()` to `Interpolate()`.
Add `Square(x)`, which squares a number.
Rearrange most of the functions in the file. (trigonometric functions together, etc.)
`type2type.dm`:
Rewrite `num2hex()` and optimise `hex2num()` for superior clarity and a 100% speed improvement.
Correct indenting, spaces, make switches more concise.
`time.dm`:
Remove old, slanderous commented-out function `/proc/time_stamp()`
`lists.dm`:
Add the macros, `BITTEST(bitfield,index)`, `BITSET(...)`, `BITRESET(...)`
and `BITFLIP(...)` for bit-manipulation and use them where 20+ files
do it manually, for arguments of reader clarity and standardness.
implantation works again. Since they'll only be accessible via an admin
specifically spawning it, except for in cases where it is configured
to be allowed, it'll be fine.
This now allows admins to incorporate loyalty implants still if they so
wish for whatever reason, but it is normally inaccessible.
Signed-off-by: Decius <deciusreln97@gmail.com>
Before: Every tick each HUD item would recalculate and redo images for every mob in view. For items like the secHUD where we're transversing implants and the various records this gets very expensive.
After: Mobs use their hud_list variable to store varius huditem images, when conditions change for those specific huditem images it updates the specific ones on demand. As a backup every 30 ticks or so the mob will update all of their hud_list.
Also: moved proc/RoundHealth() from 2 seperate locations into __HELPERS/mobs.dm
Conflicts:
code/modules/mob/living/living.dm
If you fail the step, has small chance of activating implant.
Gives you a sound and ~15 ticks to run away like hell.
Changes I did to other parts to make this possible:
-Implants are now organ-based, not mob-based
-Part of implant working code is moved to appropriate activate() procs