This is it. The big one.
Risk: Very large. This modifies or rewrites several important systems.
Some things still need balancing, but that's probably better done if/when this hits dev.
changes:
New smooth lighting system.
Machinery split into three processes: machinery, powernet, pipenet Removed due to breakage. Refactored into multi-step process.
Mob process rewritten.
NanoUI process rewritten.
Objects process rewritten.
Tweaked color output of station lights.
Slime core lights now emit colored light.
Fixed light update frequency issue with fire alarms, hydroponics trays, and airlocks.
Increased light emission from bolted airlocks.
Miscellaneous performance improvements.
New datum pool implementation.
New lighting usage profiler.
Lighting system now tracks UV light, which is not visible to players.
Space now has a parallax effect.
Disabled Spin View verbs due to incompatibility with the new lighting system.
Disabled hallucination view spin due to incompatibility with the new lighting system.
Lighting system now initializes in the lobby before the round starts to reduce BoR deadtime.
Added UV light tracking to lighting engine; dionae now gain energy exclusively from UV light.
Added colored lighting to a few consoles that used default (white) light.
Adjusts mousetraps a bit. So they'll be triggered by all mobs instead of only humans, and trigger when walked on. Also nerfs the instastun that comes from stepping on them without shoes, because that's pretty broken against giant monsters like vaurca breeders. applies halloss instead based on mob size. Smaller things get hurt more.
Fixes#1445Fixes#1449Fixes#1450
Adds directional audio for explosions and fixes a variety of sound issues with them.
Adds screenshaking for explosions
Tweaks volumes and adds missing sounds for several window/airlock interactions.
Also fixes some runtime errors here and there which were discovered during testing, mostly just adding safeties
changes:
rscadd: "Added a Crash ability to exosuits. Uses the suit's mass to attempt to break through obstacles, sustaining some damage in the process."
tweak: "Buffed Ripley exosuit armor values significantly, and durand armour slightly. Firefighter ripley also buffed, but is slower than base ripley."
tweak: "Greatly increased the health values of some high-security airlocks."
bugfix: "Airlocks, tables, girders and windows now behave a bit more consistently when exploded. All airlocks are a bit more resistant to explosions when bolted."
rscadd: "Added some more narrator voices to exosuits."
rscadd: "Added some warning sounds for exosuits when low on power, or badly damaged."
tweak: "The power drain of EMPs used on exosuits no longer scales with the cell. A better power cell can now survive more EMP hits. Drain level is a little lower for the starting cell."
tweak: "EMP damage against exosuits reduced by 20%"
Mega health windows (the old 1e007 Crescent windows) are now replaced with with either normal reinforced windows or the Crescent window sub-type or relevant window spawners.
Also changes the security sub-armory window from dir 5 to 2 (non-cardinal directions transforms windows into full-tile ones, it's no longer visible in the mapper). Fixes #11889.
Adds pre-defined full tile reinforced windows for when those are needed.
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.