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

Psi Cultist Antag #2703

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
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
11 changes: 11 additions & 0 deletions Content.Server/Roles/PsiCultistRoleComponent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
using Content.Shared.Roles;

namespace Content.Server.Roles;

/// <summary>
/// Added to mind role entities to tag that they are a psi cultist.
/// </summary>
[RegisterComponent]
public sealed partial class PsiCultistRoleComponent : BaseMindRoleComponent
{
}
3 changes: 3 additions & 0 deletions Resources/Locale/en-US/prototypes/roles/antags.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,6 @@ roles-antag-thief-objective = Add some NT property to your personal collection w

roles-antag-dragon-name = Space Dragon
roles-antag-dragon-objective = Create a carp army to take over this quadrant.

roles-antag-psi-cultist-name = Psi Cultist
roles-antag-psi-cultist-objective = Complete the objectives assigned to you by your psionic leader.
6 changes: 6 additions & 0 deletions Resources/Locale/en-US/psicult/role.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
objective-issuer-psi-cult = [color=#fbf8ef]Church of the Mind Ascendant[/color]

psi-cult-role-greeting =
You are a desciple in the Church of the Mind Ascendant.
Your leader has told you that the brain is but a seed begging for psionic nourishment.
Advance the goals of your church so that all may reach their true psionic potential.
52 changes: 52 additions & 0 deletions Resources/Prototypes/DeltaV/Objectives/psi-cultist.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
- type: entity
abstract: true
parent: BaseObjective
id: BasePsiCultistObjective
components:
- type: Objective
issuer: objective-issuer-psi-cult
- type: RoleRequirement
roles:
mindRoles:
- PsiCultistRole

- type: entity #un1984ing this and putting it in this file for ease of organization
id: BecomePsionicObjective
parent: BasePsiCultistObjective
name: Become psionic
description: We need you to acquire psionics and keep them until your mission is complete.
components:
- type: NotJobsRequirement
jobs:
- Mime
- ForensicMantis
- type: Objective
difficulty: 2.5
#unique: false
icon:
sprite: Nyanotrasen/Icons/psi.rsi
state: psi
# still 1984ing the next four lines until golems get reimplimented next week
# - type: ObjectiveBlacklistRequirement
# blacklist:
# components:
# - BecomeGolemCondition
- type: BecomePsionicCondition

- type: entity
id: RaiseGlimmerObjective
parent: BasePsiCultistObjective
name: Raise Glimmer.
description: Get the glimmer above the specified amount.
components:
- type: Objective
difficulty: 2.5
#unique: false
icon:
sprite: Nyanotrasen/Icons/psi.rsi
state: psi
- type: RaiseGlimmerCondition
target: 500


#TODO: add Make Other Person Psionic objective, Unlock Your Full Potential objective (not possible until you can have multiple powers at once)
18 changes: 18 additions & 0 deletions Resources/Prototypes/DeltaV/Roles/Antags/psi-cultist.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
- type: antag
id: PsiCultist
name: roles-antag-psi-cultist-name
antagonist: true
setPreference: true
objective: roles-antag-psi-cultist-objective
guides: [ Psi Cultists ]
requirements: # DeltaV - Playtime requirement
- !type:OverallPlaytimeRequirement
time: 86400 # DeltaV - 24 hours

#TODO
# - type: startingGear
# id: PsiCultistGear
# storage:
# back:
# - CultSymbol #this will be a pin or necklace with the symbol of the cult
# - CultHolyBook #this will be a book with the cult 'codewords' in it. Having the codewords as a physical item means the cult can be potentially infiltrated by the mantis for example (this means more mantis gameplay)
21 changes: 21 additions & 0 deletions Resources/Prototypes/Objectives/objectiveGroups.yml
Original file line number Diff line number Diff line change
Expand Up @@ -129,3 +129,24 @@
weights:
EscapeThiefShuttleObjective: 1
#Changeling, crew, wizard, when you code it...

#psi cultist deltav
- type: weightedRandom
id: PsiCultistObjectiveGroups
weights:
PsiCultistObjectiveGroupPsionic: 1
PsiCultistObjectiveGroupSteal: 0.5
#TODO PsiCultistObjectiveGroupSocial: 1
#TODO PsiCultistObjectiveGroupKill: 0.5

- type: weightedRandom
id: PsiCultistObjectiveGroupPsionic
weights:
BecomePsionicObjective: 1
RaiseGlimmerObjective: 1

- type: weightedRandom
id: PsiCultistObjectiveGroupSteal
weights:
MantisKnifeStealObjective: 1

12 changes: 12 additions & 0 deletions Resources/Prototypes/Roles/MindRoles/mind_roles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -180,3 +180,15 @@
antagPrototype: Zombie
exclusiveAntag: true
- type: ZombieRole

# Psi Cultist #DeltaV
- type: entity
parent: BaseMindRoleAntag
id: MindRolePsiCultist
name: Traitor Role
# description: mind-role-traitor-description
components:
- type: MindRole
antagPrototype: PsiCultist
exclusiveAntag: true
- type: PsiCultistRole
Loading