Skip to content
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

Add personal tutor PAIs to Intern Jobs #2869

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions Resources/Locale/en-US/_DV/pai/pai-system.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
engi-tutor-role-name = Engineering AI Tutor
engi-tutor-role-description = Teach someone how to be the best engineer as a helpful Personal AI!
(Memories *not* included.)

med-tutor-role-name = Medical AI Tutor
med-tutor-role-description = Teach someone how to be the best doctor as a helpful Personal AI!
(Memories *not* included.)

sec-tutor-role-name = Security AI Tutor
sec-tutor-role-description = Teach someone how to be the best security cadet as a helpful Personal AI!
(Memories *not* included.)

logi-tutor-role-name = Logistics AI Tutor
logi-tutor-role-description = Teach someone how to be the best cargo assistant as a helpful Personal AI!
(Memories *not* included.)

epi-tutor-role-name = Epistemics AI Tutor
epi-tutor-role-description = Teach someone how to be the best scientist as a helpful Personal AI!
(Memories *not* included.)
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
id: TechnicalAssistantPDA
belt: ClothingBeltUtilityEngineering
ears: ClothingHeadsetEngineering
pocket1: LearnerEngiPAI # DeltaV - PAI for teaching
pocket2: BookEngineersHandbook
#storage:
#back:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
# id: MedicalInternPDA # DeltaV: different PDAs in loadouts
ears: ClothingHeadsetMedical
belt: ClothingBeltMedicalFilled
pocket1: LearnerMedPAI # DeltaV - PAI for teaching
pocket2: BookMedicalReferenceBook
#storage:
#back:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
name: job-name-research-assistant
description: job-description-research-assistant
playTimeTracker: JobResearchAssistant
antagAdvantage: 2 # DeltaV - Protolathe, anomaly stuff, glimmer factor
antagAdvantage: 2 # DeltaV - Protolathe, anomaly stuff, glimmer factor
Radezolid marked this conversation as resolved.
Show resolved Hide resolved
requirements:
# - !type:DepartmentTimeRequirement # DeltaV - Removes time limit
# department: Science
Expand All @@ -25,6 +25,7 @@
shoes: ClothingShoesColorWhite
id: ResearchAssistantPDA
ears: ClothingHeadsetScience
pocket1: LearnerEpiPAI # DeltaV - PAI for teaching
pocket2: BookScientistsGuidebook
#storage:
#back:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,10 @@
id: SecurityCadetPDA
ears: ClothingHeadsetSecurity
belt: ClothingBeltSecurityFilled
pocket1: WeaponDisabler # DeltaV - loadouts, Security Cadet doesn't spawn with a gun
pocket1: LearnerSecPAI # DeltaV - PAI for teaching
pocket2: BookSecurity
storage:
back:
- Flash
- WeaponDisabler # DeltaV - loadouts, Security Cadet doesn't spawn with a gun
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

now they wont know they have it instantly :trollface:

# - MagazinePistol # DeltaV - no
191 changes: 191 additions & 0 deletions Resources/Prototypes/_DV/Entities/Objects/Fun/pai.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
- type: entity
parent: BaseItem
id: LearnerPAI
name: learner ai tutor
description: Your electronic pal here to help teach you the ins and outs of the station!
components:
- type: Instrument
allowPercussion: false
handheld: false
bank: 1
program: 2
- type: UserInterface
interfaces:
enum.InstrumentUiKey.Key:
type: InstrumentBoundUserInterface
requireInputValidation: false
enum.StationMapUiKey.Key:
type: StationMapBoundUserInterface
requireInputValidation: false
- type: Sprite
sprite: _DV/Objects/Fun/Toys/tutors.rsi
layers:
- state: pai-base
- state: pai-on-overlay
shader: unshaded
map: [ "screen" ]
- type: Input
context: "human"
- type: PAI
- type: BlockMovement
- type: Examiner
- type: IntrinsicRadioReceiver
- type: DoAfter
- type: Actions
- type: TypingIndicator
proto: robot
- type: Speech
speechVerb: Robotic
speechSounds: Pai
- type: MobState
allowedStates:
- Alive
- type: Appearance
- type: StationMap
- type: ChangeVoiceInContainer
whitelist:
components:
- SecretStash

