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

@@ -2,7 +2,7 @@ using Content.Shared._CP14.Dash;
namespace Content.Client._CP14.Dash;
public sealed partial class CP14DClientDashSystem : EntitySystem
public sealed partial class CP14ClientDashSystem : EntitySystem
{
public override void Update(float frameTime)
{

View File

@@ -141,7 +141,7 @@ public sealed class BeamSystem : SharedBeamSystem
/// <param name="bodyState">Optional sprite state for the <see cref="bodyPrototype"/> if a default one is not given</param>
/// <param name="shader">Optional shader for the <see cref="bodyPrototype"/> if a default one is not given</param>
/// <param name="controller"></param>
public void TryCreateBeam(EntityUid user, EntityUid target, string bodyPrototype, string? bodyState = null, string shader = "unshaded", EntityUid? controller = null)
public override void TryCreateBeam(EntityUid user, EntityUid target, string bodyPrototype, string? bodyState = null, string shader = "unshaded", EntityUid? controller = null) //CP14 override virtual shared method
{
if (Deleted(user) || Deleted(target))
return;

View File

@@ -2,5 +2,14 @@
public abstract class SharedBeamSystem : EntitySystem
{
//CP14 Shared ability to create beams.
public virtual void TryCreateBeam(EntityUid user,
EntityUid target,
string bodyPrototype,
string? bodyState = null,
string shader = "unshaded",
EntityUid? controller = null)
{
}
}

View File

@@ -0,0 +1,49 @@
using Content.Shared.Damage.Components;
using Content.Shared.Damage.Systems;
using Content.Shared.EntityEffects;
using Content.Shared.FixedPoint;
using JetBrains.Annotations;
using Robust.Shared.Prototypes;
namespace Content.Shared._CP14.Chemistry.ReagentEffect;
[UsedImplicitly]
[DataDefinition]
public sealed partial class CP14StaminaChange : EntityEffect
{
[DataField(required: true)]
public float StaminaDelta = 1;
[DataField]
public bool ScaleByQuantity;
protected override string ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
{
return Loc.GetString(StaminaDelta >= 0 ? "cp14-reagent-effect-guidebook-stamina-add" : "cp14-reagent-effect-guidebook-stamina-remove",
("chance", Probability),
("amount", Math.Abs(StaminaDelta)));
}
public override void Effect(EntityEffectBaseArgs args)
{
var entityManager = args.EntityManager;
var scale = FixedPoint2.New(1);
if (args is EntityEffectReagentArgs reagentArgs)
scale = ScaleByQuantity ? reagentArgs.Quantity * reagentArgs.Scale : reagentArgs.Scale;
if (StaminaDelta < 0) //Damage
{
var staminaSys = entityManager.System<SharedStaminaSystem>();
staminaSys.TakeStaminaDamage(args.TargetEntity, (float)(StaminaDelta * scale));
}
else //Restore
{
if (!entityManager.TryGetComponent<StaminaComponent>(args.TargetEntity, out var staminaComp))
return;
staminaComp.StaminaDamage = Math.Max(0, staminaComp.StaminaDamage - (float)(StaminaDelta * scale));
entityManager.Dirty(args.TargetEntity, staminaComp);
}
}
}

View File

@@ -69,5 +69,4 @@ public sealed partial class CP14DashSystem : EntitySystem
_throwing.TryThrow(ent, finalTarget, speed, null, 0f, 10, true, false, false, false, false);
}
}

View File

@@ -0,0 +1,20 @@
using Content.Shared.Beam;
using Robust.Shared.Prototypes;
namespace Content.Shared._CP14.MagicSpell.Spells;
public sealed partial class CP14SpellCreateBeam : CP14SpellEffect
{
[DataField(required: true)]
public EntProtoId BeamProto = default!;
public override void Effect(EntityManager entManager, CP14SpellEffectBaseArgs args)
{
if (args.Target is null || args.User is null)
return;
var beamSys = entManager.System<SharedBeamSystem>();
beamSys.TryCreateBeam(args.User.Value, args.Target.Value, BeamProto);
}
}

View File

@@ -0,0 +1,39 @@
using Content.Shared._CP14.Skill.Prototypes;
using Content.Shared.Damage.Components;
using Robust.Shared.Prototypes;
namespace Content.Shared._CP14.Skill.Effects;
public sealed partial class AddManaStamina : CP14SkillEffect
{
[DataField]
public float AdditionalStamina = 0;
public override void AddSkill(IEntityManager entManager, EntityUid target)
{
if (!entManager.TryGetComponent<StaminaComponent>(target, out var staminaComp))
return;
staminaComp.CritThreshold += AdditionalStamina;
entManager.Dirty(target, staminaComp);
}
public override void RemoveSkill(IEntityManager entManager, EntityUid target)
{
if (!entManager.TryGetComponent<StaminaComponent>(target, out var staminaComp))
return;
staminaComp.CritThreshold -= AdditionalStamina;
entManager.Dirty(target, staminaComp);
}
public override string? GetName(IEntityManager entMagager, IPrototypeManager protoManager)
{
return null;
}
public override string? GetDescription(IEntityManager entMagager, IPrototypeManager protoManager, ProtoId<CP14SkillPrototype> skill)
{
return Loc.GetString("cp14-skill-desc-add-stamina", ("stamina", AdditionalStamina.ToString()));
}
}

View File

@@ -107,3 +107,8 @@
license: "CC-BY-4.0"
copyright: 'Created by qubodup on Freesound.org'
source: "https://freesound.org/people/qubodup/sounds/714258/"
- files: ["heartbeat.ogg"]
license: "CC0-1.0"
copyright: 'Created by MickBoere on Freesound.org'
source: "https://freesound.org/people/MickBoere/sounds/276578/"

Binary file not shown.

View File

@@ -45,3 +45,15 @@ cp14-reagent-effect-guidebook-plant-remove-energy =
[1] Absorbes {$amount} plant energy
*[other] to abrorb {$amount} plant energy
}
cp14-reagent-effect-guidebook-stamina-add =
{ $chance ->
[1] Restores {$amount} stamina
*[other] to restore {$amount} stamina
}
cp14-reagent-effect-guidebook-stamina-remove =
{ $chance ->
[1] Burns off {$amount} stamina
*[other] to burn {$amount} stamina
}

