Paradox Clone (#35794)
* polymorph fixes * paradox clone * forensics cleanup * bump doors * 4 * attribution * polymorphn't * clean up objectives * Update Resources/ServerInfo/Guidebook/Antagonist/MinorAntagonists.xml * review * add virtual items to blacklist * allow them to roll sleeper agent
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
prob: 0.15
|
||||
- id: HarmonicaInstrument
|
||||
prob: 0.15
|
||||
|
||||
|
||||
- type: entity
|
||||
id: ToolboxElectricalFilled
|
||||
name: electrical toolbox
|
||||
@@ -82,7 +82,7 @@
|
||||
- id: MysteryFigureBox
|
||||
prob: 0.5
|
||||
- id: BookRandom
|
||||
amount: 2
|
||||
amount: 2
|
||||
- id: CrayonMime
|
||||
- id: CrayonRainbow
|
||||
|
||||
@@ -105,6 +105,21 @@
|
||||
- id: ClothingHeadHatHardhatBlue
|
||||
prob: 0.5
|
||||
|
||||
- type: entity
|
||||
id: ToolboxMechanicalFilledAllTools
|
||||
name: mechanical toolbox
|
||||
suffix: Filled, all tools
|
||||
parent: ToolboxMechanical
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: Crowbar
|
||||
- id: Wrench
|
||||
- id: Screwdriver
|
||||
- id: Wirecutter
|
||||
- id: Welder
|
||||
- id: Multitool
|
||||
|
||||
- type: entity
|
||||
parent: ToolboxSyndicate
|
||||
id: ToolboxSyndicateFilled
|
||||
|
||||
@@ -191,6 +191,26 @@
|
||||
- sprite: Objects/Weapons/Melee/energykatana.rsi
|
||||
state: icon
|
||||
|
||||
- type: entity
|
||||
categories: [ HideSpawnMenu, Spawner ]
|
||||
parent: BaseAntagSpawner
|
||||
id: SpawnPointGhostParadoxClone
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-paradox-clone-name
|
||||
description: ghost-role-information-paradox-clone-description
|
||||
rules: ghost-role-information-antagonist-rules
|
||||
mindRoles:
|
||||
- MindRoleGhostRoleSoloAntagonist
|
||||
raffle:
|
||||
settings: default
|
||||
- type: Sprite
|
||||
layers:
|
||||
- sprite: Markers/jobs.rsi
|
||||
state: green
|
||||
- sprite: Mobs/Aliens/paradox_clone.rsi
|
||||
state: preview
|
||||
|
||||
- type: entity
|
||||
categories: [ HideSpawnMenu, Spawner ]
|
||||
parent: BaseAntagSpawner
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
blacklist:
|
||||
components:
|
||||
- AttachedClothing # helmets, which are part of the suit
|
||||
- VirtualItem
|
||||
|
||||
- type: cloningSettings
|
||||
id: Antag
|
||||
@@ -78,7 +79,7 @@
|
||||
suffix: Non-Antag
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Markers/paradox_clone.rsi
|
||||
sprite: Mobs/Aliens/paradox_clone.rsi
|
||||
state: preview
|
||||
- type: RandomCloneSpawner
|
||||
settings: BaseClone
|
||||
|
||||
37
Resources/Prototypes/Entities/Mobs/Player/paradox_clone.yml
Normal file
37
Resources/Prototypes/Entities/Mobs/Player/paradox_clone.yml
Normal file
@@ -0,0 +1,37 @@
|
||||
# Mob
|
||||
- type: entity
|
||||
parent: BaseMob
|
||||
id: MobParadox
|
||||
name: space-time paradox
|
||||
description: A big ball of wibbly wobbly, timey wimey stuff.
|
||||
components:
|
||||
- type: Sprite
|
||||
drawdepth: Mobs
|
||||
layers:
|
||||
- sprite: Mobs/Aliens/paradox_clone.rsi
|
||||
state: paradox
|
||||
shader: unshaded
|
||||
- type: RotationVisuals
|
||||
horizontalRotation: 90
|
||||
- type: Pullable
|
||||
- type: Tag
|
||||
tags:
|
||||
- DoorBumpOpener
|
||||
|
||||
- type: entity
|
||||
parent: MobParadox
|
||||
id: MobParadoxTimed # visual effect when gibbing on round end
|
||||
components:
|
||||
- type: TimedDespawn
|
||||
lifetime: 10
|
||||
|
||||
# guidebook dummy
|
||||
|
||||
- type: entity
|
||||
id: ParadoxCloneDummy
|
||||
categories: [ HideSpawnMenu ]
|
||||
name: Paradox Clone
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Mobs/Aliens/paradox_clone.rsi
|
||||
state: preview
|
||||
@@ -232,6 +232,39 @@
|
||||
mindRoles:
|
||||
- MindRoleNinja
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
id: ParadoxCloneSpawn
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 4 # should not happen every round
|
||||
duration: null
|
||||
earliestStart: 30
|
||||
reoccurrenceDelay: 20
|
||||
minimumPlayers: 15
|
||||
- type: ParadoxCloneRule
|
||||
- type: AntagObjectives
|
||||
objectives:
|
||||
- ParadoxCloneKillObjective
|
||||
- ParadoxCloneLivingObjective
|
||||
- type: AntagRandomSpawn # TODO: improve spawning so they only start in maints
|
||||
- type: AntagSelection
|
||||
agentName: paradox-clone-round-end-agent-name
|
||||
definitions:
|
||||
- spawnerPrototype: SpawnPointGhostParadoxClone
|
||||
min: 1
|
||||
max: 1
|
||||
pickPlayer: false
|
||||
startingGear: ParadoxCloneGear
|
||||
roleLoadout:
|
||||
- RoleSurvivalStandard # give vox something to breath in case they don't get a copy
|
||||
briefing:
|
||||
text: paradox-clone-role-greeting
|
||||
color: lightblue
|
||||
sound: /Audio/Misc/paradox_clone_greeting.ogg
|
||||
mindRoles:
|
||||
- MindRoleParadoxClone
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
id: RevenantSpawn
|
||||
|
||||
38
Resources/Prototypes/Objectives/paradoxClone.yml
Normal file
38
Resources/Prototypes/Objectives/paradoxClone.yml
Normal file
@@ -0,0 +1,38 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
parent: BaseObjective
|
||||
id: BaseParadoxCloneObjective
|
||||
components:
|
||||
- type: Objective
|
||||
# required but not used
|
||||
difficulty: 1
|
||||
issuer: objective-issuer-paradox
|
||||
- type: RoleRequirement
|
||||
roles:
|
||||
mindRoles:
|
||||
- ParadoxCloneRole
|
||||
|
||||
- type: entity
|
||||
parent: [BaseParadoxCloneObjective, BaseLivingObjective]
|
||||
id: ParadoxCloneLivingObjective
|
||||
name: Escape to centcomm alive and unrestrained.
|
||||
description: Return to your old life.
|
||||
components:
|
||||
- type: Objective
|
||||
icon:
|
||||
sprite: Structures/Furniture/chairs.rsi
|
||||
state: shuttle
|
||||
- type: EscapeShuttleCondition
|
||||
|
||||
- type: entity
|
||||
parent: [BaseParadoxCloneObjective, BaseKillObjective]
|
||||
id: ParadoxCloneKillObjective
|
||||
name: Fix the space-time paradox.
|
||||
description: Replace your original to fix the paradox. Remember, your mission is to blend in, do not kill anyone else unless you have to!
|
||||
components:
|
||||
- type: PickSpecificPerson
|
||||
- type: KillPersonCondition
|
||||
requireDead: true # don't count missing evac as killing
|
||||
- type: TargetObjective
|
||||
title: objective-condition-kill-head-title # kill <name>, <job>
|
||||
|
||||
16
Resources/Prototypes/Roles/Antags/paradoxClone.yml
Normal file
16
Resources/Prototypes/Roles/Antags/paradoxClone.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
- type: antag
|
||||
id: ParadoxClone
|
||||
name: roles-antag-paradox-clone-name
|
||||
antagonist: true
|
||||
objective: roles-antag-paradox-clone-objective
|
||||
setPreference: false
|
||||
|
||||
# they need to be able to espace when spawning inside a locked room
|
||||
# TODO: remove this once we got a better spawning loacation selection
|
||||
- type: startingGear
|
||||
id: ParadoxCloneGear
|
||||
inhand:
|
||||
- ToolboxMechanicalFilledAllTools
|
||||
storage:
|
||||
back:
|
||||
- ClothingHandsGlovesColorYellow
|
||||
@@ -143,6 +143,17 @@
|
||||
exclusiveAntag: true
|
||||
- type: NinjaRole
|
||||
|
||||
# Paradox Clone
|
||||
- type: entity
|
||||
parent: BaseMindRoleAntag
|
||||
id: MindRoleParadoxClone
|
||||
name: Paradox Clone Role
|
||||
components:
|
||||
- type: MindRole
|
||||
antagPrototype: ParadoxClone
|
||||
roleType: SoloAntagonist
|
||||
- type: ParadoxCloneRole
|
||||
|
||||
# Nukies
|
||||
- type: entity
|
||||
parent: BaseMindRoleAntag
|
||||
|
||||
Reference in New Issue
Block a user