CPU Cert System - Modular Robot/AI Capability Framework#418
Draft
Malerus wants to merge 55 commits intoFoundation-19:masterfrom
Draft
CPU Cert System - Modular Robot/AI Capability Framework#418Malerus wants to merge 55 commits intoFoundation-19:masterfrom
Malerus wants to merge 55 commits intoFoundation-19:masterfrom
Conversation
…low better for new players
…ization with ssfastprocessing
…nup, SIGNAL_HANDLER sleep fix
Contributor
|
if you can update this I'll local test and as long as nothing breaks I'll merge |
The available_ui_styles list still contained TG theme options (Midnight, Retro, Plasmafire, etc.) inherited from upstream. Players who had ever selected one of those themes kept it saved — the force-to-Fallout migration in update_character() only ran for savefiles below version 38, and all saves were already at 52. Fix: removed all non-Fallout options from available_ui_styles. The existing sanitize_inlist() call on UI_style runs unconditionally on every character load, so any stale TG-style preference auto-resets to Fallout on next login with no savefile version bump needed. Also: - Switched Fallout style from screen_fallout2_pale to screen_fallout2_dark - Fixed pull button rendering (no pull0 state in fallout DMIs; use INVISIBILITY_ABSTRACT when not pulling) - Added amber tint (#C8A000) to healthdoll for fallout UI styles - Fixed tg_ui_icon_to_cit_ui() always returning buttons_fallout2.dmi (screen_fallout2_dark has no button states)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
About The Pull Request
Adds the CPU Certification system as a F13-native replacement for SS13's borg upgrade and stock parts pipeline. Robots and AI mobs now hold a
datum/cpu_certdefining their chassis type, capability flags, and C.O.R.E. stats (Compute, Operations, Resilience, Energy). Upgrades are physical cert cards slotted into the cert via an open panel, freely swappable by players. NPC robots are hardlocked viaCERT_LOCKEDand cannot be modified.Also adds the Robot Workshop — a tiered fabrication machine that lets players build custom robots from scratch using a datum-based hardware picker integrated with the builder's SPECIAL stats. Behavior assemblies are configured and installed through the same interface. All SS13 integrated circuit references have been removed from robot behavior; hardware is now driven entirely by
/datum/robot_hardwaredatums.AI mobs on military certs gain the Personality Module system — a datum-driven personality with dynamic idle lines, combat quips, and death lines driven by
SIGNAL_HANDLER-safe async dispatch. TheCERT_CAN_MALFandCERT_CAN_SURVEILflags now have full IC mirroring: malf enables the malf action and grants the malf law, surveillance grants camera network access via a physical camera relay hardware module. A terminal camera uplink section in the robot detail page lets authorized players view and stop viewing a robot's built-in camera feed directly from the computer UI.Pre-Merge Checklist
Changelog
🆑
add: CPU Cert system robots and AI hold a datum defining chassis type, capability flags, and CORE stats (Compute/Operations/Resilience/Energy)
add: cert_card item carries base certs or upgrade modules, applied by opening robot panel and inserting card
add: CPU Cert Fabricator ROBCO-terminal UI, prints cert cards from materials, tier-gated by workshop level
add: Cert upgrades VTEC sprint, armor plating, ion thrusters, energy weapon cooling, targeting system, EMP shielding, hacking module
add: AI cert upgrades malf package and surveillance package via cert card on military AI cert
add: CERT_CAN_HACK flag gates fallout hacking minigame access on robots
add: CERT_CAN_MALF IC mirroring applying malf cert grants malf action and injects malf law; removing it strips both
add: CERT_CAN_SURVEIL IC mirroring applying surveillance cert adds robot camera to ss13 network; removing it strips access; conflicts with existing relay hardware gracefully handled
add: camera_relay hardware datum robots with this module join the ss13 camera network at build time
add: toggle_camera response circuit behavior circuit that enables/disables the robot's built-in camera on signal
add: terminal camera uplink robot detail page in terminal shows camera status with [view feed]/[stop viewing] links gated behind camera_relay hardware
add: Robot Workshop tiered fabrication machine with ROBCO terminal UI; HOME/BUILD/HARDWARE/PROGRAMS/FINALIZE tabs
add: datum/robot_hardware system 35 hardware datums across 8 categories (weapons, sensors, manipulation, comms, navigation, output, intelligence, core)
add: Hardware SPECIAL integration builder's SPECIAL stats modify installed hardware at build time (PER boosts sensor range, STR scales melee/throw, AGI reduces move delay, etc.)
add: CORE budget system hardware has Compute/Operations/Resilience/Energy costs validated against cert at build time
add: Behavior circuit hardware migration all 20 hardware-dependent circuits now resolve /datum/robot_hardware datums instead of searching for SS13 IC items in robot module
add: HW_SLOT system hardware slot names are now /datum/robot_hardware type path strings; workshop picker auto-filters compatible hardware per slot
add: robot_hardware_hooks.dm runtime state vars (last_fire_time, last_heard_message, etc.) and robot mob hook procs (hardware_on_hear, hardware_on_id_scan, hardware_on_receive_signal)
add: Circuit board editor in workshop hardware tab node graph UI for configuring /datum/circuit_node datums with live evaluation
add: Recommended hardware configs one-click SPECIAL-appropriate loadouts per robot design
add: AI Personality Module system datum-driven idle/combat/death lines with SPECIAL-keyed variant sets
refactor: robot attackby routes cert_card interactions, legacy borg/upgrade path preserved
refactor: behavior circuits removed all get_pin_data/do_work/R.module.modules IC lookups; hardware presence check via get_hardware(R, type)
refactor: camera network references normalized to "ss13" (removed SS13-flavor "rd" network)
fix: personality_death signal handler uses INVOKE_ASYNC to avoid sleep violation in SIGNAL_HANDLER context
del: IC_SLOT* string defines replaced by HW_SLOT_* type-path defines
del: dead AI stubs and unused silicon log_game calls removed
/:cl: