Commit Graph
69 Commits
Author SHA1 Message Date
e0aa218843 Shell May Cry: A comprehensive rework of synthetics. (#20721)
https://www.youtube.com/watch?v=9mPvZ96pHJI

A pull request commissioned by the Synthetic Lore Team to
comprehensively rework synthetics (read: IPCs) and how they work in
Aurora. The objective is to make IPCs as unique as possible from humans,
upgrading the robotic feel and atmosphere, while also preserving a good
sense of balance in-game.

Key features:

- A comprehensive expansion of synthetic organs, all of which now
fulfill a purpose: hydraulics, cooling units, power systems, actuators,
diagnostics units.
- Customizable organs with benefits and drawbacks, such as with cooling
units and power systems.
- Unique ways to repair the organs and more involved steps.
- Unique damage mechanics - every organ has wiring and electronics which
affect its functioning, and they are defended by plating which provides
natural armour.
- Improved and immersive diagnostics.
- Unique features, benefits, and drawbacks for every IPC frame.
- A rework of the positronic brain, which can be either destroyed or
shut down, alongside effects caused by low integrity.
- A rework of how EMPs affect IPC organs.
- Non-binary damage states for each organ.

To-do:

- [x] Finish the unique features for each frame.
- [x] Look into if mechanical synthskin is possible.
- [x] Power system.
- [x] Posibrain mechanics.
- [ ] Passive cooling expansion.
- [x] EMP mechanics.
- [x] Repair mechanics.
- [x] Mob weight mechanics.
- [ ] Gurney for heavy mobs.
- [x] New augments.
- [ ] IPC tag scanning and flashing.

---------

Signed-off-by: Werner <1331699+Arrow768@users.noreply.github.com>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: Geeves <22774890+Geevies@users.noreply.github.com>
Co-authored-by: Werner <1331699+Arrow768@users.noreply.github.com>
2025-12-21 16:26:23 +00:00
FabianK3andGitHub 93ed3d812d Fix printer handout runtime (#21637)
# Summary

This PR fixes a runtime when printers eject paper without a mob being
nearby (mainly automated console printouts).

## Changes

- Add mob check when printer handout papers.
2025-11-30 23:10:00 +00:00
Casper3667andGitHub 34875a3ab9 Make consoles print paper into the users hand (#21581)
As per the title, printed papers from consoles are now put into the
users hand instead of on the floor.
2025-11-17 19:18:26 +00:00
BatrachophrenoandGitHub c2f054fd81 DMdocs (#21103)
Progress on DMDocs. PRing progress so far so there's not one mega PR
later with 1500 affected files.

I want my goddamn highlight text on what all these goddamn procs goddamn
do goddamnit. >:(

No actual code change anywhere in this PR, only comments.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-08-09 12:22:56 +00:00
BatrachophrenoandGitHub 6bba514a4d Misc Modular Computer Fixes/Cleanup (#21092)
Prompted by
[this](https://github.com/Aurorastation/Aurora.3/issues/21090) (Atmos
control app not reliably updating all alarms from
SSmachinery.processing). Did what I could but barring a larger refactor
of how computer programs are initialized, didn't want to burn Too much
time so implemented a Refresh button in the application interface as an
in-game fallback option.

Also fixes the bug with Loadout-spawned laptops not booting; their hard
drives were being initialized with default software due to accidental
codeblock removal
[here](https://github.com/Aurorastation/Aurora.3/pull/20660/files#diff-40a75a936400e3c347fd8c3d4c804190a63ac9be980912f6a9995efd1b296a1e).
Restored the affecting code.

Updated several other files I discovered in passing while working on
this with proper DMdocs formatting.
2025-08-03 16:12:30 +00:00
75b9319a0e Removes SSDocs (#20660)
Removes SSDocs as its unused

Also MD because we should discuss if that should be revived instead.

Co-authored-by: Werner <Arrow768@users.noreply.github.com>
2025-07-12 18:20:33 +00:00
FluffyandGitHub 7265630dde Turn more unmanaged global vars into GLOB (#20446)
Turned a ton of unmanaged globals into managed globals.
Refactored some UT output.
Removed some unused things, including vars.
Added a test to ensure people don't keep adding new unmanaged vars.
2025-02-17 23:34:02 +00:00
FluffyandGitHub b8902e2e16 Runtime map now loads in ~11 seconds instead of ~40, sped up various other things (#19957)
Runtime map now has a bunch of new areas / items with often-tested
stuffs, and some hard-to-put-at-runtime stuffs.
Runtime map jobs now are positioned to make it faster to reach the
aforementioned often-tested stuffs.
Runtime map doesn't generate an overmap anymore by default, which speeds
up the process.
Runtime map now loads in ~11 seconds instead of ~40 seconds as it was
before.
Updated the maploader to be faster in parsing maps.
Bapi is not engaged anymore if we're only measuring the map size, which
speeds up the process.
In fastboot we do not generate the codexes anymore, which speeds up the
process.
In fastboot and if exoplanets and away sites are not enabled, we do not
parse the map templates anymore, which speeds up the process.
Updated the icon smoothing to be faster.
Optimized cargo area code.
Other optimizations.
2024-10-06 21:31:01 +00:00
FluffyandGitHub fe905b2953 Nano printers (computer component) will now refuse papers that are already written onto. (#19890)
Nano printers (computer component) will now refuse papers that are
already written onto.

Fixes #19889
2024-09-21 11:24:46 +00:00
FluffyandGitHub f26e4a0380 Collapse dmms (#19698)
Collapsed all the multi-z dmm maps into single-file dmms
Moved some of the map geometry into traits
2024-07-27 19:00:57 +00:00
FluffyandGitHub 5888de6ea0 Implemented SI prefixes (KILO, MEGA, GIGA, TERA etc.) (#18874)
Implemented SI prefixes (KILO, MEGA, GIGA, TERA etc.)
2024-04-12 22:22:14 +00:00
653f7ea5e8 Rental bikes on Point Verdant (#18466)
* thgncmdc

* a

* 457ythrbg

* a

* agony

* y

* tests rerun please

* tests rerun please

* a

* tests rerun please

* tests rerun please

* fuck

* kill me

* tests rerun please

* cc

* aaaaaaaaaaaaaaaaaaaa

* augh

* fewsgsbh,vgjvtderzj5tderszhrfdbghrdenyz

* a34yhsrezdtjtryfxkjrstjrtysajh5taeh5r34e5R4EW3 4 tygw4e T342W 4w

* Update code/game/machinery/vending_types.dm

Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Signed-off-by: DreamySkrell <107256943+DreamySkrell@users.noreply.github.com>

* review

---------

Signed-off-by: DreamySkrell <107256943+DreamySkrell@users.noreply.github.com>
Co-authored-by: DreamySkrell <>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
2024-02-22 20:36:48 +00:00
FluffyandGitHub 9afe761db3 Some refactors, DMDoc and UT (#18365)
* dsfa

* accessories fix

* fixed "has been hit by" message with intent check

* sdfa
2024-02-12 15:32:23 +00:00
4423d03f2f Adds examine boxes. (#18370)
* Adds examine boxes.

* lint

* what kind of dreams did you dream?

* unlimited

* midgardsormr

* sdsd

* fixes

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-02-11 21:58:20 +00:00
FluffyandGitHub ca6b04e1d7 Updated SSgarbage (#18173)
* pain

* sadfas

* sdfa

* sdfasf

* sfa

* sdf

* might the lord have mercy on our soul

* i cri everidai

* adeste fideles

* sdf

* where will this lead, what's coming next, from your inventions

* dear lord

* gjvhk

* i cri everidai

* fsgf

* sdfa

* sdaf

* hiuhi
2024-01-15 14:08:27 +00:00
FluffyandGitHub e867030c2e Update MC (#18112)
* sdf

* fsda

* fuck

* fuck2

* toolz

* sdaf

* sdfa

* saf

* sdfa

* sdfa

* sdf

* sdfa

* temp rename

* temp rename

* temp rename

* sdaf

* the pain is immensurable in the land of byond

* the curse of rah

* safd

* sadf

* sadf

* gf

* asf

* fssdfa

* sfd

* sadf

* sfda

* brah

* brah

* it's easier for you to fix this

* ffs

* brah

* brah
2024-01-06 17:03:57 +01:00
FluffyandGitHub c25c8b6a37 Last editorconfig fixup (#17782)
* one

* two

* three

* fsdsdf
2023-11-20 18:22:42 +00:00
FluffyGitHubFluffyGhost <FluffyGhost>
736922d4cd Modular computers QDEL and refdrops (#17655)
* Atomization

* sdfasdf

---------

Co-authored-by: FluffyGhost <FluffyGhost>
2023-10-26 17:41:29 +00:00
FluffyandGitHub 4538e2a7cc Fix indentations (#17481)
* cbt

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* fsadffsda sad

* sadfasd

* jhn

* dsfa

* saf

* safsad

* sda
2023-10-05 10:15:58 +00:00
FluffyandGitHub b183188689 Better logging (#16164)
* Initial

* Cleared duplicates

* More work, get rid of log_error

* more

* log_debug() to macro LOG_DEBUG

* More work

* More

* Guh

* Maybe better?

* More work

* gah

* Dear lord

* *inserts swears here*

* gdi

* More work

* More

* dear lord

* fsdfsdafs

* rsdaf

* sadfasf

* sdafsad

* fgsd

* small fuckup fix

* jfsd

* sdafasf

* gdi

* sdfa

* sfdafgds

* sdafasdvf

* sdfasdfg

* sdfsga

* asdf

* dsfasfsagf

* ihibhbjh

* fsadf

* adfas

* sdafsad

* sdfasd

* fsda

* vhb

* asf

* for arrow

* removed source file-line logging, added header for tgui
2023-08-05 21:53:11 +00:00
SleepyGemmyandGitHub 1d1feca535 ID Name and Guest Pass Terminal Tweaks (#15392) 2023-02-08 11:29:50 +01:00
WildkinsandGitHub c040f9dc6f Fix PDA flashlights not working or installing (#14336) 2022-06-18 22:11:33 +02:00
mikomyazakiandGitHub 4cf027af7b Beams now appear properly when new'd with target and origin turfs equal. (#10602) 2020-11-20 15:30:35 +01:00
JohnWildkinsandGitHub 8f0d1c1ea4 Fix beam runtimes and charging cable messages (#10529) 2020-11-14 12:19:33 +01:00
JohnWildkinsandGitHub 44664fc90d Modular PDA tweaks and bugfixes (#10440)
rscadd: "Handheld modular computers now use flashlights as a light source. They may be turned on/off via a button in the PC header, and have their brightness adjusted in Hardware Configuration."
    tweak: Message notifications should be much larger.
    tweak: "Chat messages are now logged to the NTNet Monitoring program."
    bugfix: "IDs are now unregistered from computers when the computer is destroyed."
    bugfix: "Fix Eject Battery having a global view range."
    bugfix: "Chat Clients are no longer set to 'silent' by default."
    backend: "Added a new slider component for VueUIs."

Closes #10439
2020-11-10 08:12:51 +02:00
mikomyazakiandGitHub 36f45d3fde Beams will now properly center on things with pixel_x and pixel_y offsets (#10448) 2020-11-03 20:12:19 -03:00
JohnWildkinsandGitHub 616776f886 Modular PDAs: The End of an Era (#10319)
PDAs are dead, long live PDAs. All trace of old PDAs has been scoured from the codebase, and in its place are modular computer PDAs that are feature-equivalent. Essentially every PDA function except the Syndicate detonation feature and Notepad has been ported over, and battery life for handheld computers has been boosted alongside the addition of charging cables to make things easier.
2020-11-01 21:09:50 +02:00
GeevesandGitHub f15de32f31 Tech Support Things (#10050) 2020-10-23 15:22:41 +02:00
GeevesandGitHub 2b04a969c9 NTNet Ethernet Bugfix (#10305)
* NTNet Ethernet Tweak

* Update geeves-ntnet_comp_stuff.yml

* centcomm computers
2020-10-21 13:45:25 +02:00
JoshieandGitHub 466b2988c0 Renames Data Crystals (#9633) 2020-08-11 11:45:32 +02:00
GeevesandGitHub 223f36d288 Modular Printer Fix (#9297)
Modular computers now properly print with their paper formatting.

Fixes #9259
2020-07-06 19:02:03 +03:00
GeevesandGitHub e4c5d7ff77 pAI Access Lock Program Fix (#9138)
The modular computer pAI access lock program should properly only show when you have a pAI in your computer.
2020-06-29 10:18:17 +03:00
GeevesandGitHub e7194e7893 pAI Computer Piloting (#8842)
pAI can now be put into modular computers to control them. When a pAI is inserted, a new service will be unlocked, which can disable their access to the computer.

The VueUI change wasn't tested, but finding and replacing should leave the functionality unchanged.
2020-06-05 21:28:52 +03:00
ParadoxSpaceandGitHub b5ba8af5c0 Modular Computer Buffs (#8744)
Basic hard drives are slightly less power demanding.
    Basic hard drives now fit in tablets/wristcomps.
    Everyone gets an ntsl interpreter now.
2020-04-29 11:27:35 +03:00
Geevies 7200a638a8 some more stuff 2020-04-15 21:54:01 +02:00
Geevies 94579a73bf a small addition 2020-04-15 19:58:18 +02:00
GeevesandGitHub 8ca937a328 Adds Librarian Stuff (#8141) 2020-02-14 14:26:17 +01:00
KarolisandErki 4e56f6e66e Add record programs, keeps old consoles to avoid converting main maps. (#7225)
Add record printing (fixes #6042)
2019-12-23 09:46:15 +02:00
WernerandGitHub e37a77e335 Cargo more SQL Logging and a better invoice (#7490)
Adds the id of the object that could not be loaded to the error log.
Updates the invoice for cargo shipments.
2019-12-18 21:09:37 +01:00
WernerandGitHub af16a489a6 Removes Weapons (#7415)
* Adds icon and hitsound where needed.

* Moves alt_attack to /obj/item and deletes weapons.dm

* Replaced /obj/item/weapon with /obj/item

* Fixes merge issues.

* Fix merge issues.
2019-11-16 18:36:13 +01:00
WernerandGitHub 9c2f225718 Changes to drones and z-macros (#7068)
Turns the z-level restriction procs into macros
Changes z-level restrictions to use the macros
Use contact_levels for announcements (instead of player_levels)
Restricts the teleporter to station_levels instead of player_levels
Restricts AI tracking to station_levels instead of player_levels
Mechs only get tracking beacons if they are on station_levels (instead of player_levels)
Construction Drones gib if they enter a station level
Mining Drones gib if they leave the station levels
Removes the mining equipment vendor from the scrapheap
2019-11-06 18:55:14 +01:00
GeevesandErki abf5fe4baf Gives paper slight color tints, depending on their source of origin (#7091)
This allows you to easier distinguish which paper is what, if you have a supermassive pile of them or something. I don't know.
2019-10-02 21:52:42 +03:00
MarinaGryphonandErki 0cd61f4f48 Adds Random Notes (#5644)
Adds SSDocs, which manages randomly spawned documents.
    These documents can be specified in a json file or in a database.
    Adds /obj/random/document and adds /obj/random/document to the loot pool of /obj/random/loot.

Actually adding the notes to spawn is up to loredevs. If there are no notes to choose from, /obj/random/document will leave a blank sheet.

The notes can have HTML in them, meaning custom CSS and images. We're giving the loredevs a good bit of responsibility here.
2019-07-13 17:50:19 +03:00
LordFowlandErki 8d436c4a03 Converts all necessary << outputs into the to_chat() macro. (#6076)
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().
2019-03-10 23:39:03 +02:00
AlberykandWerner 76b743a986 Adds the Aut'akh unathi (#5919)
* Base work for the unathi robot subspecies.

* Adds metabolism species, kidney vars, and the robot unathi organs.

* Moves some action buttons to organs, pretty much a bay port right now. Todo: the unathi and alien stuff should also go here.

* First autakh implant power.

* Fixes the organs action button this time.

* Finishes more implants, and interactions with flashs and vaurca.

* Prepare for great changes.

* Drops the real bomb, boss.

* He who fights with monsters.

* Far more work into augments and limb removing powers.

* Limb verbs should be good now.

* A LOT of work into the assited organ, allowing it to bleed and etc, as well adding a new chem that will stop bleeding in their case.

* Probably the last work on implants.

* Some extra touches.

* Some tweaks to the species.

* More fixes and adds kyre's sprites.

* More runtime fixes.

* Fixes the species name too.

* Fixes travis.

* Updates this file too to work with the new tools procs.

* Adds changelog

* Fixed changelog.

* Unathi hair and lore description.

* Some tweaks to this too.

* Locks away them for now, they will be released after we got all the events and etc done.

* Changes this chemical.

* Fixes an airlock runtime.

* Adds the non scan flag to the autakh, mostly due to some bizzare interactions with changelings and cloning.

* Organs removal changes; can't take out the organ if it is too damage.

* Restricts them back again.

* Robotic organs now have the proper icons and names.

* Adds sprites for their organs and some extra tweaks.

* Fixes this missing icon.

* emp should also now hurt assited organs.

* Tweaks more organ related things.

* Fixes the head not being properly set as well.

* Fixes their flags.

* fixes the flag for real this time.

* Poze's review.

* Changes the au'takh organ buttons to don't be animated.

* Helps with adminbus or something.

* Fowl's requested changes.

* Fixes a typo.

* Robotic limb's brute and burn mods are now controlled by the limb model.

* Fowl's changes once more.

* Stops some spam.

* More grammar.

* No eal.

* Skull's review.
2019-01-23 19:27:44 +01:00
DwagoandErki 72f62044db Bug fix's! (#5338)
Fixes #5426
Fixes #5322
Fixes #5245
Fixes #5310
Fixes #5416
Fixes #5412
Fixes #5410
2018-10-21 12:33:42 +03:00
BurgerLUAandErki 8519dcc393 .loc = to forceMove() (#4937)
As requested, this PR is changed to only include all .loc = to forceMove() changes.
2018-08-04 01:48:58 +03:00
WernerandErki 5b7d63af57 Computer Stuff (#3932)
This started out as just some stuff for cargo.
Then it grew.

Fixed tablets and laptops not working due to some changes in #3826 that caused some old ballast to haunt us.
Changed the beeping sound of the modular computers to respect the ambience sound preference.
Added a application that can be used to pay and verify that a cargo order has been received
Added a delivery pad to cargo and spawns one in the CTs and QMs lockers.

Further tweaks to tablets and device enrollment in general are incoming, but I dont want to bloat this pr any further.
(I dont like how the company/private device system is implemented right now; It should rather be based upon the hard disk than the device itself)

closes #3931
2017-12-09 00:39:28 +02:00
LohikarandErki 58519daeba Recharger QoL Tweaks (#3826)
changes:

Rechargers now briefly show a progress bar showing the current charge level of the device currently charging.
Examining a recharger will now specify what is in the charger.
Atoms can now mark themselves as requiring an icon update on initialize instead of overriding Initialize() just to call update_icon().
Charger code is now slightly more modular, using proc/get_cell() to get a ref to the power cell instead of hard-coded if-else chains for each supported type.
2017-11-18 18:46:14 +02:00
LohikarandErki 61b5203d24 Runtime Map Loading (#3597)
changes:

Maps are no longer compiled in, instead loaded directly from the DMMs at runtime.
Z level defines have been moved from the config to map datums.
Unit tests now use typecaches.
DMMS now actually works.
DMMS has been updated slightly.
DMMS is now capable of loading simple lists of non-text types.
DMMS is now faster when loading many types without mapped in attributes and when loading area instances.
Asteroid generation is now defined on the map datum instead of being hard-coded in SSasteroid.
Holodeck presets are now defined on the map datum.
Atmos machinery now uses Initialize().
2017-10-18 23:07:34 +03:00