The station AI can be destroyed (#39588)
* Initial commit * Fixing merge conflict * Merge conflict fixed * Anchorable entities can now be marked as 'unanchorable' * Revert "Anchorable entities can now be marked as 'unanchorable'" This reverts commit 6a502e62a703cf06bd36ed3bdefe655fc074cfc5 This functionality will be made into a separate PR * Error sprite * Update AI core appearance with sustained damage, spawn scrap on destroyed * Added intellicard sprite * AI damage overlays * Added fixtures * AI core accent changes when damaged or low on power * Bug fix and pop up messages for inserting AIs into inoperable cores * Updated 'dead' sprite * Destroying the AI core reduces the number of AI job slots available * AI battery duration set to 10 minutes * Initial commit * Allow MMIs used in the construction of AI cores to take them over * Initial resources commit * Initial code commit * Sprite update * Bug fixes and updates * Basic console UI * Code refactor * Added lock screen * Added all outstanding UI features * Added purge sprites * Better appearance handling * Fixed issue with purge sprite * Finalized UI design * Major components finalized * Bit of clean up * Removed some code that was used for testing * Tweaked some text * Removed extra space * Added the circuitboard to the RD's locker * Addressed reviewer comments plus tweaks * Addressed reviewer comments plus tweaks * Removed instances of granular damage * Various improvements * Removed testing code * Fixed issue with disabled buttons * Finalized code * Addressed review comments * Added a spare Station AI core electronics to the research director's locker * Fixing build failure * Addressed review comments * Addressed review comments * Added reverse path for construction graph * Removed unneeded reference * Parts can be purchased through cargo * Fixing merge conflict * Merge conflict resolved * Fixing merge conflict * Code update * Code updates * Increased AI core health and gave it a sell price to fix test fail * Added screen static sprite * Added better support for ghosted AI players plus code tweaks * Various improvements and clean up * Increased purge duration to 60 seconds * Fixed needless complication * Addressed reviewer comments part 1 * Addressed reviewer comments part 2 * Further fixes * Trying lower battery values to see if it fixes the test fail * Adjusted power values again * Addressed review comments * Addressed review comments * Fixed test fail * Fixed bug with endless rebooting. Using rejuvenation on an AI core revives the AI inside. * Added pop up text * Bug fix * Tweaks and fixes * Fixed restoration console not updating when the AI finishes rebooting * Update SharedStationAiSystem.Held.cs --------- Co-authored-by: ScarKy0 <scarky0@onet.eu>
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 7.1 KiB |
BIN
Resources/Textures/Mobs/Silicon/station_ai.rsi/ai_error.png
Normal file
|
After Width: | Height: | Size: 312 B |
BIN
Resources/Textures/Mobs/Silicon/station_ai.rsi/ai_fuzz.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
Resources/Textures/Mobs/Silicon/station_ai.rsi/ai_unpowered.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
Resources/Textures/Mobs/Silicon/station_ai.rsi/frame_0.png
Normal file
|
After Width: | Height: | Size: 593 B |
BIN
Resources/Textures/Mobs/Silicon/station_ai.rsi/frame_1.png
Normal file
|
After Width: | Height: | Size: 611 B |
BIN
Resources/Textures/Mobs/Silicon/station_ai.rsi/frame_2.png
Normal file
|
After Width: | Height: | Size: 611 B |
BIN
Resources/Textures/Mobs/Silicon/station_ai.rsi/frame_3.png
Normal file
|
After Width: | Height: | Size: 763 B |
BIN
Resources/Textures/Mobs/Silicon/station_ai.rsi/frame_3b.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
Resources/Textures/Mobs/Silicon/station_ai.rsi/frame_4.png
Normal file
|
After Width: | Height: | Size: 452 B |
@@ -195,6 +195,9 @@
|
||||
{
|
||||
"name": "ai_dead"
|
||||
},
|
||||
{
|
||||
"name": "ai_unpowered"
|
||||
},
|
||||
{
|
||||
"name": "ai_empty",
|
||||
"delays": [
|
||||
@@ -204,12 +207,52 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ai_error",
|
||||
"delays": [
|
||||
[
|
||||
0.7,
|
||||
0.7
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ai_fuzz",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "default",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "base"
|
||||
},
|
||||
{
|
||||
"name": "frame_0"
|
||||
},
|
||||
{
|
||||
"name": "frame_1"
|
||||
},
|
||||
{
|
||||
"name": "frame_2"
|
||||
},
|
||||
{
|
||||
"name": "frame_3"
|
||||
},
|
||||
{
|
||||
"name": "frame_3b"
|
||||
},
|
||||
{
|
||||
"name": "frame_4"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 276 B |
|
After Width: | Height: | Size: 331 B |
|
After Width: | Height: | Size: 404 B |
|
After Width: | Height: | Size: 496 B |
|
After Width: | Height: | Size: 101 B |
|
After Width: | Height: | Size: 143 B |
|
After Width: | Height: | Size: 231 B |
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from https://github.com/tgstation/tgstation at commit e06b82a7f4b2b09216fb28fd384c95a2e1dc50e5. Edited by chromiumboy.",
|
||||
"states": [
|
||||
{
|
||||
"name": "DamageOverlay_25",
|
||||
"directions": 1
|
||||
},
|
||||
{
|
||||
"name": "DamageOverlay_50",
|
||||
"directions": 1
|
||||
},
|
||||
{
|
||||
"name": "DamageOverlay_75",
|
||||
"directions": 1
|
||||
},
|
||||
{
|
||||
"name": "DamageOverlay_100",
|
||||
"directions": 1
|
||||
},
|
||||
{
|
||||
"name": "DamageOverlay_125",
|
||||
"directions": 1
|
||||
},
|
||||
{
|
||||
"name": "DamageOverlay_150",
|
||||
"directions": 1
|
||||
},
|
||||
{
|
||||
"name": "DamageOverlay_175",
|
||||
"directions": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/Objects/Devices/ai_card.rsi/dead.png
Normal file
|
After Width: | Height: | Size: 283 B |
@@ -63,6 +63,15 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "dead",
|
||||
"delays": [
|
||||
[
|
||||
0.4,
|
||||
0.4
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "full",
|
||||
"delays": [
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "mmi_icon"
|
||||
},
|
||||
{
|
||||
"name": "mmi_off"
|
||||
},
|
||||
|
||||
|
After Width: | Height: | Size: 912 B |
|
Before Width: | Height: | Size: 270 B After Width: | Height: | Size: 621 B |
|
Before Width: | Height: | Size: 371 B After Width: | Height: | Size: 909 B |
|
Before Width: | Height: | Size: 594 B After Width: | Height: | Size: 921 B |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 635 B After Width: | Height: | Size: 569 B |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/bd6873fd4dd6a61d7e46f1d75cd4d90f64c40894. comm_syndie made by Veritius, based on comm. generic_panel_open made by Errant, commit https://github.com/space-wizards/space-station-14/pull/32273, comms_wizard and wizard_key by ScarKy0, request- variants transfer made by EmoGarbage404 (github), xenorobot by Samuka-C (github)",
|
||||
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/bd6873fd4dd6a61d7e46f1d75cd4d90f64c40894. comm_syndie made by Veritius, based on comm. generic_panel_open made by Errant, commit https://github.com/space-wizards/space-station-14/pull/32273, comms_wizard and wizard_key by ScarKy0, request- variants transfer made by EmoGarbage404 (github), xenorobot by Samuka-C (github), ai-fixer-progress and -purge sprites made by chromiumboy",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
@@ -75,6 +75,246 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ai-fixer-progress-0",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ai-fixer-progress-1",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ai-fixer-progress-2",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ai-fixer-progress-3",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ai-fixer-purge-0",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ai-fixer-purge-1",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ai-fixer-purge-2",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ai-fixer-purge-3",
|
||||
"directions": 4,
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "aiupload",
|
||||
"directions": 4,
|
||||
|
||||