-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Station AI customizations #34501
base: master
Are you sure you want to change the base?
Station AI customizations #34501
Conversation
RSI Diff Bot; head commit 52162bc merging into c4542ee Resources/Textures/Mobs/Silicon/holograms.rsi
Resources/Textures/Mobs/Silicon/station_ai.rsi
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this approach is quite right, and it will be difficult to expand. I would suggest implementation through some Generic !type: loadouts entries that are applied to the player entity as EntityEffects or something similar when connecting to the game. In this case, extending the new selection functionality via loadouts will be much easier and more convenient
Station AI behave very differently to crew in that they don't carry items and their entity is hidden away in their core, so their customization data needs to be handled differently. Also loadouts are intended for storing data between rounds, while AI customizations are done in round and do not persist (PJB was insistent that the AI not have loadouts for these customizations and they should be dynamically changeable) |
- StationAiHologramDog | ||
|
||
# Iconography | ||
- type: stationAiCustomization |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't look at all of the code, but couldn't these simply be a normal entity prototype instead of a custom one?
With the hologram shader and a generic visualizer for the dead state.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, that's a good idea. I can spawn a dummy entity and use sprite view to give a preview with the hologram shader too. I'll have a look. Can the client see entities in null space?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if the iconography would work well as an entity proto though
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can the client see entities in null space
Oh, that part might be a little more tricky. You may be able to simply spawn them clientside?
Cat and corgi I'm not sure are a good idea because they're not easily distinguishable from real cats or real corgis. The humans at least have a unique "outfit" on. |
they're blue |
station-ai-hologram-female = Female appearance | ||
station-ai-hologram-male = Male appearance | ||
station-ai-hologram-face = Disembodied head |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm wondering if these should specify female human appearance, etc. Maybe have options for the AI to appear as other playable races too?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can update the description but I don't have plans to make options for other races, I'm using already available sprites for the holograms
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good. If they're wanted, someone can add them later.
Fair point, but they're cute! |
do borgs have the tool/chassis selection on spawn yet? if yes, this should be wrapped into that system. otherwise this should be expanded into a generic system that fits that. i havent kept up on the silicons sphere of things in a while though due to busy but thats my input. |
Hello, can I find out if I can upload my sprite to the kernel so that only I can see it? |
they got chassis selection on spawn a month ago i believe. |
Yes, borg type selection is in, see #32586 I'm not sure about merging these two systems together as they function somewhat differently / have different uses. Borg switching is a one off event that changes the entire entity, while station AI customization is repeatable and ony affects appearance. The customizations also have to follow the AI so if they are inserted into a new core, the customizations get reapplied, while borgs don't need to worry about that But if we really want a single generic system to handle all this, I'm gunna leave it to someone else. I'm not really interested in rewriting this code again, I've done that once already to meet PJB's requirements |
Could you add AI name customisation to this as well, or would that be too out of scope? |
You might be colorblind. |
About the PR
The station AI can now customize the core and holographic projections from a list of predefined options. These customizations can be accessed when the AI is inserted in an AI core, right-clicks on it, and chooses the appropriate verb from the menu
Why / Balance
This grants AI players a way of personalizing their appearance
This PR works towards fulfilling #33954
Technical details
The system works similarly to loadouts. The customization options are prototypes, which are defined in yaml for ease of adding new / modifying old options in the future. The majority of the logic that handles the players changing their appearance and applying to their avatar is contained in SharedStationAiSystem.Customization
Media
Demonstration of the system
Screenshots

Requirements
Breaking changes
N/A
Changelog
🆑