* Overlay queuing
* Fix SS flags
* Don't copy on assignment
* Flags processing
* Fix icon_smoothing
* MSO's helper proc
* Legacy detection
* Make it work
* Fixes shitcode
* Fix the flag
* |= -> +=
* OK, how did I fuck that up?
* shitcode
* Conditional assoc queue while initializing
* Cleanup everything
* Orange meme
* This isn't perfect, but its the best byond will give us.
* forgot about dir
* oh ya
* This was litterally the last thing i did last night before heading to bed
You can tell can't you?
* Fixes various shit
* Let's not ever pause
* Fix the flag
* Cleaned up some missing shit. Added image dummys
* Remove the one usage of FPRINT
* Jesus get rid of this
* Part1
* IT COMPILES!!!!
* Fuck wait this was missing from that last
* Update handlabeler.dm
* Update handlabeler.dm
* Fixes n shit
* Fix this
* Fixes#23310
* Fucking @RemieRichards was right
* Fixes devil unEquip
* WTF ARE BITFLAGS?
* THERES THE FUCKING PROBLEM
* Fixes
* Refactors atom/Initialize
Captialized for compiling correctness and to be more inline with Destroy
Will now be called from atom/New if the world initialization loop in SSobj has already run. Should always call the base.
Now comes with the `roundstart` parameter indicating whether or not it was called by SSobj or atom/New
Other fixes/tweaks:
- Renamed a proc called Initialize in abduction consoles to Setup
- Removed /obj/item/device/radio/headset/headset_sec/department: Broken and referenced literally nowhere in the code
- Removed a spawn from the Initialize of turbine_computer which made literally zero sense
- Generalized the proc which fixes RND servers with no id set
Reasoning: It's better to check roundstart per function than to have to duplicate code in New and Initialize. Think of it as a safer New for atoms. If we move enough stuff to it, initial map load performance will increase due to less New calls
* Fixed a thing
* Actually, fuck the police
* >Expecting a merge without errors
* >Not calling ..() in New
* Sanic
* Fix the headset bug
* Makes sure the map loaders dew it right
* Fixes ruins being initialized twice
* Rename roundstart -> mapload
* Revert "Rename roundstart -> mapload"
This reverts commit 667c327fd2ccfa3ce4f4db52eac03f9e8b0f6812.
* Remove unrelated change
* A more direct solution to map loads
* And now we shouldnt need this warning
* Add the new var to SSobj recovery
* Revert "Revert "Rename roundstart -> mapload""
This reverts commit dee07dbd5e4696554ac43aae5b91cce743b9b9e0.
* Line endings
* Aux Mining Base Tweaks
- Multiple landing zones may now be set for the mining base.
- The coordinates of each landing zone is shown in the list.
- Miners now each get a remote in their starting lockers.
- The Aux mining base now requires lighting while on station
- The Aux Mining Base now has a GPS signal.
* More tweaks
- The shuttle landing beacon no longer requires line of sight, just a
distance check.
- Beacon now has a description.
- Landing site name updated
- Adds support for stat logging base drops.
* Mining Shuttle Interface
- The aux base can now interface with the mining shuttle once the
shuttle beacon is deployed near the base.
- Updated descriptions to explain this.
* Launch Warning
Keeps the launch warning without it going off each time it is used to
move the mining shuttle.
Makes the ore redemptor machine 100000% less spammy to request consoles, and prints a list of what exactly is in the machine. The new non-spamminess means chemistry and the bar can now get a notification, because there will only be one message per load.
Adds bluespace polycrystals, basically a "smelted" "sheet" of bluespace crystals, to the game, in order to make the ore redemptor accept them.
Previously it was displaying as clockwork scarab says "", because of a
runtime in the rot13() function. I fixed it.
Also fixes the maptext for debug GPS units.
Added priority overlays to atoms, which will not be removed when overlays are cut and will always remain on top when new overlays are added. This requires everyone to use add_overlay() and cut_overlays() instead of overlays += and overlays.Cut(). These procs are found in __HELPERS/icons.dm, and the priority overlay list is found in game/atoms.dm. Everything else is replacing deprecated overlay manipulation.
This PR finishes work started in #17300 by making all the machines use apply_default_parts(src) for components initialization.
It also adds two new board sprites, one for Abductor boards and one for Ravtar boards:
board board_a board_r
There are no deconstructable Ravtar machines yet, sprites are added for future use. Abductor sprite is used only by Seed Vault's plant DNA modifier. It wasn't made by actual abductors, but it was surely made by aliens.
Boards now have a new var: def_components. It is a list containing replacement paths for default parts. For example, list(/obj/item/weapon/stock_parts/matter_bin = /obj/item/weapon/stock_parts/matter_bin/super) would make machine spawn with super matter bins instead of basic ones by default.
Console screens that were used in machines instead of glass sheets are replaced with actual glass sheets. Support for sheets as machine components was added in a previous PR
Packagewrapping a pulled item now properly stops the pulling.
Using put_in_hands() procs now properly checks if the mob has a hand.
bodyparts icon_state is now "" like it should be.
You can no longer build a firelock on top of another firelock.
You can reinforce a firelock assembly to build a heavy firlock.
Human species who breath something other than oxygen now get the proper alert when in crit, and I fixed the alert not being removed when healed.
Removes tech levels from some traitor objectives. They had tech levels even before the remake but apparently now that the levels got raised that became a problem. Also some small tweaks to other items to make some early levels easier to get.
* Adds new items to the mining vendors, also adds tracking implanter since that didn't exist before.
* woops
* Fixes tracking implants for miners, makes medipens not OD you on tricord.
* Actually doesn't OD on tricord now
* Chemical changes.
* Upgraded the jaunter into the wormhole lifebelt
🆑 coiax
rscadd: The Free Golems have developed the jaunter into the wormhole
lifebelt, which automatically teleports the user when they fall in a
chasm or suffer a major medical emergency. Must be worn on the belt to work.
/🆑
Please don't mistake a random teleportation in crit for saving a user's
life, the Supply channel gets a notification, but suit sensors are
required to find them, and there's no guarantee the location picked is
safe (for example, the Toxins Test Site is a valid jaunt destination,
along with in the middle of the slime cages in Xenobiology).
* Adds modification kit.
* Golem ship now has its own /area
And a bluespace beacon.
* 5 tick medijaunt, no radio, golem jaunters + areas
The number of ticks before a medical emergency jaunt happens is now
five. No radio message is produced.
Free Golems now have no restrictions on what they can purchase. Wormhole
jaunters now specifically drop golems near their ship.
* Modkits remove the race restrictions from KAs.
* Buffs buffs buffs
I'd say something, but I'm sure I'd regret it later.
* Advanced lifebelts, golem superiority
* Removes modkit from minervendors, adds modkit to RnD!
* COMPILE DAMN YOU!!
* I made it compile
* Honor to my country, not to you :(
* fuck
* h-haha?
* Kor you know I would never actually ban you
* i could personally care less for HBls adminning style
This contains the changes to item_attack.dm
Obj/attackby() now follows a similar structure as mob/living/attackby. It calls attack_obj() (like attack() but for obj) which calls attacked_by (just like attack() does)
The use of the NOBLUDGEON flag changes a bit, it is now used to signify the item cannot be used as a melee weapon at all. No attack animation, no attack message. I've given this bitflag to many items that have an afterattack() so as to not both attack and do the special action (among those items: the rcd)
There's also the code changes to attacking machines: attacking any machine now give a proper message and a sound. And with this, I made more machines breakable (using a health var and the very little used BROKEN stat). Most notably, tables can now be attacked when on harm intent and be destroyed.
The newly destroyable machines have a take_damage() proc used by all sorts of attack (weapon, xeno, animal, hulk, mech melee, gun projectile, thrown items).
There's some more stuff in there, see the PR's description and comments.
These are the files with just tiny tweaks. Mostly modify an object's attackby so it does "return ..()" instead of "..()".
If there are other things in this commit, the PR's description will explain them.
obj/effect/effect is now renamed obj/effect/particle_effect for better usability.
datum/effect/system and /datum/effect/effect/system are now both /datum/effect_system.
Fixes a bug where wall mounted igniters (and other spark producing objects) didn't produce sparks sometimes.
Moved explosion_particles.dm into the effect_system folder, because it has effect_systems code.