View File

@@ -6,6 +6,9 @@ cp14-job-desc-guard-commander = The most dangerous person in the neighborhood. M
cp14-job-name-guard = Guard
cp14-job-desc-guard = A fighting unit of the Empire, sworn to protect its people. Watch for safety, and defend others from possible dangers.
cp14-job-name-investigator = Investigator
cp14-job-desc-investigator = Specialist in capturing and neutralizing particularly dangerous magical criminals.
# Trade guild
cp14-job-name-commandant = Commandant

View File

@@ -41,6 +41,7 @@ cp14-loadout-guard-commander-cloak = Guard commander's cloak
# Guard
cp14-loadout-investigator-cloak = Investigator's cloak
cp14-loadout-guard-cloak = Guard's cloak
cp14-loadout-guard-head = Guard's head
cp14-loadout-guard-pants = Guard's pants

View File

@@ -24,6 +24,10 @@ cp14-skill-meta-t1-name = Basic metamagic
cp14-skill-meta-t2-name = Advanced metamagic
cp14-skill-meta-t3-name = Expert metamagic
cp14-skill-athletic-t1-name = Basic athletic
cp14-skill-athletic-t2-name = Advanced athletic
cp14-skill-athletic-t3-name = Expert athletic
cp14-skill-alchemy-vision-name = Alchemist's Vision
cp14-skill-alchemy-vision-desc = You are able to understand what liquids are in containers by visually analyzing them.

View File

@@ -21,8 +21,8 @@ cp14-skill-tree-dimension-desc = Immerse yourself in the nature of space and voi
# Body
cp14-skill-tree-atlethic-name = Athletic
cp14-skill-tree-atlethic-desc = Develop your body by pushing the boundaries of what is available.
cp14-skill-tree-athletic-name = Athletic
cp14-skill-tree-athletic-desc = Develop your body by pushing the boundaries of what is available.
cp14-skill-tree-martial-name = Martial arts
cp14-skill-tree-martial-desc = Master the secrets of deadly weapons, or make your own body a weapon.

View File

@@ -14,6 +14,7 @@ cp14-research-recipe-list = Research costs:
cp14-research-craft = Research
cp14-skill-desc-add-mana = Increases your character's mana amount by {$mana}.
cp14-skill-desc-add-stamina = Increases your character's stamina amount by {$stamina}.
cp14-skill-desc-unlock-recipes = Opens up the possibility of crafting:
cp14-skill-popup-added-points = The boundaries of your consciousness are expanding. New memory points: {$count}

