Big content update (#1484)

* Add investigator's cloak entity and sprites

Introduced a new investigator's cloak for senior investigators, including its entity definition and associated sprites. Also updated helmet sprites for the guard role.

* Add Investigator job to CP14 roles and assets

Introduces the Investigator job, including English and Russian localization, job prototype, loadout, play time tracker, and status icon. Updates department and role loadout configurations to include the new job. Enables setPreference for Guard and Guard Commander jobs. Adds Investigator job icon and updates related metadata.

* Rebalance mana splitting spell parameters

Reduced mana cost from 15 to 10, adjusted mana change effect, and updated spell event to use a toggleable action with new cast time and distance threshold. Also changed visual effect colors for the spell impact.

* job spawner

* remove mana splitting from mana glove

* Update tools.yml

* reduce memory points to 0.5 for tier magics

* Add CP14 spell to create beams and extend beam system

Introduces CP14SpellCreateBeam, a new spell effect for creating beams using the shared beam system. Adds a virtual TryCreateBeam method to SharedBeamSystem and overrides it in BeamSystem to support shared spell functionality.

* athletic branch refactor

* second wind skill

* minor fixes

* remove skeletons specific spells

* small magic splitting

* Update migration.yml

* clear references

* guidebook species update, -0.5 people memory, innate athletic to carcat, nerf night vision

* disable guards again
This commit is contained in:
Red
2025-06-29 00:02:04 +03:00
committed by GitHub
parent c04f08c2ac
commit ecadfb3ea5
93 changed files with 583 additions and 281 deletions

View File

@@ -57,44 +57,4 @@
sound: !type:SoundPathSpecifier
path: /Audio/Effects/hit_kick.ogg
params:
pitch: 1
- type: entity
parent: CP14ActionSpellKick
id: CP14ActionSpellKickSkeleton
name: Kick
description: You perform an epic leg kick at your chosen object, pushing it away from you.
components:
- type: Sprite
state: kick_skull
- type: CP14MagicEffectStaminaCost
stamina: 35
- type: CP14MagicEffect
effects:
- !type:CP14SpellApplyEntityEffect
effects:
- !type:Paralyze
paralyzeTime: 2
- !type:CP14SpellThrowFromUser
throwPower: 10
- !type:CP14SpellSpawnEntityOnTarget
spawns:
- CP14DustEffectKickSound
- !type:CP14SpellApplyEntityEffect
effects:
- !type:HealthChange
damage:
types:
Blunt: 10
- type: Action
icon:
sprite: _CP14/Actions/Spells/physical.rsi
state: kick_skull
- type: EntityTargetAction
event: !type:CP14DelayedEntityTargetActionEvent
cooldown: 5
castDelay: 0.5
distanceThreshold: 1.5
breakOnMove: false
breakOnDamage: false
pitch: 1

View File

@@ -0,0 +1,61 @@
- type: entity
id: CP14ActionSpellSecondWind
parent:
- CP14ActionSpellBase
- BaseMentalAction
name: Second wind
description: Through pain and blood, you find a second wind, instantly restoring your stamina.
components:
- type: CP14MagicEffect
effects:
- !type:CP14SpellSpawnEntityOnTarget
spawns:
- CP14ImpactEffectSecondWind
- !type:CP14SpellApplyEntityEffect
effects:
- !type:Jitter
- !type:MovespeedModifier
walkSpeedModifier: 1.15
sprintSpeedModifier: 1.15
statusLifetime: 2
- !type:CP14StaminaChange
staminaDelta: 100
- !type:HealthChange
damage:
types:
Blunt: 20
- !type:GenericStatusEffect
key: Stun
time: 6
type: Remove
- !type:GenericStatusEffect
key: KnockedDown
time: 6
type: Remove
- type: Action
icon:
sprite: _CP14/Actions/Spells/physical.rsi
state: second_wind
- type: InstantAction
event: !type:CP14InstantActionEvent
cooldown: 10
- type: entity
id: CP14ImpactEffectSecondWind
parent: CP14BaseMagicImpact
categories: [ HideSpawnMenu ]
save: false
components:
- type: Sprite
layers:
- state: circle_increase
color: "#b30713"
shader: unshaded
- type: EmitSoundOnSpawn
sound: !type:SoundPathSpecifier
path: /Audio/_CP14/Effects/heartbeat.ogg
- type: PointLight
color: "#b30713"
radius: 2.0
energy: 2.0
- type: LightFade

View File

@@ -25,32 +25,4 @@
effectFrequency: 0.2
cooldown: 2
castTime: 10
hidden: true
- type: entity
parent: CP14ActionSpellSprint
id: CP14ActionSpellSprintGoblin
name: Goblin agility
components:
- type: CP14MagicEffectCastSlowdown
speedMultiplier: 1.5
- type: CP14MagicEffectStaminaCost
stamina: 5
- type: entity
parent: CP14ActionSpellSprint
id: CP14ActionSpellSprintSkeleton
name: Sprint
description: At the cost of heavy stamina expenditure, you accelerate significantly in movement.
components:
- type: Sprite
state: sprint_skull
- type: CP14MagicEffectCastSlowdown
speedMultiplier: 1.4
- type: CP14MagicEffectStaminaCost
stamina: 2
- type: Action
icon:
sprite: _CP14/Actions/Spells/physical.rsi
state: sprint_skull
hidden: true

View File

@@ -4,9 +4,6 @@
name: Inner fire
description: You unleash your inner fire, setting yourself on fire and temporarily speeding up your movement.
components:
- type: Sprite
sprite: _CP14/Actions/Spells/fire.rsi
state: tiefling_revenge
- type: CP14MagicEffectCastSlowdown
speedMultiplier: 0.5
- type: CP14MagicEffectCastingVisual

View File

@@ -4,28 +4,24 @@
name: Magic splitting
description: You destroy the very essence of magic, interrupting spell casts, destroying mana and more.
components:
- type: Sprite
sprite: _CP14/Actions/Spells/meta.rsi
state: counter_spell
- type: CP14MagicEffectCastSlowdown
speedMultiplier: 0.7
- type: CP14MagicEffectManaCost
manaCost: 15
manaCost: 10
- type: CP14MagicEffect
telegraphyEffects:
- !type:CP14SpellSpawnEntityOnTarget
spawns:
- CP14ImpactEffectMagicSplitting
effects:
- !type:CP14SpellMixSolution
reactionTypes:
- CP14MagicSplitting
- !type:CP14SpellSpawnEntityOnTarget
spawns:
- CP14ImpactEffectMagicSplitting
- !type:CP14SpellInterruptSpell
- !type:CP14SpellApplyEntityEffect
effects:
- !type:CP14ManaChange
manaDelta: -50
safe: true
manaDelta: -15
safe: false
- type: CP14MagicEffectCastingVisual
proto: CP14RuneMagicSplitting
- type: Action
@@ -33,15 +29,16 @@
sprite: _CP14/Actions/Spells/meta.rsi
state: counter_spell
- type: TargetAction
range: 60
range: 5
- type: EntityTargetAction
whitelist:
components:
- CP14MagicEnergyContainer
- ExaminableSolution
event: !type:CP14DelayedEntityTargetActionEvent
event: !type:CP14ToggleableEntityTargetActionEvent
cooldown: 15
castDelay: 0.25
castTime: 15
distanceThreshold: 5
breakOnMove: false
- type: entity
@@ -51,11 +48,11 @@
save: false
components:
- type: PointLight
color: "#5096d4"
color: "#601fc2"
- type: Sprite
layers:
- state: medium_circle
color: "#5096d4"
color: "#601fc2"
shader: unshaded
- type: entity
@@ -77,14 +74,4 @@
energy: 2
netsync: false
- type: LightFade
duration: 1
- type: entity
parent: CP14BaseSpellScrollMeta
id: CP14SpellScrollMagicSplitting
name: magic splitting spell scroll
components:
- type: CP14SpellStorage
spells:
- CP14ActionSpellMagicSplitting
duration: 1

View File

@@ -0,0 +1,42 @@
- type: entity
id: CP14ActionSpellMagicSplittingSmall
parent: CP14ActionSpellBase
name: Small magic splitting
description: You destroy the very essence of magic, interrupting spell casts, destroying mana and more.
components:
- type: CP14MagicEffectCastSlowdown
speedMultiplier: 0.7
- type: CP14MagicEffectManaCost
manaCost: 10
- type: CP14MagicEffect
telegraphyEffects:
- !type:CP14SpellSpawnEntityOnTarget
spawns:
- CP14ImpactEffectMagicSplitting
effects:
- !type:CP14SpellMixSolution
reactionTypes:
- CP14MagicSplitting
- !type:CP14SpellInterruptSpell
- !type:CP14SpellApplyEntityEffect
effects:
- !type:CP14ManaChange
manaDelta: -15
safe: false
- type: CP14MagicEffectCastingVisual
proto: CP14RuneMagicSplitting
- type: Action
icon:
sprite: _CP14/Actions/Spells/meta.rsi
state: counter_spell_small
- type: TargetAction
range: 5
- type: EntityTargetAction
whitelist:
components:
- CP14MagicEnergyContainer
- ExaminableSolution
event: !type:CP14DelayedEntityTargetActionEvent
cooldown: 10
castDelay: 0.5
breakOnMove: false

View File

@@ -18,11 +18,11 @@
tags:
- HideContextMenu
- type: PointLight
radius: 15
energy: 1.3
radius: 4
energy: 1
softness: 10
color: "#ffa38c"
netsync: false
mask: /Textures/_CP14/Effects/LightMasks/crystal_cone.png
#mask: /Textures/_CP14/Effects/LightMasks/crystal_cone.png
autoRot: true

View File

@@ -24,3 +24,15 @@
sprite: _CP14/Clothing/Cloak/Roles/Guard/guard_syurko.rsi
- type: Clothing
sprite: _CP14/Clothing/Cloak/Roles/Guard/guard_syurko.rsi
- type: entity
parent: CP14ClothingCloakGuardBase
id: CP14ClothingCloakGuardInvestigator
name: investigator's cloak
description: Cloaks that only senior investigators in the service of the empire are allowed to wear.
components:
- type: Sprite
sprite: _CP14/Clothing/Cloak/Roles/Guard/investigator.rsi
- type: Clothing
sprite: _CP14/Clothing/Cloak/Roles/Guard/investigator.rsi

View File

@@ -37,7 +37,6 @@
- id: CP14SpellScrollFlashLight
- id: CP14SpellScrollWaterCreation
- id: CP14SpellScrollPlantGrowth
- id: CP14SpellScrollMagicSplitting
- id: CP14SpellScrollMagicalAcceleration
- id: CP14SpellScrollHeat
- id: CP14ScrapCopper

View File

@@ -38,6 +38,20 @@
- state: green
- state: guard
- type: entity
id: CP14SpawnPointInvestigator
parent: CP14SpawnPointJobBase
name: investigator
categories:
- Spawner
components:
- type: SpawnPoint
job_id: CP14Investigator
- type: Sprite
layers:
- state: green
- state: investigator
# Mercenary
- type: entity

View File

@@ -21,7 +21,7 @@
- type: CP14SpellStorage
grantAccessToSelf: true
spells:
- CP14ActionSpellKickSkeleton
- CP14ActionSpellKick
- type: entity
id: CP14MobUndeadSkeletonSwordT2
@@ -35,7 +35,7 @@
- type: CP14SpellStorage
grantAccessToSelf: true
spells:
- CP14ActionSpellKickSkeleton
- CP14ActionSpellKick
- type: entity
id: CP14MobUndeadSkeletonDodgerT2
@@ -49,8 +49,8 @@
- type: CP14SpellStorage
grantAccessToSelf: true
spells:
- CP14ActionSpellKickSkeleton
- CP14ActionSpellSprintSkeleton
- CP14ActionSpellKick
- CP14ActionSpellSprint
- type: entity
id: CP14MobUndeadSkeletonArcherT2

View File

@@ -60,8 +60,6 @@
- MetamagicT2
- HydrosophistryT1
- HydrosophistryT2
- PyrokineticT1
- CP14ActionSpellFlameCreation
- CP14ActionSpellFreeze
- CP14ActionSpellIceShards
- CP14ActionSpellManaConsumeElf

View File

@@ -44,6 +44,10 @@
footstepSoundCollection: null # Silent footstep
- type: CP14AuraImprint
imprintColor: "#9e7e5d"
- type: CP14SkillStorage #Innate athletic
freeLearnedSkills:
- AthleticT1
- AthleticT2
- type: Inventory
templateId: CP14Carcat # Cant wear shoes
speciesId: carcat

View File

@@ -23,8 +23,8 @@
- type: Body
prototype: CP14Human
requiredLegs: 2
- type: CP14SkillStorage # +1 memory point
experienceMaxCap: 6
- type: CP14SkillStorage # +0.5 memory point
experienceMaxCap: 5.5
- type: Inventory
templateId: CP14Human
femaleDisplacements:

View File

@@ -64,7 +64,7 @@
- Illusion
- Metamagic
- Healing
- Atlethic
- Athletic
- MartialArts
- Craftsmanship

View File

@@ -41,7 +41,7 @@
spells:
- CP14ActionSpellManaGift
- CP14ActionSpellManaConsume
- CP14ActionSpellMagicSplitting
- CP14ActionSpellMagicSplittingSmall
- type: ThrowingAngle #Fun
angle: 225
- type: MeleeWeapon
@@ -58,7 +58,7 @@
cPAnimationLength: 0.25
cPAnimationOffset: -1.3
- type: StaticPrice
price: 50
price: 25
- type: NetworkConfigurator
- type: ActivatableUI
key: enum.NetworkConfiguratorUiKey.List

View File

@@ -0,0 +1,13 @@
# Cloak
- type: loadoutGroup
id: CP14InvestigatorCloak
name: cp14-loadout-investigator-cloak
loadouts:
- CP14ClothingCloakGuardInvestigator
- type: loadout
id: CP14ClothingCloakGuardInvestigator
equipment:
cloak: CP14ClothingCloakGuardInvestigator

View File

@@ -86,6 +86,20 @@
- CP14GeneralBack
- CP14GeneralTrinkets
- type: roleLoadout
id: JobCP14Investigator
groups:
- CP14GuardHead
- CP14GeneralOuterClothing
- CP14GeneralEyes
- CP14InvestigatorCloak #
- CP14GeneralGloves
- CP14GuardShirt
- CP14GuardPants
- CP14GeneralShoes
- CP14GeneralBack
- CP14GeneralTrinkets
- type: roleLoadout
id: JobCP14Guard
groups:

View File

@@ -25,7 +25,8 @@
CP14Innkeeper: [ 3, 4 ]
CP14Merchant: [2, 2]
#Guard
#CP14Guard: [8, 8]
#CP14Guard: [4, 4]
#CP14Investigator: [2, 2]
#CP14GuardCommander: [1, 1]
- type: CP14StationZLevels
defaultMapLevel: 0

View File

@@ -25,7 +25,8 @@
CP14Innkeeper: [ 2, 3 ]
CP14Merchant: [2, 2]
#Guard
#CP14Guard: [8, 8]
#CP14Guard: [4, 4]
#CP14Investigator: [2, 2]
#CP14GuardCommander: [1, 1]
- type: CP14StationKeyDistribution
keys:

View File

@@ -1,6 +1,6 @@
- type: job
id: CP14Guard
setPreference: false #Temp disabled
setPreference: true
name: cp14-job-name-guard
description: cp14-job-desc-guard
playTimeTracker: CP14JobGuard

View File

@@ -1,6 +1,6 @@
- type: job
id: CP14GuardCommander
setPreference: false #Temp disabled
setPreference: true
name: cp14-job-name-guard-commander
description: cp14-job-desc-guard-commander
playTimeTracker: CP14JobGuardCommander

View File

@@ -0,0 +1,21 @@
- type: job
id: CP14Investigator
setPreference: true
name: cp14-job-name-investigator
description: cp14-job-desc-investigator
playTimeTracker: CP14JobInvestigator
startingGear: CP14InvestigatorGear
icon: "CP14JobIconInvestigator"
supervisors: cp14-job-supervisors-guard-commander
special:
- !type:CP14LearnSkillsSpecial
skills:
- CP14ActionSpellMagicSplitting
- CP14ActionToggleMagicVision
- type: startingGear
id: CP14InvestigatorGear
equipment:
keys: CP14KeyRingGuard
belt: CP14WalletFilledTest

View File

@@ -16,7 +16,7 @@
primary: false
weight: 10
color: "#3ec8fa"
editorHidden: true #temp
editorHidden: true
roles:
- CP14GuardCommander
- CP14Guildmaster
@@ -27,9 +27,10 @@
description: department-CP14Guard-desc
weight: 9
color: "#576384"
editorHidden: true #temp
editorHidden: true
roles:
- CP14GuardCommander
- CP14Investigator
- CP14Guard
- type: department

View File

@@ -29,6 +29,9 @@
- type: playTimeTracker
id: CP14JobGuard
- type: playTimeTracker
id: CP14JobInvestigator
# Trade guild
- type: playTimeTracker

View File

@@ -0,0 +1,107 @@
# T1
- type: cp14Skill
id: AthleticT1
skillUiPosition: 1, 0
tree: Athletic
name: cp14-skill-athletic-t1-name
learnCost: 0.5
icon:
sprite: _CP14/Actions/skill_tree.rsi
state: athletic
effects:
- !type:AddManaStamina
additionalStamina: 25
- type: cp14Skill
id: CP14ActionSpellSprint
skillUiPosition: 0, 2
tree: Athletic
icon:
sprite: _CP14/Actions/Spells/physical.rsi
state: sprint
effects:
- !type:AddAction
action: CP14ActionSpellSprint
restrictions:
- !type:NeedPrerequisite
prerequisite: AthleticT1
- type: cp14Skill
id: CP14ActionSpellSecondWind
skillUiPosition: 2, 2
tree: Athletic
icon:
sprite: _CP14/Actions/Spells/physical.rsi
state: second_wind
effects:
- !type:AddAction
action: CP14ActionSpellSecondWind
restrictions:
- !type:NeedPrerequisite
prerequisite: AthleticT1
# T2
- type: cp14Skill
id: AthleticT2
skillUiPosition: 7, 0
tree: Athletic
name: cp14-skill-athletic-t2-name
learnCost: 0.5
icon:
sprite: _CP14/Actions/skill_tree.rsi
state: athletic2
effects:
- !type:AddManaStamina
additionalStamina: 25
restrictions:
- !type:NeedPrerequisite
prerequisite: AthleticT1
- type: cp14Skill
id: CP14ActionSpellDash
skillUiPosition: 6, 2
tree: Athletic
icon:
sprite: _CP14/Actions/Spells/physical.rsi
state: dash
effects:
- !type:AddAction
action: CP14ActionSpellDash
restrictions:
- !type:NeedPrerequisite
prerequisite: AthleticT2
- type: cp14Skill
id: CP14ActionSpellKick
skillUiPosition: 8, 2
tree: Athletic
icon:
sprite: _CP14/Actions/Spells/physical.rsi
state: kick
effects:
- !type:AddAction
action: CP14ActionSpellKick
restrictions:
- !type:NeedPrerequisite
prerequisite: AthleticT2
# T3
- type: cp14Skill
id: AthleticT3
skillUiPosition: 13, 0
tree: Athletic
name: cp14-skill-athletic-t3-name
learnCost: 0.5
icon:
sprite: _CP14/Actions/skill_tree.rsi
state: athletic3
effects:
- !type:AddManaStamina
additionalStamina: 25
restrictions:
- !type:NeedPrerequisite
prerequisite: AthleticT2

View File

@@ -1,51 +0,0 @@
- type: cp14Skill
id: CP14ActionSpellKick
skillUiPosition: 0, 0
tree: Atlethic
icon:
sprite: _CP14/Actions/Spells/physical.rsi
state: kick
effects:
- !type:AddAction
action: CP14ActionSpellKick
- type: cp14Skill
id: CP14ActionSpellSprint
skillUiPosition: 0, 2
tree: Atlethic
icon:
sprite: _CP14/Actions/Spells/physical.rsi
state: sprint
effects:
- !type:AddAction
action: CP14ActionSpellSprint
- type: cp14Skill
id: CP14ActionSpellDash
skillUiPosition: 0, 4
tree: Atlethic
icon:
sprite: _CP14/Actions/Spells/physical.rsi
state: dash
effects:
- !type:AddAction
action: CP14ActionSpellDash
- type: cp14Skill
id: CP14ActionSpellSprintGoblin
skillUiPosition: 2, 2
learnCost: 0
tree: Atlethic
icon:
sprite: _CP14/Actions/Spells/physical.rsi
state: sprint
effects:
- !type:ReplaceAction
oldAction: CP14ActionSpellSprint
newAction: CP14ActionSpellSprintGoblin
restrictions:
- !type:NeedPrerequisite
prerequisite: CP14ActionSpellSprint
- !type:SpeciesWhitelist
species: CP14Goblin

View File

@@ -73,6 +73,7 @@
skillUiPosition: 7, 0
tree: Healing
name: cp14-skill-life-t2-name
learnCost: 0.5
icon:
sprite: _CP14/Actions/skill_tree.rsi
state: heal2
@@ -133,6 +134,7 @@
skillUiPosition: 13, 0
tree: Healing
name: cp14-skill-life-t3-name
learnCost: 0.5
icon:
sprite: _CP14/Actions/skill_tree.rsi
state: heal3

View File

@@ -76,6 +76,7 @@
skillUiPosition: 7, 0
tree: Hydrosophistry
name: cp14-skill-water-t2-name
learnCost: 0.5
icon:
sprite: _CP14/Actions/skill_tree.rsi
state: water2
@@ -122,6 +123,7 @@
skillUiPosition: 13, 0
tree: Hydrosophistry
name: cp14-skill-water-t3-name
learnCost: 0.5
icon:
sprite: _CP14/Actions/skill_tree.rsi
state: water3

View File

@@ -46,6 +46,7 @@
skillUiPosition: 7, 0
tree: Illusion
name: cp14-skill-illusion-t2-name
learnCost: 0.5
icon:
sprite: _CP14/Actions/skill_tree.rsi
state: light2
@@ -92,6 +93,7 @@
skillUiPosition: 13, 0
tree: Illusion
name: cp14-skill-illusion-t3-name
learnCost: 0.5
icon:
sprite: _CP14/Actions/skill_tree.rsi
state: light3

View File

@@ -100,6 +100,7 @@
skillUiPosition: 7, 0
tree: Metamagic
name: cp14-skill-meta-t2-name
learnCost: 0.5
icon:
sprite: _CP14/Actions/skill_tree.rsi
state: meta2
@@ -159,6 +160,7 @@
skillUiPosition: 13, 0
tree: Metamagic
name: cp14-skill-meta-t3-name
learnCost: 0.5
icon:
sprite: _CP14/Actions/skill_tree.rsi
state: meta3

View File

@@ -77,6 +77,7 @@
skillUiPosition: 7, 0
tree: Pyrokinetic
name: cp14-skill-pyro-t2-name
learnCost: 0.5
icon:
sprite: _CP14/Actions/skill_tree.rsi
state: pyro2
@@ -123,6 +124,7 @@
skillUiPosition: 13, 0
tree: Pyrokinetic
name: cp14-skill-pyro-t3-name
learnCost: 0.5
icon:
sprite: _CP14/Actions/skill_tree.rsi
state: pyro3

View File

@@ -29,9 +29,9 @@
color: "#51cf72"
- type: cp14SkillTree
id: Atlethic
name: cp14-skill-tree-atlethic-name
desc: cp14-skill-tree-atlethic-desc
id: Athletic
name: cp14-skill-tree-athletic-name
desc: cp14-skill-tree-athletic-desc
color: "#b32e37"
#- type: cp14SkillTree

View File

@@ -53,6 +53,14 @@
state: Guard
jobName: cp14-job-name-guard
- type: jobIcon
parent: CP14JobIcon
id: CP14JobIconInvestigator
icon:
sprite: /Textures/_CP14/Interface/Misc/job_icons.rsi
state: Investigator
jobName: cp14-job-name-investigator
- type: jobIcon
parent: CP14JobIcon
id: CP14JobIconMerchant

View File

@@ -192,17 +192,6 @@
service: !type:CP14BuyItemsService
product: CP14SpellScrollFlashLight
- type: cp14TradingPosition
id: CP14SpellScrollMagicSplitting
faction: Thaumaturgy
reputationLevel: 1
uiPosition: 13
icon:
sprite: _CP14/Actions/Spells/meta.rsi
state: counter_spell
service: !type:CP14BuyItemsService
product: CP14SpellScrollMagicSplitting
- type: cp14TradingPosition
id: CP14SpellScrollIceShards
faction: Thaumaturgy