* Begin clickcode attack_self fix
Begins the work to make everything call back to parent for attack_self so that signals are sacred.
* Makes MORE things call the attack_self() parent
Yes, I could make special_handling a var on obj/item HOWEVER i want it to be specific so it can be tracked down later and ONLY the objects that use it can be refactored instead of sitting there literally forever and it just becoming 'a thing'.
* Finishes making the rest of attack_self call parent.
As mentioned, things such as 'specialty_goggles' 'special_handling' and the such are only there to help with attack_self until the attack_self is recoded for those items.
* begone foul demon
* some more cleanup
* These
* GOD this was annoying
* yeh
* Fix this
* fLARES
* Thesee too
* toys!
* Even more!
* More fixes
* Even more
* rest of em
* these too
* Update syndie.dm
* hardref clear
* Update code/game/gamemodes/nuclear/pinpointer.dm
* Update code/game/objects/effects/mines.dm
* Update code/game/objects/items/blueprints_vr.dm
* Update code/game/objects/items/blueprints_vr.dm
* Update code/game/objects/items/contraband_vr.dm
* Update code/game/objects/items/crayons.dm
* Update code/game/objects/items/crayons.dm
* Update code/game/objects/items/gunbox.dm
* Update code/game/objects/items/gunbox.dm
* Update code/game/objects/items/gunbox_vr.dm
* Update code/game/objects/items/gunbox_vr.dm
* Update code/game/objects/items/weapons/gift_wrappaper.dm
* Update code/game/objects/items/crayons.dm
* Update code/game/objects/items/crayons.dm
* Update code/game/objects/items/gunbox.dm
* these too
* Update maintpanel_stack.dm
* angry warning
* Fixes packaged snacks.
Fixes improper var default.
* Special handling for these
* proper poly types
* Fixes magclaws
Makes the 'features' it had just part of base magboots that can be adjusted via varswap.
* Fixes jackets
Fixes https://github.com/VOREStation/VOREStation/issues/18941
* Small bugfix
Makes p_Theyre properly capitialize
Makes examine show proper wording
* Update gift_wrappaper.dm
* Prevents insta-actions
* Do_after sanity
NOTE: NUKE do_after_action
* Update bonfire.dm
* The rest of them
Also fixes a tpyo
* no minitest :)
* .
* .
* Gets rid of the slowdown for now
---------
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
* 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