View File

@@ -45,3 +45,15 @@ cp14-reagent-effect-guidebook-plant-remove-energy =
[1] Поглощает {$amount} энергии растения
*[other] поглотить {$amount} энергии растения
}
cp14-reagent-effect-guidebook-stamina-add =
{ $chance ->
[1] Восстанавливает {$amount} единиц стамины
*[other] восстановить {$amount} единиц стамины
}
cp14-reagent-effect-guidebook-stamina-remove =
{ $chance ->
[1] Выжигает {$amount} единиц стамины
*[other] выжечь {$amount} единиц стамины
}

View File

@@ -6,6 +6,9 @@ cp14-job-desc-guard-commander = Самая опасная личность в о
cp14-job-name-guard = Стражник
cp14-job-desc-guard = Боевая единица империи, поклявшаяся защищать ее народ. Следите за безопасностью, и обороняйте других от возможных опасностей.
cp14-job-name-investigator = Дознаватель
cp14-job-desc-investigator = Специалист по ловле и обезвреживанию особо опасных магических преступников.
# Trade guild
cp14-job-name-commandant = Комендант
@@ -36,7 +39,7 @@ cp14-job-desc-blacksmith = Создавайте и улучшайте экипи
cp14-job-name-apprentice = Подмастерье
cp14-job-desc-apprentice = Мирный житель империи, только начинающий постигать тонкости различных наук. Постарайтесь помочь другим в их работе, в обмен на зарплату и бесценный опыт.
# Demigods
# Patrons
cp14-job-name-god-merkas = Меркас
cp14-job-desc-god-merkas = Бог света и исцеления. TODO

View File

@@ -41,6 +41,7 @@ cp14-loadout-guard-commander-cloak = Накидка командира стра
# Guard
cp14-loadout-investigator-cloak = Накидка дознавателя
cp14-loadout-guard-cloak = Накидка стражи
cp14-loadout-guard-head = Шляпа стражи
cp14-loadout-guard-pants = Штаны стражи

View File

@@ -24,6 +24,10 @@ cp14-skill-meta-t1-name = Базовая метамагия
cp14-skill-meta-t2-name = Продвинутая метамагия
cp14-skill-meta-t3-name = Экспертная метамагия
cp14-skill-athletic-t1-name = Базовая атлетика
cp14-skill-athletic-t2-name = Продвинутая атлетика
cp14-skill-athletic-t3-name = Экспертная атлетика
cp14-skill-alchemy-vision-name = Взор алхимика
cp14-skill-alchemy-vision-desc = Вы способны понимать какие именно жидкости находятся в емкостях, при помощи визуального анализа.

View File

@@ -20,8 +20,8 @@ cp14-skill-tree-dimension-desc = Погрузитесь в природу про
# Body
cp14-skill-tree-atlethic-name = Атлетика
cp14-skill-tree-atlethic-desc = Развивайте свое тело, расширяя границы доступного.
cp14-skill-tree-athletic-name = Атлетика
cp14-skill-tree-athletic-desc = Развивайте свое тело, расширяя границы доступного.
cp14-skill-tree-martial-name = Боевые исскуства
cp14-skill-tree-martial-desc = Овладейте секретами смертельного оружия, или сделайте оружием свое собственное тело.

View File

@@ -14,6 +14,7 @@ cp14-research-recipe-list = Затраты на исследование:
cp14-research-craft = Исследовать
cp14-skill-desc-add-mana = Увеличивает объем маны вашего персонажа на {$mana}.
cp14-skill-desc-add-stamina = Увеличивает выносливость вашего персонажа на {$stamina}.
cp14-skill-desc-unlock-recipes = Открывает возможность создания:
cp14-skill-popup-added-points = Границы вашего сознания расширяются. Новых очков памяти: {$count}

View File

@@ -58,43 +58,3 @@
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

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

@@ -26,31 +26,3 @@
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

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
@@ -78,13 +75,3 @@
netsync: false
- type: LightFade
duration: 1
- type: entity
parent: CP14BaseSpellScrollMeta
id: CP14SpellScrollMagicSplitting
name: magic splitting spell scroll
components:
- type: CP14SpellStorage
spells:
- CP14ActionSpellMagicSplitting

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

