* Defer cable coil updating until LateInitialize. Saves 0.3s of init time. (#71703)
We were updating appearance of every coil around the initializing one
every time. This resulted in over 9,000 (Lol) wasted update_appearance
calls. Defers it to LateInitialize, or right away if the atoms SS has
already started.
Closes https://github.com/tgstation/dev-cycles-initiative/issues/16
(does that work? It looks like it does!)
* Defer cable coil updating until LateInitialize. Saves 0.3s of init time.
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Fixes wires not being placeable (#62455)
So, uh, well, basically, the condition was checking for something that was true in BYOND's terms when it shouldn't've been. Whoops!
We all love working power, don't we?
Fixes#62446 (Not being able to place cables at all)
* [FUCK] Fixes wires not being placeable
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Refactor /turf/var/intact (#62331)
Turfs have a variable, intact, which conflates three meanings:
Determining whether there's something that can be pried out, such as directly with a crowbar or indirectly with a tile stack and a crowbar off-hand.
Determining whether underfloor pieces are visible.
Determining whether underfloor pieces can be interacted with - by players with tools, through interaction with effects like chemical acid, or foam.
When plating is hit with a stack of tiles, /turf/open/floor/attackby checks whether the turf is intact, and if so, ends the attack chain regardless of whether or not the attempt to hotswap a turf (with a crowbar) is successful or not. However, turfs which want the underfloor to be visible - such as catwalks and glass - set the intact variable to FALSE, and so can be repeatedly placed over one another, as if they were the first tile to be placed over the plating.
This refactors /turf/var/intact into two distinct variables:
/turf/var/overfloor_placed, for whether or not there is something over plating.
/turf/var/underfloor_visible, for whether or not the various underfloor pieces should be invisible, visible, or both visible and interactable.
All references to /turf/var/intact have been replaced with an equivalent overfloor_placed or underfloor_visible reference, depending on which check is appropriate. underfloor_accessibility can take one of UNDERFLOOR_HIDDEN, UNDERFLOOR_VISIBLE, or UNDERFLOOR_INTERACTABLE. This prevents cases such as acid foam or tools phasing through glass floors to affect the underfloor pieces underneath, and covers all kinds of unusual, not-wiring-visiblity usage such as Holodeck completeness, Revenant interaction, or station integrity checking.
* Refactor /turf/var/intact
* Thank
Co-authored-by: esainane <esainane+github@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
* removes double spaces before symbols (#62397)
This can apparently cause some bugs on occasions, so I thought I might as well try to kill them all.
* removes double spaces before symbols
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* no more regal rat runtimes, and, cheeeeeeeeeeeese can now be eaten by it (#62032)
* no more regal rat runtimes, and, cheeeeeeeeeeeese can now be eaten by it
Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
* Fix cable restraint not rendering in crafting menu (#61842)
Fixed the cable restraints not showing up in the radial crafting menu. This was caused by the cable restraint (cuff) icon being moved to the restraint.dmi file - I didn't see this old reference elsewhere in the code. (first TG commit, please let me know if I am missing anything.
* Fix cable restraint not rendering in crafting menu
Co-authored-by: Peter <30943236+PeterMorrison1@users.noreply.github.com>
* Fix being shocked while laying cables having a 50% chance to give you two cables instead of one. (#61754)
Title
deconstruct already gives cable
* Fix being shocked while laying cables having a 50% chance to give you two cables instead of one.
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
* Allows ghosts to see the status of the power network by examining cables. (#59469)
Ghosts can now inspect cables to get the same readout that the multitool gives when you use it on a cable.
* Allows ghosts to see the status of the power network by examining cables.
Co-authored-by: peptron1 <57651027+peptron1@users.noreply.github.com>
* Fixes borg tiles (#55858)
- Fixes greyscale material floor tiles created from cyborg stacks
- Makes cyborg stacks contain materials
- Prevents a potential bug involving metalgen and stacks
* Fixes borg tiles
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Fixes cyborgs in general replenishing stack modules from external sources (#54935)
* Cyborg stack fix
- Makes cyborgs capable of recycling floor tiles again
* Touches up module code
- Makes module code slightly more OOP-compliant
- Speeds up module creation by an imperceptable amount
- Reworks how borg modules handle stacks
* Fixes cyborgs in general replenishing stack modules from external sources
* Update robot_modules.dm
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Re-assesses 99% of vending prices through Arconomics to match player resources and round-length. (#54715)
* The Re-pricening
* Rewritten and adjusted for paycheck defines.
* I made the map changes finally.
* And the refills too.
* "OH YEAH REPLACING IT ALL WITH DEFINES AND SCALING IT THE EXCEL DOCUMENT WILL BE EASY, ARCANE!!!"
* And the premium ones too.
* Accidently spoiled a future pr due to dme bleedover
* Re-assesses 99% of vending prices through Arconomics to match player resources and round-length.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* Refactored 'IsAdvancedToolUser' into a macro plus relative trait. Tweaked 'can_hold_items'. (#54665)
The PR aims to allow advanced tool users to be defined by traits rather than a hardcoded proc.
Also necessary for the CanUseTopic refactor I'm working on, which will be PRed separately for atomization purposes.
This PR also fixes an inconsistency with can_hold_items (since monkeys can actually hold items).
* Refactored 'IsAdvancedToolUser' into a macro plus relative trait. Tweaked 'can_hold_items'.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes a few bugs with greyscale stacks. (#54858)
Fixes greyscale floor tiles merging regardless of their materials.
Fixes greyscale floor tiles voiding materials when splitting the stack.
Fixes greyscale floor tile stacks being created with no mats_per_unit and only enough custom materials for a single unit.
Fixes greyscale tile flooring being created with the wrong amount of materials.
Fixes greyscale tile flooring not producing floor tiles/producing floor tiles with 0 units.
* Fixes a few bugs with greyscale stacks.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Moves screen objects from mob to hud (#54400)
This moves screen images from icons/mob to icons/hud
Makes more sense and it is easier to find
* Moves screen objects from mob to hud
* Update radial.dm
Co-authored-by: nicbn <nicolas.nattis@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Arcane finishes the fight and adds all the missing belt sprites and a worn sprite Admin Tool. (#53305)
* Arcane finishes the fight and adds all the missing belt sprites and a worn sprite Admin Tool.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* Personalized combat messages part 2 (#52890)
Adds more "personalized" combat messages for all participants in a fight: the attacker, the victim and the spectators
* Personalized combat messages part 2
* Update misc.dm
Co-authored-by: kingofkosmos <riki.sundberg@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* You can now craft cable restraints directly from the radial menu (#52614)
* You can now craft cable restraints directly from the radial menu
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Move cable radial menu to attack_self. Move recipe crafting to radial menu chose (#52540)
* Move cable radial menu to attack_self
Move recipe crafting to radial menu chose
* Remove loc check in attack_self
* Move cable radial menu to attack_self. Move recipe crafting to radial menu chose
Co-authored-by: Dennok <Deneles@yandex.ru>
* Renames a few variables. Also reorders fallback order again.
Renames item_state to inhand_icon_state
Renames mob_overlay_icon to worn_icon
Renames mob_overlay_state to worn_icon_state
worn_icon_state/mob_overlay_state now never gets used for inhands.
* Fixes some comments
* Fixes map issue
* Restart lints
* Properly resolves conflicts