try_build() has long accepted `user` parameter, but nothing that called try_build actually passed it!
Upgraded try_build on APC to use the user parameter, and switched to use to_chat while I was there.
- Reinforced glass windows can be upgraded to electrochromatic by hitting them with a cable coil. The window must not be unpried from its frame to upgrade it (but it can remain anchored).
- Windows can be linked with a tint button by using a multitool on the button to buffer it, then using it on the window to set the ID. The window must be completely unanchored to edit its id.
- Window tint buttons can have thier ID set *once* with a multtool.
- Inspired by Baystation12/Baystation12#20508
- Also adds a "full tile" polarized window type for use by mappers.
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.
Adds toolspeed var, which is a multiplier on how 'fast' the tool works. 0.5 means it goes twice as fast.
Adds usesound var, which determines what sound is used when a tool is being used.
Changes a lot of code to use those two vars instead.
Adds 'ayyy' tools, which are ported from /tg/'s abductor gamemode. They're currently admin only but I might make them obtainable by xenoarch later.
Adds powertools, also from /tg/. CE starts with them in a new toolbelt that spawns in their locker, ported from (you guessed it) /tg/.
Changes welder sprites to look nicer, ported yet again from /tg/. Modified the blue welder slightly so it can be the electric welder sprite.
Adds various sounds from /tg/, for tools and welders.
* 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.
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.
* Fixes reinforced Walls construction
when having one sheet left in the stack
* Amends Windoors
- Assemblies are now made with two sheets of either normal or reinforced
glass sheets, for normal and secure windoors respecting.
- Assemblies can now be named with a pen, just like airlocks.
- Windoor assemblies now get placed like windows, and windows take
windoor assemblies into account when placed.
- Decapitalises windoor assembly names.
- Shattering windoors will make them drop exactly what they were made of
now.
- Prying emagged windoors will no longer make them shatter on top of
returning to an assembly.
- Cleans up a lot of code and gets its own update_icon() proc.
* Amends airlocks
- Fixes airlocks occasionally not updating their icon correctly.
- Fixes airlocks causing sparks on spawn as if they were damaged.
- Fixes airlock not being anchored after being turned into an assembly.
- Decapitalises airlock names.
* Windows that get unanchored by force will now correctly have the rotate verb.
* Adds changelog entry
Remains of player blob axed.
blob_act() axed. Blob now has an arbitary set of things it can attack.
It will flow over everything else. Blob has an awful tendency to destroy
non-craftables.
Will test more tomorrow.
Blob will now attack mechs.
Fixes#8106.
Fixes#10705.
- This is the second part of my PR that added phoron windows to protect the SM core from fires
- Borosilicate windows are heat resistant versions of regular glass windows. This PR renames them (from phoron windows/phoron glass/etc.) and adjusts the fire resistances
- They are no longer completely fireproof. Instead, all window types have fire resistance variables - maximal safe temperature and amount of damage taken if temperature exceeds this limit.
- Regular: 100C, Regular Reinforced: 750C, Borosilicate: 2000C, Borosilicate Reinforced: 4000C.
- Adds alloying recipe to make borosilicate glass. 2 sand + 1 platinum alloy.