View File

@@ -47,7 +47,6 @@
- Alchemy bomb: 10u vessel that creates effect clouds when thrown
- Thaumaturgy glasses: Scan items to see their essences
- Essence collector: Being powered by the energy crystal, it will start sucking in all the essence floating in the air and converting it into useful liquid.
- Essence splitter: A device capable of splitting objects into magical essence when overloaded with energy.
<Box>
<GuideEntityEmbed Entity="CP14Dropper"/>
@@ -71,7 +70,6 @@
<Box>
<GuideEntityEmbed Entity="CP14ClothingEyesThaumaturgyGlasses"/>
<GuideEntityEmbed Entity="CP14EssenceCollector"/>
<GuideEntityEmbed Entity="CP14EssenceSplitter"/>
</Box>
## Random Reaction Generation

View File

@@ -12,11 +12,11 @@ The Carkats are a desert nation inhabiting the harsh expanse of the Great Dune D
- Wearing shoes? Not for them. Where have you seen shoes that will fit over clawed paws?
- Soft paws - soft pads ensure a completely silent footstep.
- Night vision - nature has given carcats excellent night vision - they see in the dark almost as well as they do in daylight. Combined with their silent walk, this makes them ideal hunters.
- Carkats initially have basic and advanced athletic.
## Cultural Features
- Ancestral nation: the Karkats do not worship gods - they honor the spirits of their ancestors, believing them to be the guardians of boundaries and law.
- Ancestral nation: the Carkats do not worship gods - they honor the spirits of their ancestors, believing them to be the guardians of boundaries and law.
- Anonymity of power: the Sultans of Bafamir have no name, clan or face. Their figure is a symbol of the will of the entire desert.
- Accent of terrain: Carkats from different areas of Bafamir may have their own particular accent.
- Tribal ties: far from their homeland, the Carkats are very warm towards tribesmen, setting them apart from other races.
</Document>

View File

@@ -11,12 +11,6 @@ Elves are a race very similar to humans, but have no common ancestors. They can
Elves have a magic reserve 2 times higher than normal, but their natural regeneration of magical energy is 2 times weaker.
## Careful Mana Manipulation
Elves can't take the Mana Absorption spell, but they have an improved version of it that absorbs energy 2x faster, and is safe for the target.
<Box>
<GuideEntityEmbed Entity="CP14ActionSpellManaConsumeElf"/>
</Box>
Also, elves initially have basic and advanced metamagic.
</Document>

View File

@@ -23,12 +23,4 @@ Nature has deprived goblins of the gift of magic:
- Maximum mana reserve reduced by 75%
- Mana regeneration rate increased by 1.5 times
## Goblin Agility
Goblins cannot take the Sprint spell, but they have an improved version of it that speeds up more than usual
<Box>
<GuideEntityEmbed Entity="CP14ActionSpellSprintGoblin"/>
</Box>
</Document>

View File

@@ -7,8 +7,7 @@
Humans - One of the youngest races culturally. Humans stand out for their commonness while being one of the dominant races in numbers.
## Gold Standard
Humans have no outstanding traits in any one area, but they don't have any weaknesses either. If you are new to the game, this is a great starting point to familiarise yourself with the basic mechanics.
## Opportunists
People have 0.5 more memory points from the start of the round.
</Document>

View File

@@ -11,12 +11,8 @@ The Silva are a race of humanoid plants living in deep relic forests. Emerging f
Silvas regenerate [protodata="CP14MobSilva" comp="CP14MagicEnergyPhotosynthesis" member="DaylightEnergy"/] mana while in sunlight, but without it, mana regeneration is completely absent.
## Blessing of the silvas
## Connection with nature
Silvas cannot take the Plant Growth spell, but they have an improved version of it that uses less mana. Silvas are considered plants for these spells, so you can use them to restore hunger, thirst, and health to silvas just like you can restore health and resources to regular plants.
<Box>
<GuideEntityEmbed Entity="CP14ActionSpellPlantGrowthSilva"/>
</Box>
Silvas initially have basic and advanced vivification.
</Document>

View File

