Merge 0a26048834 into 3974a0331b
This commit is contained in:
commit
38baecd7a0
|
|
@ -0,0 +1,6 @@
|
|||
using Content.Shared.Roles.Components;
|
||||
|
||||
namespace Content.Shared._DV.Roles;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed partial class CrownedSpiritRoleComponent : BaseMindRoleComponent;
|
||||
|
|
@ -95,6 +95,7 @@ psionic-power-precognition-asakim-spawn-result-message = You smell stale air fro
|
|||
psionic-power-precognition-gnome-spawn-result-message = You hear laughter coming from the walls and quick footsteps when your back is turned.
|
||||
psionic-power-precognition-pitbull-spawn-result-message = You see a vision of a hundred small creatures being torn apart by bloodthirsty beasts in a maze of steel.
|
||||
psionic-power-precognition-hitman-spawn-result-message = You see a man in a business suit, a corpse at their feet.
|
||||
psionic-power-precognition-crownedspirit-result-message = You see a blinding light and a figure standing in front of you, their features obscured by their own shadow.
|
||||
|
||||
# Psionic Eruption
|
||||
psionic-eruption-begin = {CAPITALIZE(THE($user))} is being consumed by a psionic energy!
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
ghost-role-information-crownedspirit-name = Crowned Spirit
|
||||
ghost-role-information-crownedspirit-description = Ambition and Malice once again rears it's head. Offer it your assistance, and then end it.
|
||||
ghost-role-information-crownedspirit-rules = You are a [color=red][bold]Solo Antagonist[/bold][/color].
|
||||
You should find a Traitor or other similar antagonist and offer your aid.
|
||||
You should avoid killing your target without explicit orders from and the presence of the one you are aiding.
|
||||
You may kill the one you are aiding after they have completed your kill objective and their own, but not before.
|
||||
|
||||
crownedspirit-role-briefing =
|
||||
You are a Crowned Spirit, a being born to punish the ambition and hubris of mortals.
|
||||
You seek to push your target to reveal their true nature to you, ending a life simply for the power and assistance you offer.
|
||||
Offer them all you can, assist them in their own goals, and keep them alive until both of your tasks are done. And then punish them for their transgressions.
|
||||
crownedspirit-round-end-name = Crowned Spirit
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
objective-issuer-crownedspirit = The Ambitions
|
||||
objective-condition-crownedspirit-corruption-title = Have your charge murder {$targetName}, {CAPITALIZE($job)}.
|
||||
|
|
@ -138,6 +138,18 @@
|
|||
Holy: 4.0
|
||||
Soul: 0.0
|
||||
|
||||
- type: damageModifierSet
|
||||
id: RadiantSpirit
|
||||
coefficients:
|
||||
Cold: 2.0
|
||||
Shock: 0.2
|
||||
Blunt: 0.6
|
||||
Slash: 0.4
|
||||
Piercing: 0.55
|
||||
Heat: 0.5
|
||||
Holy: 0.0
|
||||
Soul: 3.0
|
||||
|
||||
- type: damageModifierSet
|
||||
id: Ifrit
|
||||
coefficients:
|
||||
|
|
|
|||
|
|
@ -202,3 +202,20 @@
|
|||
rules: ghost-role-information-hitman-rules
|
||||
mindRoles:
|
||||
- MindRoleHitman
|
||||
|
||||
- type: entity
|
||||
categories: [ HideSpawnMenu, Spawner ]
|
||||
id: SpawnPointCrownedSpirit
|
||||
name: crowned spirit role spawn point
|
||||
suffix: Crowned Spirit
|
||||
parent: BaseAntagSpawner
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-crownedspirit-name
|
||||
description: ghost-role-information-crownedspirit-description
|
||||
rules: ghost-role-information-crownedspirit-rules
|
||||
makeSentient: true
|
||||
allowSpeech: true
|
||||
allowMovement: true
|
||||
mindRoles:
|
||||
- MindRoleGhostRoleSoloAntagonist
|
||||
|
|
|
|||
|
|
@ -0,0 +1,95 @@
|
|||
- type: entity
|
||||
parent: [ SimpleSpaceMobBase, MobCombat ]
|
||||
id: MobCrownedSpirit
|
||||
name: Crowned Spirit
|
||||
description: A creature of radiance. So beautiful are they, with their crown of light.
|
||||
components:
|
||||
- type: Sprite
|
||||
drawdepth: Mobs
|
||||
sprite: _DV/Mobs/Ghosts/radiantspirit.rsi
|
||||
layers:
|
||||
- map: ["enum.DamageStateVisualLayers.Base"]
|
||||
state: radiantspirit
|
||||
- type: SlowOnDamage
|
||||
speedModifierThresholds:
|
||||
100: 0.9
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 180
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: MobThresholds
|
||||
thresholds:
|
||||
0: Alive
|
||||
210: Dead
|
||||
- type: Damageable
|
||||
damageContainer: BiologicalMetaphysical
|
||||
damageModifierSet: RadiantSpirit
|
||||
- type: Puller
|
||||
needsHands: false
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.35
|
||||
density: 160
|
||||
mask:
|
||||
- SmallMobMask
|
||||
layer:
|
||||
- SmallMobLayer
|
||||
- type: MovementSpeedModifier
|
||||
baseWalkSpeed: 3
|
||||
baseSprintSpeed: 5.5
|
||||
- type: NoSlip
|
||||
- type: MovedByPressure
|
||||
enabled: false
|
||||
- type: CombatMode
|
||||
- type: MeleeWeapon
|
||||
soundHit:
|
||||
path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg
|
||||
angle: 90
|
||||
animation: WeaponArcSkiaLunge
|
||||
wideAnimation: WeaponArcSkiaSwipe
|
||||
wideAnimationRotation: -90
|
||||
swingLeft: true
|
||||
attackRate: 1.5
|
||||
range: 2.0
|
||||
altDisarm: false
|
||||
damage:
|
||||
types:
|
||||
Slash: 20
|
||||
Holy: 15
|
||||
- type: Tag
|
||||
tags:
|
||||
- TaserImmune
|
||||
- type: Speech
|
||||
speechVerb: Ghost
|
||||
- type: Psionic
|
||||
- type: NoosphericZapPower
|
||||
- type: PsionicInvisibilityPower
|
||||
- type: Emoting
|
||||
- type: Insulated
|
||||
- type: FlashImmunity
|
||||
- type: Bloodstream
|
||||
bloodReferenceSolution:
|
||||
reagents:
|
||||
- ReagentId: Ambrosia
|
||||
Quantity: 200
|
||||
- type: PointLight
|
||||
radius: 3
|
||||
energy: 2
|
||||
color: "#f5d750"
|
||||
castShadows: false
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-crownedspirit-name
|
||||
description: ghost-role-information-crownedspirit-description
|
||||
rules: ghost-role-information-crownedspirit-rules
|
||||
mindRoles:
|
||||
- MindRoleCrownedSpirit
|
||||
raffle:
|
||||
settings: default
|
||||
- type: GhostTakeoverAvailable
|
||||
|
|
@ -19,6 +19,7 @@
|
|||
- id: SkiaSpawn
|
||||
- id: RatKingSpawn
|
||||
- id: NTAgentSleeper
|
||||
- id: CrownedSpiritSpawn
|
||||
|
||||
# Replaces upstream meteor events until they're good
|
||||
- type: entity
|
||||
|
|
@ -521,3 +522,34 @@
|
|||
- id: MobMouse2
|
||||
- id: MobMouse2
|
||||
- id: MobPitbullVent
|
||||
|
||||
- type: entity
|
||||
parent: BaseMidRoundAntag
|
||||
id: CrownedSpiritSpawn
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 5
|
||||
duration: null
|
||||
minimumPlayers: 30
|
||||
- type: PrecognitionResult
|
||||
message: psionic-power-precognition-crownedspirit-result-message
|
||||
- type: AntagSpawner
|
||||
prototype: MobCrownedSpirit
|
||||
- type: AntagObjectives
|
||||
objectives:
|
||||
- CrownedSpiritServeObjective
|
||||
- CrownedSpiritKillObjective
|
||||
- type: AntagRandomObjectives
|
||||
sets:
|
||||
- groups: CrownedSpiritObjectiveGroup
|
||||
maxPicks: 1
|
||||
maxDifficulty: 300
|
||||
- type: AntagSelection
|
||||
agentName: crownedspirit-round-end-name
|
||||
definitions:
|
||||
- spawnerPrototype: SpawnPointCrownedSpirit
|
||||
min: 1
|
||||
max: 1
|
||||
pickPlayer: false
|
||||
mindRoles:
|
||||
- MindRoleCrownedSpirit
|
||||
|
|
|
|||
|
|
@ -0,0 +1,71 @@
|
|||
- type: entity
|
||||
abstract: true
|
||||
parent: BaseObjective
|
||||
id: BaseCrownedSpiritObjective
|
||||
components:
|
||||
- type: Objective
|
||||
difficulty: 1 # unused
|
||||
issuer: objective-issuer-crownedspirit
|
||||
icon:
|
||||
sprite: Mobs/Ghosts/ghost_human.rsi
|
||||
state: icon
|
||||
- type: RoleRequirement
|
||||
roles:
|
||||
- CrownedSpiritRole
|
||||
|
||||
- type: entity
|
||||
parent: [BaseCrownedSpiritObjective, BaseSurviveObjective]
|
||||
id: CrownedSpiritServeObjective
|
||||
name: Find someone wicked to serve.
|
||||
description: Find someone wicked and offer them your power.. for a price.
|
||||
components:
|
||||
- type: Objective
|
||||
|
||||
- type: entity
|
||||
parent: BaseCrownedSpiritObjective
|
||||
id: CrownedSpiritKillObjective
|
||||
name: Ensure their corruption.
|
||||
description: Have your new charge cause your target's death. Do not kill them yourself unless your charge orders it. This must be their own decision.
|
||||
components:
|
||||
- type: Objective
|
||||
issuer: objective-issuer-crownedspirit
|
||||
unique: false
|
||||
icon:
|
||||
sprite: Mobs/Ghosts/ghost_human.rsi
|
||||
state: icon
|
||||
- type: KillPersonCondition
|
||||
requireDead: true
|
||||
- type: TargetObjective
|
||||
title: objective-condition-crownedspirit-corruption-title
|
||||
- type: PickRandomPerson
|
||||
filters:
|
||||
- !type:BodyMindFilter
|
||||
whitelist:
|
||||
components:
|
||||
- CommandStaff
|
||||
- !type:ObjectiveImmuneFilter
|
||||
# Can't have multiple objectives to kill the same person.
|
||||
- !type:TargetObjectiveMindFilter
|
||||
blacklist:
|
||||
components:
|
||||
- KillPersonCondition
|
||||
|
||||
- type: entity
|
||||
parent: [BaseCrownedSpiritObjective, BaseSurviveObjective]
|
||||
id: CrownedSpiritPunishObjective
|
||||
name: Punish them for their actions.
|
||||
description: Punish the one you have chosen to serve. Through their actions, a life you chose has been taken. Return the favor to them.
|
||||
components:
|
||||
- type: Objective
|
||||
difficulty: 1
|
||||
unique: true
|
||||
|
||||
- type: entity
|
||||
parent: [BaseCrownedSpiritObjective, BaseSurviveObjective]
|
||||
id: CrownedSpiritAidObjective
|
||||
name: Provide support to those wronged.
|
||||
description: Provide aid to those your charge has hurt, even if it comes at cost to your charge.
|
||||
components:
|
||||
- type: Objective
|
||||
difficulty: 1
|
||||
unique: true
|
||||
|
|
@ -241,3 +241,19 @@
|
|||
TestEngineeringObjective: 1
|
||||
TestMedicalObjective: 1
|
||||
DefundDepartmentObjective: 1
|
||||
|
||||
- type: weightedRandom
|
||||
id: CrownedSpiritObjectiveGroup
|
||||
weights:
|
||||
CrownedSpiritObjectiveGroupPunish: 1
|
||||
CrownedSpiritObjectiveGroupAid: 1
|
||||
|
||||
- type: weightedRandom
|
||||
id: CrownedSpiritObjectiveGroupPunish
|
||||
weights:
|
||||
CrownedSpiritPunishObjective: 1
|
||||
|
||||
- type: weightedRandom
|
||||
id: CrownedSpiritObjectiveGroupAid
|
||||
weights:
|
||||
CrownedSpiritAidObjective: 1
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
- type: antag
|
||||
id: CrownedSpirit
|
||||
name: roles-antag-crownedspirit-name
|
||||
objective: roles-antag-crownedspirit-objective
|
||||
antagonist: true
|
||||
setPreference: true
|
||||
requirements:
|
||||
- !type:OverallPlaytimeRequirement
|
||||
time: 24h
|
||||
|
|
@ -141,3 +141,16 @@
|
|||
- type: HitmanRole
|
||||
- type: RoleBriefing
|
||||
briefing: hitman-briefing
|
||||
|
||||
- type: entity
|
||||
parent: BaseMindRoleAntag
|
||||
id: MindRoleCrownedSpirit
|
||||
name: Crowned Spirit Role
|
||||
components:
|
||||
- type: MindRole
|
||||
roleType: SoloAntagonist
|
||||
antagPrototype: CrownedSpirit
|
||||
exclusiveAntag: true
|
||||
- type: CrownedSpiritRole
|
||||
- type: RoleBriefing
|
||||
briefing: crownedspirit-role-briefing
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Original art by by AeraAulin (github) for ss14",
|
||||
"states": [
|
||||
{
|
||||
"name": "radiantspirit",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 837 B |
Loading…
Reference in New Issue