* Added "Display Initialize() Log" admin debug command so you can see it mid-round.
* Ported the core of the overlays management subsystem from /tg
- Added SSoverlays subsystem for compiling overlay lists and applying them to atoms in a controlled anti-lag subsystem.
- Added vars and procs to atom which should eventually replace all direct interaction with BYOND's /atom/overlays var outside the subsystem.
- Added OVERLAY_QUEUED flag to var/atom/flags bitfield.
- Added small framework for subsystem performance tracking. So far used only by SSoverlays
- Added admin debug command "Display overlay Log" to see performance stats mid-round.
* Fix runtime on universal pipe adaptor update_icons
* Workaround for appearance_bro not initialized
Unfortuantely BYOND's initialization order is strange, and the appearance_bro var is only half initialized when map starts to load, causing errors. We temporarily fix by moving it to be a global-scoped global.
* Convert fire alarms to use add_overlay() A good first test.
* Convert turfs to use add_overlays(), eliminating the turf_overlay_holder!
- Converted as much as I could find about turf overlays to use add_overlay().
- This should be enough to stop BYOND from crashing, so we can eliminate the turf_overlay_holder hack.
- This also lets us remove the anti-corruption hacks from walls and open space.
- ZAS gas overlays can use priority overlays, so this also fixes the gas-goes-away-when-crowbarring-plating issue.
- Stuff like that
* Convert turf overlay interactions to use add_overlay.
Note: This is a plain and simple conversion of existing code to use SSoverlays. However I look at the line changed, and note that that line likely never fully worked as intended, as it has no way of re-applying itself.
I would make it use a priority overlay, but there is no code present for *removing* said overlay from neighbors when it is no longer required. That code should be implemented by original author.
- Converted as much as I could find about turf overlays to use add_overlay().
- This should be enough to stop BYOND from crashing, so we can eliminate the turf_overlay_holder hack.
- This also lets us remove the anti-corruption hacks from walls and open space.
- ZAS gas overlays can use priority overlays, so this also fixes the gas-goes-away-when-crowbarring-plating issue.
- Stuff like that
* A preface to my madness
Travis failed one of my PR's because I copied old code
that used /red /blue /green.
Because of this, I am going to find and replace every
instance of it that I find.
Also this is a test commit to make sure I'm comitting
to the correct branch.
* /blue /green /red replacements
Dear god.
A slow and painful death from acid is more fun than this.
I wouldn't wish this torture on my worst enemy.
And this is only the beginning
* Replace part 2.
Time to fix the human error.
* Fixes mismatches
* Sets macro count to 220
One above the current number of macros in the code.
* Fixes last of the mismatches.
* Removes spaces, replaces \black
Removes spaces
Replaces \black in a few areas where seen
Replaces \bold with <B> </B> where seen
* Updating macro count again
* More fixes!
* Issues fixed! For real this time!
I swear!
* Fixing all the merge conflict files.
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.
Replaced some attack() overrides with apply_hit_effect() or other attack
procs where appropriate.
Removed the attack() override from reagent_containers.
Conflicts:
code/game/objects/items/weapons/clown_items.dm
code/game/objects/items/weapons/material/kitchen.dm
code/game/objects/items/weapons/stunbaton.dm
code/modules/mob/living/carbon/human/human_defense.dm
code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm
code/modules/mob/living/simple_animal/friendly/spiderbot.dm
code/modules/mob/living/simple_animal/simple_animal.dm
Replaced some attack() overrides with apply_hit_effect() or other attack
procs where appropriate.
Removed the attack() override from reagent_containers.
Rewrites shield handling to be less hardcoded.
Shields now take into account the damage source and direction when blocking.
Riot shields no longer block most bullets, but are better at blocking melee and thrown items than they were previously.
Energy shields block projectiles with a similar probability as they did before, and block melee and thrown as well as riot shields do.
Shields no longer block from directly behind the player.
Weapons now only block melee attacks.
Cool effects when blocking with an energy shield or energy sword (including holoswords).