@@ -13,13 +13,6 @@ The Tieflings are a race of humanoid demonoids that left the Fire Archipelago lo
- Basic mana regeneration is slightly impaired, but taking fire damage greatly speeds up mana regeneration, while frostbite on the contrary causes mana drain.
- Tieflings can slowly regenerate damage from fire burns.
- Fire spells spend 40% less mana, but all other types spend 20% more mana
# Inner Flame
Tieflings have a special innate ability called Inner Flame. This ability sets the caster on fire, and temporarily speeds him up.
<Box>
<GuideEntityEmbed Entity="CP14ActionSpellTieflingInnerFire"/>
</Box>
- Tieflings initially have basic and advanced pyrokinesis.
</Document>

View File

@@ -47,7 +47,6 @@
- Алхимическая бомба. Сосуд, который вмещает 10u. Будучи наполненным любым реагентом и брошенным на землю, создаст алхимическое облако, которое будет применять на всех существ все реагенты зелья.
- Тауматургические очки. Очки, позволяющие сканировать предметы и видеть эссенции в них.
- Сборщик эссенций. Запитанный от энергетического кристалла, он начнет всасывать всю парящую в воздухе эссенцию и преобразовывать ее в полезную жидкость.
- Разделитель эссенций. Устройство, способное расщеплять предметы на эссенции при перегрузке энергией.
<Box>
<GuideEntityEmbed Entity="CP14Dropper"/>
@@ -71,7 +70,6 @@
<Box>
<GuideEntityEmbed Entity="CP14ClothingEyesThaumaturgyGlasses"/>
<GuideEntityEmbed Entity="CP14EssenceCollector"/>
<GuideEntityEmbed Entity="CP14EssenceSplitter"/>
</Box>
## Случайная генерация реакций

View File

@@ -12,11 +12,11 @@
- Ношение обуви? Не для них. Где вы видели ботинки, которые налезут на лапы с когтями?
- Мягкие лапы - мягкие подушечки обеспечивают абсолютно бесшумную поступь.
- Ночное зрение - природа наградила каркатов отличным ночным зрением — они видят в темноте почти так же хорошо, как при свете дня. Вкупе с бесшумной ходьбой, это делает их идеальными охотниками.
- Каркаты имеют базовую и продвинутую атлетику с начала раунда.
## Культурные особенности
- Народ предков: каркаты не поклоняются богам — они чтят духов своих предков, считая их хранителями границ и закона.
- Анонимность власти: султаны Бафамира не имеют имени, рода или лица. Их фигура — символ воли всей пустыни.
- Акцент местности: у каркатов из разных районов Бафамира может быть свой особенный акцент.
- Соплеменнические связи: вдали от своей родины, каркаты очень тепло относятся к соплеменникам, выделяя их от остальных рас.
</Document>

View File

@@ -11,12 +11,6 @@
Эльфы имеют магический резерв в 2 раза выше обычного, но их естественная регенерация магической энергии в 2 раза слабее.
## Аккуратное манипулирование маной
Эльфы не могут взять заклинание "Поглощение маны", но они имеют его улучшенную версию, которая поглощает энергию в 2 раза быстрее, и безопасно для цели.
<Box>
<GuideEntityEmbed Entity="CP14ActionSpellManaConsumeElf"/>
</Box>
Так же, эльфы имеют базовую и продвинутую метамагию с начала раунда.
</Document>

View File

@@ -23,12 +23,4 @@
- Максимальный резерв маны уменьшен на 75%
- Скорость восстановления маны увеличена в 1.5 раза
## Проворство гоблина
Гоблины не могут взять заклинание "Спринт", но они имеют его улучшенную версию, ускоряющую сильнее обычного
<Box>
<GuideEntityEmbed Entity="CP14ActionSpellSprintGoblin"/>
</Box>
</Document>

View File

@@ -7,8 +7,8 @@
Люди - Одна из самых молодых рас в культурном аспекте. Люди выделяются своей обыкновенностью при этом являясь одной из доминирующей рас в численности.
## Золотой стандарт
## Приспособленцы
Люди не имеют выдающихся черт ни в одной из областей, но и не имеют никаких слабостей. Если вы новичек в игре - это отличная стартовая точка, чтобы ознакомиться с базовыми механиками.
Люди имеют на 0.5 больше очков памяти с начала раунда.
</Document>

View File

