Extends and reworks how various extended information text (desc_info,
desc_build, desc_upgrades) are handled to make object interactions and
mechanics A.) much more clearly documented in-game and B.) much easier
to support from the back-end.
Almost certainly a candidate for test merge.
Assembly/Disassembly instructions are noticeably sporadic, largely due
to our current lack of a unified framework. That's a future thing I'd
like to attack so that it can be handled programmatically, but for now I
only targeted the biggest culprits as I came across them.
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Refactored the projectile code, mostly in line with TG's now.
Refactored various procs that are used or depends on it.
Projectiles can now ricochet if enabled to.
Damage falloffs with distance.
Homing projectiles can now have accuracy falloff with distance.
Projectiles have a maximum range.
Muzzle flash is configurable per projectile.
Impact effect of the projectile is configurable per projectile.
Accuracy decreases with distance.
Projectiles work with signals and emits them, for easy hooking up from
other parts of the code.
Meatshielding is now less effective .
Impact sound is now configurable per projectile.
High risk.
Refactored all the builtin text procs to use string interpolation
instead.
Added a linting for the above.
This is based on, and should only be merged after, #19847
* Cleanup and expand suppressors
Suicide uses suppressed sounds too
Fix CL
Added the suppressor to the antagonist uplink
Fix CL escape characters
Fix random list
Resolve issues from code review
Split the suppressor into its own file
* Bayonets and ammo displays now add their weight to their attached weapon
* Balloon alerts for weapon mods
* Fix lint
changes:
rscadd: "Ported a new chat system, Goonchat, that allows for cool things like changing font style, size, spacing, highlighting up to 5 strings in the chat, and DARK MODE."
rscadd: "Repeated chat messages can now get compacted. You can disable this in goonchat settings."
rscadd: "You can change icon style to any font on your system."
tweak: "The game window has been altered a bit to adjust for this."
rscdel: "Removed skin style prefs as they are no longer used."
Converts reagents to use typepaths instead of IDs.
Centralises reagent spawning in a lot of places to use reagents_to_add instead of a variety of custom methods or initialise overrides.
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;
All << is converted into to_chat().
Projectile hitscan effects moved to /effects/projectiles folder.
Most of projectile firing code and some of impact code refactored, and projectile hitscan effects refactored with ported TGcode (which is mostly TGcode I wrote anyways 😎)
Projectiles can now be fired at any angle, instead of just at the center of turfs!
Projectiles are now [in theory] 100% accurate down to 0.001 of a pixel.
-fixes #4172
-fixes #4193
-fixes #4192
-fixes #4189
-fixes #4179
-fixes #4170
-fixes #4197
-fixes #4201
-changes the access of the security checkpoint, so all heads of staff can use it
-fixes the hop being unable to access the account's computer
-fixes being able to feed holodeck penguins
-fixes modular laser weapons not interacting with firing pins
-fixes more guns not interacting with pins and remove the need for pins from certain guns, like crossbow, alien weapons and etc
-fixes unstable matter's portals and the elixir of life
-nerfs liquid fire a bit
changes:
Converts guns to initialize.
Converts lift control panels to initialize.
Swaps out a spawn in droppods for addtimer.
Fixes a bug where already-opened pod doors would still attempt to prime if hit.
Ports Baystation12/Baystation12#12658
Changing how the calculation of armor works , instead of just being a check if it is protected fully, half or nothing. Making armor more reliable and less rng dependant.
Also, uranium meteors will irradiate nearby people when they explode.
Nerfs blob rollercoaster of death by making it so that blobs cannot interact with the mobs inside of other blobs.
Replaces blob's gibbing mobs with husking humans, merely killing borgs, and gibbing everything else.
Makes flamethrowers modestly more effective versus blobs - a consistent source of minor AoE damage.
Makes blobs more aesthetically pleasing.
Distinguishes the main core from the aux cores slightly more.
Fixes#1426Fixes#1427Fixes#1432Fixes#1461Fixes#1464Fixes#1471
Modifies BFG's to be more like actual BFG's.
Fixes Industrial IPCs being able to select Baseline IPC screens.
Fixes several baycode company names to fit ours in guns. Changes several of our guns to fit Baycode's naming paradigm.
Protolathe and CI build procs moved to them from RD console.
Protolathe and CI now have a build queue. Designs take varying time to
build.
P and CI material storage is now a list instead of a set of vars.
origin_tech is now a list.
All sheets now contain exactly 2000 units of matter.
In design datum, chemicals and materials are two separate lists.
Designs are now sorted. The method is kinda hacky but flexible. They
have a var, sort_string. Designs are sorted alphabetically using it.
Circuits how show whether they build a machine or a computer in CI menu.
Adds item construction, for now protolathe is used.
- Fixes for turrets, rogue drones, and emitters
- Removed muzzle flash from chem darts
- Converted emitters to use spanclasses and have correct capitalization
Tweaks syringe gun and dart gun, renames syringe gun cartridges and makes them printable.
Adjusts penetration so that passing through mobs happens with a probability that scales with damage.
Adds a .45 signal pistol to the HoP's closet and a 9mm one to the mercenary shuttle.