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.
Merges the two meteor events into one, and now takes severity into consideration instead.
Including the basic meteors there are also new types ranging from flaming to radioactive which may drop appropriate types of ore.
Still have: doors, windoors, cameras, windows, grilles, blobs, resisting, alien stuff, mechas, spray bottles.
Setting changeNextMove is now responsibility of the item being attacked.
Adds a config option to eliminate click cooldowns completely. Intended to be used by devs.
Grilles no longer return more rods than they were created from when destroyed (by method other than wirecutters).
Rods are now acquired from and returned to a pool.
Also adds a pre-broken grille for mapping, avoids the case where one might be able to destroy the same grille twice.
Updates Bump() code.
Intents now use constants.
Simple animals can now use languages without overriding say().
There is now a difference between being able to smash normal and reinforced walls.
Reworks simple_animal/attackby so that constructs don't need to override it simply to add damage resistance.
* Refactors projectile Bump()
* Converts projectile_type var strings to paths
* Reorganizes bullet projectile paths
* Made a pass through all the bullet_act() definitions. Mainly ensured that damage_type is checked when dealing damage to certain objects. Removed stupid /turf bullet_act() override, replaced with on_hit() overrides on the relevant projectiles.
* Adds shotgun pellets projectile. Adds Raptor's shotgun slug sprite.
* Gives stunshots more of their own identity, refluffs them as taser cartridges for shotguns. They still aren't obtainable anywhere unless spawned.
* Makes projectiles pass through girders and cultgirders with a certain probability, unless the girder itself was clicked.
* Projectiles are also able to pass through grilles. Low damage projectiles have a chance to be blocked by grilles. High damage projectiles have a chance to have some damage absorbed by the grille.
* Makes projectiles for blanks invisible.
* Adds flash bullet types
* Adds support for 'penetrating' projectiles
* Swaps .45 and 9mm projectile types. .45s hit slightly harder, 9mils have more ammo capacity.