- type: entity
parent: LearnerPAI
id: LearnerEngiPAI
name: engineering ai tutor
description: Your electronic pal here to help teach you the ins and outs of station engineering!
components:
- type: GhostRole
makeSentient: true
name: engi-tutor-role-name
description: engi-tutor-role-description
rules: ghost-role-information-familiar-rules
mindRoles:
- MindRoleGhostRoleFamiliar
requirements:
- !type:DepartmentTimeRequirement
department: Engineering
time: 72000
- type: Sprite
sprite: _DV/Objects/Fun/Toys/tutors.rsi
layers:
- state: engi-pai-base
- state: pai-on-overlay
shader: unshaded
map: [ "screen" ]
- type: ActiveRadio
channels:
- Engineering
- Common
- type: GhostTakeoverAvailable


- type: entity
parent: LearnerPAI
id: LearnerMedPAI
name: medical ai tutor
description: Your electronic pal here to help teach you the ins and outs of all things medical!
components:
- type: GhostRole
name: med-tutor-role-name
description: med-tutor-role-description
rules: ghost-role-information-familiar-rules
mindRoles:
- MindRoleGhostRoleFamiliar
requirements: # DeltaV
- !type:DepartmentTimeRequirement
department: Medical
time: 72000
- type: Sprite
sprite: _DV/Objects/Fun/Toys/tutors.rsi
layers:
- state: med-pai-base
- state: pai-on-overlay
shader: unshaded
map: [ "screen" ]
- type: ActiveRadio
channels:
- Medical
- Common

- type: entity
parent: LearnerPAI
id: LearnerLogiPAI
name: logistics ai tutor
description: Your electronic pal here to help teach you the ins and outs of things related to logistics!
components:
- type: GhostRole
name: logi-tutor-role-name
description: logi-tutor-role-description
rules: ghost-role-information-familiar-rules
mindRoles:
- MindRoleGhostRoleFamiliar
requirements: # DeltaV
- !type:DepartmentTimeRequirement
department: Logistics
time: 72000
- type: Sprite
sprite: _DV/Objects/Fun/Toys/tutors.rsi
layers:
- state: logi-pai-base
- state: pai-on-overlay
shader: unshaded
map: [ "screen" ]
- type: ActiveRadio
channels:
- Supply
- Common

- type: entity
parent: LearnerPAI
id: LearnerSecPAI
name: security ai tutor
description: Your electronic pal here to help teach you the ins and outs of station security!
components:
- type: GhostRole
name: sec-tutor-role-name
description: sec-tutor-role-description
rules: ghost-role-information-familiar-rules
mindRoles:
- MindRoleGhostRoleFamiliar
requirements: # DeltaV
- !type:DepartmentTimeRequirement
department: Security
time: 72000
- type: Sprite
sprite: _DV/Objects/Fun/Toys/tutors.rsi
layers:
- state: sec-pai-base
- state: sec-pai-on-overlay
shader: unshaded
map: [ "screen" ]
- type: ActiveRadio
channels:
- Security
- Common

- type: entity
parent: LearnerPAI
id: LearnerEpiPAI
name: epistemics ai tutor
description: Your electronic pal here to help teach you the ins and outs of research and development!
components:
- type: GhostRole
name: epi-tutor-role-name
description: epi-tutor-role-description
rules: ghost-role-information-familiar-rules
mindRoles:
- MindRoleGhostRoleFamiliar
requirements:
- !type:DepartmentTimeRequirement
department: Epistemics
time: 72000
- type: Sprite
sprite: _DV/Objects/Fun/Toys/tutors.rsi
layers:
- state: epi-pai-base
- state: pai-on-overlay
shader: unshaded
map: [ "screen" ]
- type: ActiveRadio
channels:
- Science
- Common
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@
id: CargoAssistantPDA
ears: ClothingHeadsetCargo
pocket1: BookLogistics
pocket2: LearnerLogiPAI
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
47 changes: 47 additions & 0 deletions Resources/Textures/_DV/Objects/Fun/Toys/tutors.rsi/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/9ddb8cf084e292571d4e9c79745db25befbd82fe. pai-searching-overlay heavily modified. Syndicate variants by fedKotikeD, and potato by Doru991. Tutor Variants edited by GTheGlorious and Lyndomen",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "logi-pai-base"
},
{
"name": "pai-base"
},
{
"name": "sec-pai-base"
},
{
"name": "engi-pai-base"
},
{
"name": "med-pai-base"
},
{
"name": "epi-pai-base"
},
{
"name": "pai-on-overlay",
"delays": [
[
0.8,
0.8
]
]
},
{
"name": "sec-pai-on-overlay",
"delays": [
[
0.8,
0.8
]
]
}
]
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading