NB. In some cases we go from a more complex image() to a single icon_state string and I assume this works for every case but do not care to check because of the sheer scale of extra fiddly effort. Buyer beware, not my code.
* get_tool_quality has numerical meaning
* Basic tools set tool quality
* Toolspeed is replaced by tool quality checks
* Addresses assorted results from live test
* Extra cleanup
* Adds linter defines to repo.
* Uncomments linter defines already in the code.
* Resolves unreachable code linter errors.
* Nukes decade+ old syndie specops code except for computer since that's mapped in?????
* Resolves procs has no parent linter error.
* Proc signature fixes
* Bad comments
* "In" danger
* Type safety
* Implied nested list abuse
* Top level ..() usage
* Sleepy coder typos
* Invalid kwargs calls
* Pointless returns
* Linter hacks (see full message)
Byond doesn't care and it has no effect but linter doesn't like var/proc
for holding references to procs, despite that it's valid byond code.
Also, the linter seems to have serious issues figuring out relative
proc names. This commit is a sort of take-it-or-leave-it thing. It's not
required, it just cuts down on warnings, but this code is valid DM code.
* WHATEVER THIS IS
* Trick dreamchecker linter into ignoring this file's sins in it's weird use of vars
* Fix list decoration syntax - Its a list, not list of lists
- To declare that a var is a list you can `var/list/blah = list()` syntax or the `var/blah[0]` syntax. Both do exactly the same thing. But if you do `var/list/blah[0]` that is just like doing `var/list/list/blah = list()`
* Hopefully stops the ai holder subtype folder from going quantum and sometimes changes capitalization over time, and incidentally causing 20+ linter errors.
* Fixes unwrapped negated object in list linter error.
* Resolves colon-like list accessing linter error.
* Turns linter on in linter config.
* Fixes closet indentation properly and cleans up suit storage unit switch.
Co-authored-by: Aronai Sieyes <arokha@arokha.com>
Co-authored-by: Leshana <Leshana@users.noreply.github.com>
* Sideports a couple of init unit tests from Neb.
* Trying to unfuck initialize logic.
* Removing del()s.
* Adjusting return values to Initialize().
* Moving some dangerous object logic from obj onto the two types that use it.
* Rolling back some init changes and commenting out initialized atom unit test.
* this comment formatting is a minor war crime
* Removed sleep() from signaler circuit Initialize().
* Additional Init fixes post-rebase.
* Uncomments subsystem test since that's passing.
- In short, delamination changed to more or less mirror effects it has on Bay.
- All of the new delamination effects can be easily tweaked in the future using set of defines.
- In general, aim is to make supermatter delamination a more or less "recoverable" event with enough materials and manpower. Before it was just a mangled irrepairable mess of scuttled steel.
- This brings a LOT of performance improvements and runtime error fixes (grav pull of anchored items which were never meant to move tends to cause runtimes)
Detailed changes:
- Supermatter (and also S5/S6 singularity in the event someone manages to build one, they share the proc) no longer pull anchored items. This brings a MASSIVE reduction in delamination lag (from few second freezes to quite smooth) and prevents things from breaking (i saw dozens of various runtimes when delamination occured as it forcibly dragged things around that weren't supposed to be dragged).
- Delamination crashes the station's power grid, shutting down all APCs for few minutes. Critical areas get shut down only for fraction of that time (we don't want to one-hit the AI). This includes healthcare facilities, which are likely to be very important given the other effects.
- Delamination irradiates and briefly weakens all mobs on the station (not only on the same Z level). I have verified that this is enough to kill an unprotected human if no kind of medical care (at least dylovene, ideally something against rads) is administered.
- Delamination will break a bunch of lights. Nuisance, but easily repairable. Adds to the atmosphere.
- Delamination breaks part of the solar arrays, reducing their output by roughly 60%. This is way less than required to run the station. Puts more emphasis on delamination being engineering-centric emergency, with power rationing being a necessity until solars can be fixed, or other power source secured. Rewards engineering if they managed to stockpile some energy in the SMESes around the station.
- Delamination's explosion is quite weaker than it used to be. It should still be enough to pretty much destroy the engine room (see attached screenshots below), and cause some minor damage in adjacent rooms. It should still, however, be repairable with enough resources and some time.
- Supermatter no longer has additional 99% flat modifier to miss a station Z level when ejected. Emergency core ejection is a last resort measure. It does have its risks. With other changes in this PR, delamination on outer hull is significantly less dangerous than it would be before. It still has various secondary risks, however, such as the radiation or temporary power outage, but with considerably mitigated damage (explosion in space, mostly on outer grilles is generally weaker)
Screenshots:
https://i.imgur.com/K7nBd8a.png (Standing directly where the core was. Engine room has heavy structural damage and all pipes/machinery are pretty much devastated)
https://i.imgur.com/SGBdTRo.png (Standing in engine control room. Damage nearby is quite minor (occassional snapped wire or wall panel), but quite widespread).
https://i.imgur.com/JqzF4pW.png (Solar arrays are heavily damaged. They still provide /some/ power but only a fraction of the original)
- Adds the update_idle_power_usage() and update_active_power_usage() procs for the respective vars.
- Switches all places modifying those vars directly to call the procs instead.
- This will let us react to the change appropriately, paving the way towards static area power.
- Adds update_power_channel proc for the sake of completeness, but no machines actually modify it so far.
- This will let us react to the change appropriately.
- While we're here, lets define some constants so we can stop using bare numbers.
- Always use those constants when calling update_use_power()
* Adds Imperion sprites.
* Adds more Xenoarch sprites (most from Schnayy)
* Adds Precursor tech and Anomaly tech.
* Adds Precursor and Anomaly machine components. Machines tweaked to allow usage.
* Bioprinter can print random-species organs with Precursor tech.
* Adds Verdantium, Lead, and Marble to mining.
* Marble rebalanced to compensate.
* Tweaks Xenoarch find spawning
* Xenoarch can now find Imperion circuits (useless for now).
* Xenoarch can now find boats, and sometimes an oar, of a random material.
* Particle smasher added to make Morphium, Valhollide, and Supermatter.
* Morphium and Verdantium coins added.
* RnD machines can accept more materials. No recipes tweaked.
* Ports the supermatter grenade, supporting code
* May or may not make movement seem smoother
* Fixes the Sleepy Ring
* Partially ports the GLOB system
* Fixes the bug(s) that allow meat bodies to have metal brains
* ports VOREStation/VOREStation#4165 - i forgot to check if advanced who was a thing here
* Optimizes supply UI
* Transfer shuttle grammar fixes
* Fixes borked E and W fish sprites
* Fixes incorrect ETA in crew transfer announcement
* Ports descriptors from Bay
* Add files via upload
* Removes Noble Defines
* Mech Mini 'Revamp'. Will need playtesting. (#5480)
* Exosuits are now capable of holding more equipment, of specific types.
* Tweaks regarding feedback in staffside thread, other concerns.
* Tweak to be more consistent. Why did the Odysseus have two universals. Tweak to weapon restriction on Med - > Odyss
* Weapons only fit in universal combat slots.
* Adds smart magazine, magazine functionality
* Adds a new subset of grenades that shoot projectiles
* Low alpha now makes HUDs and tooltips not show up on you
* Fixes a UI bug with emptying currently-open bags into smartfridges...hopefully. (#5515)
* Update smartfridge.dm
* actually indicates which line solves the bug
* Adds a whole bunch of Exosuit weapons and other miscellaneous parts.
* Minifrags now use the small fragments mainly as they should.
* Iced beer no longer freezes you to 3 degrees C, which is enough to seriously burn a Skrell. Seriously, that's weird.
* Touch stuff in reference to responses.
* NanoUI now processes again
* Initial Work: Manifest, Newsfeed
* Adds newscast viewing, manifest
* Cartridge devices
* Template progress
* Med records, Sec records, Emp records
* Cartridge work part 1
* Cartridge work: part 2
* Power monitoring console
* Cartridges have persistent, internal data
* Code to load element-specific data upon request, instead of serving all relevant data at once
* Janitorial Supply Locator
* Refactor crew manifest to a separate file
* GPS cartridge
* Reorganize GPS to proper organization, important comments
* Supply cartridge
* Status display access
* Merc blast door controller
* Appeases travis (Round 1)
* Appeases travis (Round 2)
* Headset sprites are now on the default ear, which is left
* Cleave changes, attack code cleanup
* Catching is no longer guaranteed, accuracy code is more general
* Adds a Neural implant for future implementation. Promethean brains have been updated to fit it.
* changelog
* Robots can attack things again
* Might help with air subsystem lag
* Ports the spinny throwing animation from Bay
* Cult heal modifier no longer does Shit-Tons of agony. Does mediocre agony on non-cultists.
* Defines.
* Headset sprite tweaks
* Shield Drone no longer auto-fails with Energy Relays.
* I'm an idiot.
* PoIs can be rotated in increments of 90 degrees
* Might fix the server startup error_handler runtime
* Cult Girders are back to being proper.
* Submaps can now be rotated to any cardinal direction (South is default)
* Should fix another runtime with tools
* Buffs the Vox
* Removes debug code (Yes, I'm an idiot)
* Ready for merge
* Fixes some bugs tangentially related to Vox code
* Ports /vg/ instrument frame work, adds client based sound pref
Also shifts sound files which is 98% of the bulk here.
* Helmets now show only certain hairstyles
* fixes the trailing tag, I think
* Scrubbers no longer automatically scrub phoron (#5512)
* adds manual changelog
* Adds new set of cyborg sprites for medical/science/default/security/combat (#5546)
* Refactor cargo trains, they're just normal trains now. Adds the Quad, and re-enables/fixes the Space Bike!
* communicator_header.tmpl now correctly includes Body
* Adds tails to Unathi rig suit sprites (#5551)
* supplycom/control drops the correct circuit
* Emags have an effect on cargo consoles
* The cybersuit is now a space suit.
* Map Bugfixes
- Fix for mislabeled c_tag cameras, first deck
- Fix for mislabeled c_tag cameras, second deck
- Fix for poi crashed containment shuttle mapping issues (terrain generation)
- Fixed wrong floor type on skipjack
- Fix for scrubbers pipe, central substation
- Fix for air supply pipe, chapel
- Fixed scrubber pipe, Engineering Drone Fab
- Fix for air supply pipe, Prison Wing
- Removed redundant supply and scrubber pipe, Security Auxiliary Dock
- Fix, Fore Aux Dock airlock pipe.
- Fix air supply pipe, library
- Fix, scrubber pipe, coffee shop
- Pipe fix, Medical maint
- Fix, supply pipe medical secondary storage
- Removal, redundant supply pipe, cargo maint
- Fix, virology scrubbers pipes
- Fix Xenobio and Xenoflora missing atmos connection to the main outpost
- Fix, missing atmos connections between Main outpost telecoms and main outpost atmos
- Fix for missing power wires, HoS Office, Warden Office, Heads of Staff Meeting Room
- New, random mouse spawner
- New, random mouse spawners added throughout maintenance on the station (maybe too many, maus station 13)
- New, 30 sheets of lead added to engineering
- Fix, POIs should now be rad protected and characters won’t be affected by the radiation event
* Fixes Lead Walls (#5562)
A material's ``radiation_resistance`` was never considered for calculating a wall's cached resistance to radiation. This fixes it. There is another issue involving r-walls not being better at stopping radiation than their normal-wall counterparts made of the same material but fixing that involves a lot of number adjusting to avoid the SM engine from getting twice as protective.
* Yet Another Circuit Update (#5549)
* Circuit updates, adds new components, improves printer, new assemblies.
* Finishes powernet circuit.
* Adds wearable assemblies.
* Finialization before merging with GLOB port.
* Finishes circuit update, hopefully.
* Forgot to undo map.
* Removes debug output.
* Readds size traits
* Signal pistol can be reloaded (#5566)
* Makes Blobs more useful.
* Rig and Spacesuit additions
- Added the 'military' Rigsuit from Bay.
- Added 'pmc' rigsuits
- Added exploration and pilot voidsuits along with alternate sprites (alternate sprites done by Naidh)
- Addition of suit cyclers for exploration and pilot voidsuits
None of these suits are currently accessible in game outside of admin bus. Currently only the pilot voidsuits have other species sprites. Exploration suits are missing sprites for Teshari (Naidh made some for their alternates but I have to add them) and the rig suits are human only. This is to be fixed in the near future, just wanted to get the make workload actually in the game first.
* Dermal implant doesn't cover hair
* Fixes a couple of tool related oversight/runtimes
* Fixes hand and leg cuffs
* Technically adds the Ore Redemption Machine
* Update combat.dm
* Boot knives fit in boots
* Adds tails to Unathi rigsuits (again)
* PoI fix
* Skrell names no longer contain spaces
* Descriptors now properly respect species differences
* Make the Statue NOT entirely immortal.
* Psychiatric Medication Fix (#5588)
* Psychiatric medications are faster when ingested
* Psychiatric med fix
* Updates changelog
* Tweaks emitters and Pacman
* Adds the Biopsy Scanner to the Surgery Kit (#5589)
* Adds the Biopsy Scanner to the Surgery Kit
Since it's actually used in a surgical operation, it should proooobably be in the kit. Iunno if the kit is really used here aside from antag shuttles, but they might as well have it.
* Added a missing comma
Missed a comma, might be what's causing issues. Iunno. It worked flawlessly in dream-maker.
* Adds some Holy drinks, and Promethean-safe drinks / acclimators. (#5574)
* Adds some Holy drinks, and Promethean-safe drinks / acclimators.
* Carbon + Water + Oil = Sludge
* TRUEFALSE & * removed
* Be Smart about damage things.
* Don't spawn things in Null please.
* Adds a generic proc to the mining vendor to add custom / blank entries.
* Keys now actually exist again.
* Species item slowdown changes
* Pose now shows up under descriptors
* Fixes Circuitry Glasses.
Button in HUD should work now.
* Phase rifle size correction
* Should fix the new bugs with webslinger spiders (#5612)
* Hyposprays can now have different sounds
* admin helps, but working this time.
* handle issue, GLOB staffwho
* admin list seems bork'd cleans up feedback messages
* Fixes grabs breaking defined mob pixel offsets.
Yeah.
* Custom RIG Framework (#5613)
* Framework for Custom RIG sprites.
* Fixfix
* line ending
* Text for handheld plushies when poked
Plushies now make sounds when poked. Squeak!
Ported from https://github.com/VOREStation/VOREStation/pull/4231
* Shotgun cycling animation framework
This adds the possiblity for empty sprites on all shotgun/pump/thing and for cycling animations.
https://cdn.discordapp.com/attachments/407267031562453032/488751327531368481/2018-09-10_18-43-05.gif
This particular weapon was made by a friend so i'll wait for their permission before porting it in.
* Add an animated rifle.
Nothing is particularly impressive except the animation.
* Fixes some bloodloss bugs
* Move almost everythign food related into the kitchen module.
Not moving reagents and tools.
* Minor issues fix.
* Remplace sprite hammer with pickaxe
This particular hammer had been sitting 'waiting for sprites' for 4 years at least. Could be a lot more really.
Fixeshttps://github.com/VOREStation/VOREStation/issues/4183
* Fix mislabelled posters.
https://github.com/VOREStation/VOREStation/pull/4310https://github.com/VOREStation/VOREStation/issues/3597
* Remove kobold.dm
This file has no sprites and is used nowhere. It does have some kinda cute emotes but without sprites it's useless and has been since 2017 and maybe much longer. I haven't found any references of it's origin either.
~~maybe virgo will do sprites i dunno~~
* Fix yes emote not working correctly.
It's a lazy fix but it works.
* Fixes chem master dumping reagents.
Previously, if you used a bluespace beaker and transferred all of it's contents, the chem master buffer would silently drop all of those chemicals without warning.
* Fixed smes terminal construction requiring more cable than used.
* Fixes laptop blocking grown adults.
* Fixes several typos with oxygen_pump.dm.
* Fix the condimaster not working.
Previously, you simply couldn't make any condiment using this machine. Now you can. There was just missing template which is back in with this PR. (Thanks aronai.)
This means you should consider remplacing it in your kitchens.
* Remove intensity from chemistry machines.
* Add a noise for mining scanners.
This should affects all devices using it too.
* Prevents people from HREF exploiting around the R&D console.
* Lock has a check already, so remove that.
* reeeeeeeee
* Fixes missing sprites when excavating rocks
* Xenoflora and Xenobio House Move
- Moves Xenoflora and Xenobio stationside, on first deck. Leaves the old labs still up planetside for the time being.
- Minor bug fixes, missing lights, mislabeled lockers in robotics, floor decals.
* Changes << to to_chat at request.
* wax staxs
* Fix plastic ashtrays only holding one butt. Now they hold 4butts.
jeez bill.
* Move surgery caps into their own selection.
* Fixes maploading
Imagine you're on the last iteration of this loop, you've done the final column of X coordinates and you're going to set maxx.
Would you want to set it to where you are now, the final X column... or would you want to add ONE MORE beyond the template size for some reason then set it to that?
This bug causes all templates that are the size of normal maps to fail to initialize any atoms if your template is the size of your normal maps, because it tries to obtain a square of size minx, miny, minz, maxx, maxy, maxz to initialize, however maxx is nonextant because it exists outside the bounds of the world. It also causes all submaps to initialize an additional column of atoms twice, or not initialize any if they spawn against the right edge of the map.
* Graves (#5622)
* Adds support for closets storing closets, and graves
* More Grave Things
* Chnglog
* Polaris Vision Tweaks
* Fix a couple of ticket bugs
Don't show admin character names when they reply, and this proc appears to take different options on tg, so was fixed here.
* Prevent people from removing papers from any distances.
* Removes maintenance access from cleanbots
This should stop them from wandering into maintenance never to be seen or heard from again.
* Remove very annoying midi tools
* Magazines improvements (#5666)
* Give sounds to emptying magazines
* Clear some trash in the saber magazines
* The magazine NOW behaves correctly.
* The second half and more casing noises.
* Fixes map and makes everything compile.