@@ -11,12 +11,7 @@
Сильвы регенерируют [protodata="CP14MobSilva" comp="CP14MagicEnergyPhotosynthesis" member="DaylightEnergy"/] маны находясь под солнечным светом, но без него регенерация маны полностью отсутствует.
## Благословение сильв
Сильвы не могут взять заклинание "Взращивание растений", но они имеют его улучшенную версию, которая затрачивает меньшее количество маны. Сильвы считаются растениями для этих заклинаний, так что с их помощью вы можете восстанавливать голод, жажду и здоровье сильв, как и восстанавливать здоровье и ресурсы обычных растений.
<Box>
<GuideEntityEmbed Entity="CP14ActionSpellPlantGrowthSilva"/>
</Box>
## Связь с природой
Сильвы имеют базовое и продвинутое жизнетворение с начала раунда.
</Document>

View File

@@ -12,14 +12,6 @@
- Тифлинги получают в 2 раза меньше урона от огня, но в 2 раза больше урона от холода.
- Базовая регенерация маны слегка ослаблена, но получение урона огнем значительно ускоряет ее восстановление, в то время как обморожение наоборот, вызывает ее утечку.
- Тифлинги могут медленно регенерировать урон от огненных ожогов.
- Огненные заклинания тратят на 40% меньше маны, но все остальные типы на 20% больше
# Внутреннее пламя
Тифлинги имеют особую врожденную способность "Внутреннее пламя". Эта способность поджигает заклинателя, и временно ускоряет его передвижение.
<Box>
<GuideEntityEmbed Entity="CP14ActionSpellTieflingInnerFire"/>
</Box>
- Огненные заклинания тратят на 40% меньше маны, но все остальные типы на 20% больше.
- Тифлинги изначально имеют изученными базовую и продвинутую пирокинетику.
</Document>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 527 B

After

Width:  |  Height:  |  Size: 545 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 B

View File

@@ -10,6 +10,9 @@
{
"name": "counter_spell"
},
{
"name": "counter_spell_small"
},
{
"name": "magic_music"
},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 B

View File

@@ -7,20 +7,17 @@
"license": "All right reserved",
"copyright": "Created by TheShuEd",
"states": [
{
"name": "dash"
},
{
"name": "kick"
},
{
"name": "second_wind"
},
{
"name": "sprint"
},
{
"name": "sprint_skull"
},
{
"name": "kick_skull"
},
{
"name": "dash"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 B

View File

Before

Width:  |  Height:  |  Size: 345 B

After

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

View File

@@ -8,7 +8,13 @@
"copyright": "Created by TheShuEd",
"states": [
{
"name": "atlethic"
"name": "athletic"
},
{
"name": "athletic2"
},
{
"name": "athletic3"
},
{
"name": "dimension"

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

View File

@@ -0,0 +1,18 @@
{
"version": 1,
"license": "CC-BY-SA-4.0",
"copyright": "Created by TheShuEd",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "equipped-CLOAK",
"directions": 4
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 916 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 395 B

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

View File

@@ -28,6 +28,9 @@
{
"name": "GuardCommander"
},
{
"name": "Investigator"
},
{
"name": "Guildmaster"
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -34,6 +34,9 @@
{
"name": "guildmaster"
},
{
"name": "investigator"
},
{
"name": "workman"
}

View File

@@ -343,10 +343,10 @@ CP14ClothingRingFireball: null
CP14ClothingRingFlashLight: null
CP14ClothingRingIceShards: null
# 2025-06-04
# 2025-04-06
CP14BaseMop: CP14ModularWoodMop
#2025-06-15
#2025-15-06
CP14FoodMeatMole: CP14FoodMeatMonster
CP14FoodMeatMoleCooked: CP14FoodMeatMonsterCooked
CP14FoodMeatMoleLeg: CP14FoodMeatMonsterLeg
@@ -354,11 +354,14 @@ CP14FoodMeatMoleLegCooked: CP14FoodMeatMonsterLegCooked
CP14FoodMeatMoleSlice: CP14FoodMeatMonsterSlice
CP14FoodMeatMoleCookedSlice: CP14FoodMeatMonsterCookedSlice
#2025-06-16
#2025-16-06
CP14SpellscrollSignalLightBlue: null
CP14SpellscrollSignalLightRed: null
CP14SpellscrollSignalLightYellow: null
#2025-28-06
CP14SpellScrollMagicSplitting: null
# <---> CrystallEdge migration zone end