Blue amanita flower, mana potions! (#478)

* merge bloodgrass and red flowers

* delete sprites

* add blue amanita sprites

* restruct alchemy reactions folders

* mana heal and damage reagent

* add gatherable to worldgen

* fixes

* Update sewing_table.yml

* Update Alchemy.xml

* Update Alchemy.xml

* Update migration.yml
This commit is contained in:
Ed
2024-10-04 19:19:13 +03:00
committed by GitHub
parent 41cf2b22ff
commit 35baaacbce
66 changed files with 600 additions and 483 deletions

View File

@@ -0,0 +1,38 @@
using Content.Server._CP14.MagicEnergy;
using Content.Shared.EntityEffects;
using Content.Shared.FixedPoint;
using JetBrains.Annotations;
using Robust.Shared.Prototypes;
namespace Content.Server._CP14.Chemistry.ReagentEffect;
[UsedImplicitly]
[DataDefinition]
public sealed partial class CP14ManaChange : EntityEffect
{
[DataField(required: true)]
public float ManaDelta = 1;
[DataField]
public bool Safe = false;
protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
{
return Loc.GetString(ManaDelta >= 0 ? "cp14-reagent-effect-guidebook-mana-add" : "cp14-reagent-effect-guidebook-mana-remove",
("chance", Probability),
("amount", Math.Abs(ManaDelta)));
}
public override void Effect(EntityEffectBaseArgs args)
{
var scale = FixedPoint2.New(1);
if (args is EntityEffectReagentArgs reagentArgs)
{
scale = reagentArgs.Quantity * reagentArgs.Scale;
}
var magicSystem = args.EntityManager.System<CP14MagicEnergySystem>();
magicSystem.ChangeEnergy(args.TargetEntity, ManaDelta * scale, Safe);
}
}

View File

@@ -45,6 +45,14 @@ public partial class SharedCP14MagicEnergySystem : EntitySystem
("color", color));
}
public void ChangeEnergy(EntityUid uid, FixedPoint2 energy, bool safe = false)
{
if (!TryComp<CP14MagicEnergyContainerComponent>(uid, out var energyContainer))
return;
ChangeEnergy(uid, energyContainer, energy, safe);
}
public void ChangeEnergy(EntityUid uid, CP14MagicEnergyContainerComponent component, FixedPoint2 energy, bool safe = false)
{
if (!safe)

View File

@@ -20,7 +20,10 @@ public partial class CP14MagicWeaknessSystem : EntitySystem
base.Initialize();
SubscribeLocalEvent<CP14MagicUnsafeDamageComponent, CP14MagicEnergyBurnOutEvent>(OnMagicEnergyBurnOutDamage);
SubscribeLocalEvent<CP14MagicUnsafeDamageComponent, CP14MagicEnergyOverloadEvent>(OnMagicEnergyOverloadDamage);
SubscribeLocalEvent<CP14MagicUnsafeSleepComponent, CP14MagicEnergyBurnOutEvent>(OnMagicEnergyBurnOutSleep);
SubscribeLocalEvent<CP14MagicUnsafeSleepComponent, CP14MagicEnergyOverloadEvent>(OnMagicEnergyOverloadSleep);
}
private void OnMagicEnergyBurnOutSleep(Entity<CP14MagicUnsafeSleepComponent> ent, ref CP14MagicEnergyBurnOutEvent args)
@@ -35,9 +38,27 @@ public partial class CP14MagicWeaknessSystem : EntitySystem
}
}
private void OnMagicEnergyOverloadSleep(Entity<CP14MagicUnsafeSleepComponent> ent, ref CP14MagicEnergyOverloadEvent args)
{
if (args.OverloadEnergy > ent.Comp.SleepThreshold)
{
_popup.PopupEntity(Loc.GetString("cp14-magic-energy-damage-burn-out-fall"), ent, ent, PopupType.LargeCaution);
_statusEffects.TryAddStatusEffect<ForcedSleepingComponent>(ent,
StatusEffectKey,
TimeSpan.FromSeconds(ent.Comp.SleepPerEnergy * (float)args.OverloadEnergy),
false);
}
}
private void OnMagicEnergyBurnOutDamage(Entity<CP14MagicUnsafeDamageComponent> ent, ref CP14MagicEnergyBurnOutEvent args)
{
_popup.PopupEntity(Loc.GetString("cp14-magic-energy-damage-burn-out"), ent, ent, PopupType.LargeCaution);
_damageable.TryChangeDamage(ent, ent.Comp.DamagePerEnergy * args.BurnOutEnergy);
}
private void OnMagicEnergyOverloadDamage(Entity<CP14MagicUnsafeDamageComponent> ent, ref CP14MagicEnergyOverloadEvent args)
{
_popup.PopupEntity(Loc.GetString("cp14-magic-energy-damage-overload"), ent, ent, PopupType.LargeCaution);
_damageable.TryChangeDamage(ent, ent.Comp.DamagePerEnergy * args.OverloadEnergy);
}
}

View File

@@ -5,6 +5,7 @@ cp14-flavor-base-invigorating = invigorating
cp14-flavor-base-bitterly = bitter
cp14-flavor-base-sweetly = sweet
cp14-flavor-base-stinging = stinging
cp14-flavor-base-magic = magical
# Complex

View File

@@ -8,4 +8,16 @@ cp14-reagent-effect-guidebook-inverse-effect =
{ $chance ->
[1] Inverts
*[other] to invert
} the effect of the solution
} the effect of the solution
cp14-reagent-effect-guidebook-mana-add =
{ $chance ->
[1] Restores {$amount} mana
*[other] to restore {$amount} mana
}
cp14-reagent-effect-guidebook-mana-remove =
{ $chance ->
[1] Burns off {$amount} mana
*[other] to burn {$amount} mana
}

View File

@@ -6,7 +6,8 @@ cp14-magic-spell-not-enough-mana-cast-warning-2 = Your hands are shaking...
cp14-magic-spell-not-enough-mana-cast-warning-3 = Your throat starts to lump...
cp14-magic-spell-not-enough-mana-cast-warning-4 = Your head becomes heavy...
cp14-magic-energy-damage-burn-out = The pain is piercing your body!
cp14-magic-energy-damage-burn-out = From the lack of mana, pain pierces your body!
cp14-magic-energy-damage-overload = You can't hold that much mana!
cp14-magic-energy-damage-burn-out-fall = You pass out from the intense pain!
cp14-magic-spell-need-verbal-component = You can't cast the spell out loud.

View File

@@ -38,4 +38,10 @@ cp14-reagent-name-basic-drunk = Booze solution
cp14-reagent-desc-basic-drunk = A substance that causes dizziness and slurred speech.
cp14-reagent-name-basic-jitter = Jitter solution
cp14-reagent-desc-basic-jitter = A substance that causes uncontrollable but safe spasms throughout the body.
cp14-reagent-desc-basic-jitter = A substance that causes uncontrollable but safe spasms throughout the body.
cp14-reagent-name-basic-heal-mana = Liquid mana solution
cp14-reagent-desc-basic-heal-mana = A substance that causes a rapid regeneration of magical energy in the body.
cp14-reagent-name-basic-damage-mana = Antimagic solution
cp14-reagent-desc-basic-damage-mana = A substance that rapidly drains all magical energy from the body.

View File

@@ -10,8 +10,8 @@ cp14-reagent-desc-blood-elf = The life energy of a magical creature.
cp14-reagent-name-blood-goblin = Goblin blood
cp14-reagent-desc-blood-goblin = The life energy of green-skinned creatures.
cp14-reagent-name-bloodgrasssap = Bloodgrass sap
cp14-reagent-desc-bloodgrasssap = A squeeze from the ubiquitous blood grass. It has no particular remarkable qualities, but with proper skill can be prepared into a nutritious food.
cp14-reagent-name-bloodflowersap = Bloodrose nectar
cp14-reagent-desc-bloodflowersap = The nectar of the bloody flowers that grow in former battlefields. When properly mixed with blood, it can produce interesting results.
cp14-reagent-name-agaric-shroom = Fly agaric juice
cp14-reagent-desc-agaric-shroom = It is this juice that the fly mushrooms owe their poisonousness to. Consumption causes severe ailments and hallucinations, but experienced alchemists can find other uses for these mushrooms.
@@ -25,11 +25,11 @@ cp14-reagent-desc-wild-sage-sap = Juice of a ubiquitous medicinal plant, not bad
cp14-reagent-name-grounded-quartz = Ground quartz
cp14-reagent-desc-grounded-quartz = A powder obtained from grinding quartz fragments. It has weak cleaning properties.
cp14-reagent-name-blue-amanita = Blue amanita
cp14-reagent-desc-blue-amanita = A sky blue flower known for its medicinal and magical properties.
cp14-reagent-name-lumi-shroom = Lumishroom sap
cp14-reagent-desc-lumi-shroom = A faintly shimmering slurry extracted from lumigrib. Often used by alchemists as a means of concentrating solutions.
cp14-reagent-name-yellow-red-rose-pulp = Red rose pulp
cp14-reagent-desc-yellow-red-rose-pulp = Crushed red rose petals
cp14-reagent-name-yellow-dayflin-pulp = Yellow dayfline pulp
cp14-reagent-desc-yellow-dayflin-pulp = Crushed flowers of sunny dayflines

View File

@@ -5,3 +5,4 @@ cp14-reagent-physical-desc-viscous = viscous
cp14-reagent-physical-desc-cloudy = cloudy
cp14-reagent-physical-desc-sparkling = sparkling
cp14-reagent-physical-desc-pureed = pureed
cp14-reagent-physical-desc-iridescent = iridescent

View File

@@ -5,6 +5,7 @@ cp14-flavor-base-invigorating = живительно
cp14-flavor-base-bitterly = горько
cp14-flavor-base-sweetly = сладко
cp14-flavor-base-stinging = жгущее
cp14-flavor-base-magic = волшебно
# Complex

View File

@@ -8,4 +8,16 @@ cp14-reagent-effect-guidebook-inverse-effect =
{ $chance ->
[1] Инвертирует
*[other] инвертировать
} эффект раствора
} эффект раствора
cp14-reagent-effect-guidebook-mana-add =
{ $chance ->
[1] Восстанавливает {$amount} единиц маны
*[other] восстановить {$amount} единиц маны
}
cp14-reagent-effect-guidebook-mana-remove =
{ $chance ->
[1] Выжигает {$amount} единиц маны
*[other] выжечь {$amount} единиц маны
}

View File

@@ -6,7 +6,8 @@ cp14-magic-spell-not-enough-mana-cast-warning-2 = Ваши руки дрожат
cp14-magic-spell-not-enough-mana-cast-warning-3 = К горлу подступает ком...
cp14-magic-spell-not-enough-mana-cast-warning-4 = Голова наливается свинцом...
cp14-magic-energy-damage-burn-out = Боль пронзает ваше тело!
cp14-magic-energy-damage-burn-out = От нехватки маны боль пронзает ваше тело!
cp14-magic-energy-damage-overload = Вы не можете удержать столько маны!
cp14-magic-energy-damage-burn-out-fall = Вы теряете сознание от сильной боли!
cp14-magic-spell-need-verbal-component = Вы не можете произнести заклинание вслух.

View File

@@ -38,4 +38,10 @@ cp14-reagent-name-basic-drunk = Пьянящий раствор
cp14-reagent-desc-basic-drunk = Вещество, вызывающее головокружение и несвязную речь.
cp14-reagent-name-basic-jitter = Раствор трясучки
cp14-reagent-desc-basic-jitter = Вещество, вызывающее неконтролируемые, но безопасные спазмы во всем теле.
cp14-reagent-desc-basic-jitter = Вещество, вызывающее неконтролируемые, но безопасные спазмы во всем теле.
cp14-reagent-name-basic-heal-mana = Раствор жидкой маны
cp14-reagent-desc-basic-heal-mana = Вещество, вызывающее бурную регенерацию магической энергии в организме.
cp14-reagent-name-basic-damage-mana = Раствор антимагии
cp14-reagent-desc-basic-damage-mana = Вещество, стремительно выжигающее всю магическую энергию из организма.

View File

@@ -10,8 +10,8 @@ cp14-reagent-desc-blood-elf = Жизненная энергия волшебно
cp14-reagent-name-blood-goblin = Кровь гоблина
cp14-reagent-desc-blood-goblin = Жизненная энергия зеленокожих существ.
cp14-reagent-name-bloodgrasssap = Сок кровьтравы
cp14-reagent-desc-bloodgrasssap = Выжимка из повсеместно растущей кровьтравы. Не имеет особых примечательных качеств, но при должной сноровке может быть приготовлена в питательную пищу.
cp14-reagent-name-bloodflowersap = Нектар кровавых роз
cp14-reagent-desc-bloodflowersap = Сок кровавых цветов, растущих в местах былых битв. При правильном смешивании с кровью, может давать интересные результаты.
cp14-reagent-name-agaric-shroom = Сок мухомора
cp14-reagent-desc-agaric-shroom = Именно этому соку мухоморы обязаны своей ядовитостью. Употребление вызывает сильные недомогания и галлюцинации, но опытные алхимики смогут найти этим грибам и другие применения.
@@ -25,6 +25,9 @@ cp14-reagent-desc-wild-sage-sap = Сок вездерастущего лечеб
cp14-reagent-name-grounded-quartz = Размолотый кварц
cp14-reagent-desc-grounded-quartz = Порошок, получаемый из размалывания осколков кварца. Имеет слабые очищающие свойства.
cp14-reagent-name-blue-amanita = Лазурная Аманита
cp14-reagent-desc-blue-amanita = Небесно-голубой цветок, известный своими лечебными и магическими свойствами.
cp14-reagent-name-lumi-shroom = Сок люмигриба
cp14-reagent-desc-lumi-shroom = Слабо мерцающая жижа, добытая из люмигриба. Часто используется алхимиками, как средство концентрации растворов.

View File

@@ -5,3 +5,4 @@ cp14-reagent-physical-desc-viscous = вязкое
cp14-reagent-physical-desc-cloudy = мутное
cp14-reagent-physical-desc-sparkling = искрящееся
cp14-reagent-physical-desc-pureed = пюреобразное
cp14-reagent-physical-desc-iridescent = переливчатое

View File

@@ -20,27 +20,6 @@
base1: ""
base2: ""
- type: entity
id: CP14FlowersRed
parent: CP14FlowersBase
name: red rose
description: Beautiful red roses. Can be used to create red dye.
components:
- type: Sprite
sprite: _CP14/Objects/Flora/Flowers/red_rose.rsi
- type: Extractable
juiceSolution:
reagents:
- ReagentId: CP14RedRosePulp
Quantity: 4
- type: SolutionContainerManager
solutions:
food:
maxVol: 5
reagents:
- ReagentId: CP14RedRosePulp
Quantity: 4
- type: entity
id: CP14FlowersYellow
parent: CP14FlowersBase

View File

@@ -1,8 +1,7 @@
- type: entity
id: CP14BloodGrass
parent: FoodProduceBase
name: bloodgrass
description: The dullest and most common plant to be found in the wild is the dark brown grass. Known for its nutritional properties.
id: CP14WildProduceBase
abstract: true
components:
- type: Tag
tags:
@@ -10,9 +9,15 @@
- type: BadFood
- type: Item
size: Tiny
- type: Produce
- type: entity
id: CP14BloodFlower
parent: CP14WildProduceBase
name: blood rose
description: Scarlet flowers growing where blood has been spilled.
components:
- type: Sprite
sprite: _CP14/Objects/Flora/Wild/bloodgrass.rsi
sprite: _CP14/Objects/Flora/Flowers/red_rose.rsi
layers:
- state: base1
map: ["random"]
@@ -21,41 +26,28 @@
- random:
base1: ""
base2: ""
base3: ""
base4: ""
base5: ""
- type: FlavorProfile
flavors:
- CP14Metallic
- type: Extractable
juiceSolution:
reagents:
- ReagentId: CP14BloodGrassSap
- ReagentId: CP14BloodFlowerSap
Quantity: 5
- type: SolutionContainerManager
solutions:
food:
maxVol: 8
reagents:
- ReagentId: CP14BloodGrassSap
- ReagentId: CP14BloodFlowerSap
Quantity: 5
- type: FoodSequenceElement
entries:
CP14Plate: CP14PlateBloodgrass
- type: entity
id: CP14AgaricMushroom
parent: FoodProduceBase
parent: CP14WildProduceBase
name: fly agaric
description: This poisonous mushroom can often be found near bodies of water or other wet areas. It is not recommended for consumption.
components:
- type: Tag
tags:
- CP14FitInMortar
- type: BadFood
- type: Item
size: Tiny
- type: Produce
- type: Sprite
sprite: _CP14/Objects/Flora/Wild/agaric.rsi
layers:
@@ -87,17 +79,10 @@
- type: entity
id: CP14ChromiumSlime
parent: FoodProduceBase
parent: CP14WildProduceBase
name: chromium slime
description: This rare thick substance can be found in a stream of water as if it has a mind of its own. When trying to change the slime itself - the slime changes the reagent it interacts with.
components:
- type: Tag
tags:
- CP14FitInMortar
- type: BadFood
- type: Item
size: Tiny
- type: Produce
- type: Sprite
sprite: _CP14/Objects/Flora/Wild/chromium_slime.rsi
layers:
@@ -127,18 +112,14 @@
- type: entity
id: CP14WildSage
parent: FoodProduceBase
parent: CP14WildProduceBase
name: wild sage root
description: Root of a ubiquitous medicinal plant, not bad at healing physical injuries, and inducing coughing.
components:
- type: Tag
tags:
- CP14FitInMortar
- type: Item
size: Tiny
shape:
- 0,0,0,1
- type: Produce
- type: Sprite
sprite: _CP14/Objects/Flora/Wild/wild_sage.rsi
layers:
@@ -172,11 +153,6 @@
name: rough quartz
description: a natural crystal that is a natural storage of magical energy. Its color reflects the quality of the crystal - the higher the emission spectrum, the higher the level of energy leakage.
components:
- type: Tag
tags:
- CP14FitInMortar
- type: Item
size: Tiny
- type: Sprite
sprite: _CP14/Structures/crystal.rsi
layers:
@@ -197,17 +173,10 @@
- type: entity
id: CP14LumiMushroom
parent: FoodProduceBase
parent: CP14WildProduceBase
name: lumishroom
description: A faintly luminous mushroom. Often used by alchemists as a means of concentrating solutions.
components:
- type: Tag
tags:
- CP14FitInMortar
- type: BadFood
- type: Item
size: Tiny
- type: Produce
- type: Sprite
sprite: _CP14/Objects/Flora/Wild/lumishroom.rsi
layers:
@@ -238,4 +207,34 @@
Quantity: 4
- type: FoodSequenceElement
entries:
CP14Plate: CP14PlateLumiMushroom
CP14Plate: CP14PlateLumiMushroom
- type: entity
id: CP14BlueAmanita
parent: CP14WildProduceBase
name: blue Amanita
description: A sky blue flower known for its medicinal and magical properties.
components:
- type: Sprite
sprite: _CP14/Objects/Flora/Wild/blue_amanita.rsi
layers:
- state: base1
map: ["random"]
- type: RandomSprite
available:
- random:
base1: ""
base2: ""
- type: Extractable
juiceSolution:
reagents:
- ReagentId: CP14BlueAmanita
Quantity: 4
- type: SolutionContainerManager
solutions:
food:
maxVol: 5
reagents:
- ReagentId: CP14BlueAmanita
Quantity: 4

View File

@@ -143,15 +143,15 @@
# Filled
- type: entity
id: CP14VialSmallBloodgrassSap
id: CP14VialSmallBloodFlowerSap
parent: CP14VialSmall
suffix: Bloodgrass sap
suffix: Bloodflower sap
components:
- type: SolutionContainerManager
solutions:
vial:
reagents:
- ReagentId: CP14BloodGrassSap
- ReagentId: CP14BloodFlowerSap
Quantity: 10
- type: entity

View File

@@ -1,39 +1,3 @@
- type: entity
id: CP14GatherableFlowersRed
parent: CP14GatherableWildBase
name: red rose
description: Beautiful red roses. Can be used to create red dye.
suffix: Gatherable
components:
- type: Sprite
drawdepth: FloorTiles
sprite: _CP14/Structures/Flora/Flowers/red_rose.rsi
layers:
- state: world1
map: ["random"]
- type: RandomSprite
available:
- random:
world1: ""
world2: ""
world3: ""
- type: Gatherable
loot:
All: CP14GatherFlowersRed
toolWhitelist:
tags:
- CP14HerbalGathering
components:
- Hands
- type: entityLootTable
id: CP14GatherFlowersRed
entries:
- id: CP14FlowersRed
amount: 1
maxAmount: 2
- type: entity
id: CP14GatherableFlowersYellow
parent: CP14GatherableWildBase

View File

@@ -1,37 +1,35 @@
# Bloodgrass
# BloodFlower
- type: entityLootTable
id: CP14GatherBloodgrass
id: CP14GatherBloodFlower
entries:
- id: CP14BloodGrass
- id: CP14BloodFlower
amount: 1
maxAmount: 1
- type: entity
id: CP14GatherableBloodgrass
id: CP14GatherableBloodFlower
parent: CP14GatherableWildBase
name: bloodgrass
description: The dullest and most common plant to be found in the wild is the dark brown grass.
name: blood rose
description: Scarlet flowers growing where blood has been spilled.
suffix: Gatherable
components:
components:
- type: Sprite
drawdepth: FloorTiles
sprite: _CP14/Structures/Flora/Wild/bloodgrass.rsi
sprite: _CP14/Structures/Flora/Flowers/red_rose.rsi
layers:
- state: grass1
- state: world1
map: ["random"]
- type: RandomSprite
available:
- random:
grass1: ""
grass2: ""
grass3: ""
grass4: ""
grass5: ""
world1: ""
world2: ""
world3: ""
- type: Gatherable
loot:
All: CP14GatherBloodgrass
All: CP14GatherBloodFlower
# Fly agaric
@@ -135,7 +133,7 @@
loot:
All: CP14GatherWildSage
# Wild sage
# LumiMushroom
- type: entityLootTable
id: CP14GatherLumiMushroom
@@ -171,4 +169,38 @@
radius: 1.5
- type: Gatherable
loot:
All: CP14GatherLumiMushroom
All: CP14GatherLumiMushroom
# Blue amanita
- type: entityLootTable
id: CP14GatherBlueAmanita
entries:
- id: CP14BlueAmanita
amount: 1
maxAmount: 1
- type: entity
id: CP14GatherableBlueAmanita
parent: CP14GatherableWildBase
name: blue Amanita
description: A sky blue flower known for its medicinal and magical properties.
suffix: Gatherable
components:
- type: Sprite
drawdepth: FloorTiles
sprite: _CP14/Structures/Flora/Wild/blue_amanita.rsi
layers:
- state: world1
map: ["random"]
- type: RandomSprite
available:
- random:
world1: ""
world2: ""
world3: ""
world4: ""
world5: ""
- type: Gatherable
loot:
All: CP14GatherBlueAmanita

View File

@@ -153,15 +153,15 @@
Quantity: 300
- type: entity
id: CP14BarrelBloodGrassSap
id: CP14BarrelBloodFlowerSap
parent: CP14BaseBarrel
suffix: Bloodgrass sap
suffix: Bloodflower sap
components:
- type: SolutionContainerManager
solutions:
barrel:
reagents:
- ReagentId: CP14BloodGrassSap
- ReagentId: CP14BloodFlowerSap
Quantity: 300
- type: entity

View File

@@ -279,7 +279,7 @@
- id: CP14Nail10
prob: 0.2
onGroup: Material
- id: CP14BloodGrass
- id: CP14BloodFlower
prob: 0.2
onGroup: Material
- id: CP14AgaricMushroom
@@ -306,7 +306,7 @@
- id: CP14Dropper
prob: 0.2
onGroup: Material
- id: CP14VialSmallBloodgrassSap
- id: CP14VialSmallBloodFlowerSap
prob: 0.2
onGroup: Material
- id: CP14VialSmallAgaricMushroom

View File

@@ -25,6 +25,11 @@
flavorType: Base
description: cp14-flavor-base-stinging
- type: flavor
id: CP14Magic
flavorType: Base
description: cp14-flavor-base-magic
# Complex
- type: flavor

View File

@@ -98,24 +98,6 @@
- CP14GrassBushes7
- CP14GrassBushes8
- CP14GrassBushes9
- !type:BiomeEntityLayer # flowers
threshold: 0.7
noise:
seed: 45
noiseType: OpenSimplex2
fractalType: Ridged
frequency: 0.035
octaves: 3
lacunarity: 1.8
gain: 0.7
domainWarpType: OpenSimplex2
domainWarpAmp: 120
allowedTiles:
- CP14FloorGrass
- CP14FloorGrassLight
- CP14FloorGrassTall
entities:
- CP14GatherableFlowersRed
- !type:BiomeEntityLayer # flowers
threshold: 0.7
noise:
@@ -134,6 +116,24 @@
- CP14FloorGrassTall
entities:
- CP14GatherableFlowersYellow
- !type:BiomeEntityLayer # BLue amanita
threshold: 0.7
noise:
seed: 67
noiseType: OpenSimplex2
fractalType: Ridged
frequency: 0.038
octaves: 3
lacunarity: 1.8
gain: 0.7
domainWarpType: OpenSimplex2
domainWarpAmp: 120
allowedTiles:
- CP14FloorGrass
- CP14FloorGrassLight
- CP14FloorGrassTall
entities:
- CP14GatherableBlueAmanita
- !type:BiomeEntityLayer # Tall grass!
threshold: 0.3
noise:
@@ -159,6 +159,8 @@
frequency: 2
allowedTiles:
- CP14FloorGrass
- CP14FloorGrassLight
- CP14FloorGrassTall
entities:
- CP14FloraTree01
- CP14FloraTree02
@@ -172,7 +174,7 @@
- CP14FloraTreeLarge04
- CP14FloraTreeLarge05
- CP14FloraTreeLarge06
- !type:BiomeEntityLayer # Rare Bloodgrass
- !type:BiomeEntityLayer # Rare Bloodflower
threshold: 0.7
noise:
seed: 3
@@ -186,8 +188,10 @@
domainWarpAmp: 120
allowedTiles:
- CP14FloorGrass
- CP14FloorGrassLight
- CP14FloorGrassTall
entities:
- CP14GatherableBloodgrass
- CP14GatherableBloodFlower
- !type:BiomeEntityLayer # Rare Wild sage
threshold: 0.6
noise:
@@ -204,22 +208,6 @@
- CP14FloorGrass
entities:
- CP14GatherableWildSage
- !type:BiomeEntityLayer # Mobs and aura
threshold: 0.8
noise:
seed: 8
noiseType: OpenSimplex2
fractalType: Ridged
frequency: 0.85
octaves: 3
lacunarity: 1.8
gain: 0.7
domainWarpType: OpenSimplex2
domainWarpAmp: 120
allowedTiles:
- CP14FloorGrass
entities:
- CP14AuraNodeBase
# Подбиомы лугов

View File

@@ -1,8 +1,8 @@
- type: reagent
id: CP14BloodGrassSap
id: CP14BloodFlowerSap
group: CP14Biological
name: cp14-reagent-name-bloodgrasssap
desc: cp14-reagent-desc-bloodgrasssap
name: cp14-reagent-name-bloodflowersap
desc: cp14-reagent-desc-bloodflowersap
flavor: CP14Metallic
color: "#5c1f0a"
physicalDesc: cp14-reagent-physical-desc-ferrous
@@ -126,3 +126,24 @@
type: Add
time: 6
refresh: false
- type: reagent
id: CP14BlueAmanita
group: CP14Biological
name: cp14-reagent-name-blue-amanita
desc: cp14-reagent-desc-blue-amanita
flavor: CP14Magic
color: "#6bb4bf"
physicalDesc: cp14-reagent-physical-desc-iridescent
metabolisms:
Medicine:
effects:
- !type:CP14ManaChange
manaDelta: 0.5
Poison:
effects:
- !type:HealthChange
damage:
types:
Poison: 0.1

View File

@@ -1,13 +1,3 @@
- type: reagent
id: CP14RedRosePulp
group: CP14Biological
name: cp14-reagent-name-red-rose-pulp
desc: cp14-reagent-desc-red-rose-pulp
flavor: CP14Sweetly
color: "#d74722"
physicalDesc: cp14-reagent-physical-desc-pureed
slippery: false
- type: reagent
id: CP14YellowDayflinPulp
group: CP14Biological

View File

@@ -135,6 +135,34 @@
types:
Cold: 10
- type: reagent
id: CP14BasicEffectHealMana
name: cp14-reagent-name-basic-heal-mana
desc: cp14-reagent-desc-basic-heal-mana
group: CP14BasicEffect
flavor: CP14Magic
color: "#1497e3"
physicalDesc: cp14-reagent-physical-desc-iridescent
metabolisms:
Medicine:
effects:
- !type:CP14ManaChange
manaDelta: 10
- type: reagent
id: CP14BasicEffectDamageMana
name: cp14-reagent-name-basic-damage-mana
desc: cp14-reagent-desc-basic-damage-mana
group: CP14BasicEffect
flavor: CP14Bitterly
color: "#6014e3"
physicalDesc: cp14-reagent-physical-desc-iridescent
metabolisms:
Poison:
effects:
- !type:CP14ManaChange
manaDelta: -10
# USELESS
# Things that don't directly affect gameplay.

View File

@@ -53,17 +53,6 @@
- sprite: _CP14/Objects/Flora/Wild/agaric.rsi
state: plate3
- type: foodSequenceElement
id: CP14PlateBloodgrass
name: cp14-food-sequence-plate-grass
sprites:
- sprite: _CP14/Objects/Flora/Wild/bloodgrass.rsi
state: plate1
- sprite: _CP14/Objects/Flora/Wild/bloodgrass.rsi
state: plate2
- sprite: _CP14/Objects/Flora/Wild/bloodgrass.rsi
state: plate3
- type: foodSequenceElement
id: CP14PlateChromiumSlime
name: cp14-food-sequence-plate-slime

View File

@@ -0,0 +1,41 @@
# Simple brewing
- type: reaction
id: CP14AgaricShroomBrewing
minTemp: 500
priority: 2
reactants:
CP14AgaricMushroom:
amount: 1
CP14GroundQuartz:
amount: 1
products:
CP14BasicEffectEmpty: 0.75
CP14BasicEffectDamagePoison: 0.5
CP14BasicEffectRainbow: 0.25
cp14RandomProducts:
- CP14BasicEffectVomit: 0.25
CP14BasicEffectDamageBrute: 0.25
- CP14BasicEffectSatiateHunger: 0.25
CP14BasicEffectRainbow: 0.25
- CP14BasicEffectSatiateThirst: 0.25
CP14BasicEffectVomit: 0.25
effects:
- !type:CP14AffectSolutionTemperature
addTemperature: -250
# Splitting
- type: reaction
id: CP14AgaricShroomSplitting
minTemp: 450
priority: 3
reactants:
CP14BasicEffectHealBrute:
amount: 0.5
CP14AgaricMushroom:
amount: 0.5
products:
CP14BasicEffectSatiateHunger: 0.5
CP14BasicEffectSatiateThirst: 0.5

View File

@@ -1,14 +1,51 @@
# Idea:
# bloodgrass is a special reagent that can yield different base reagents, depending on the type of blood it is mixed with.
# BloodFlower is a special reagent that can yield different base reagents, depending on the type of blood it is mixed with.
# Red color dye
- type: reaction
id: CP14BloodGrassBrewingBlood
id: CP14BloodFlowerBrewing
minTemp: 500
priority: 1
quantized: true
conserveEnergy: false
reactants:
CP14BloodFlowerSap:
amount: 10
effects:
- !type:CP14AffectSolutionTemperature
addTemperature: -250
- !type:CreateEntityReactionEffect
entity: CP14DyeRed
# Splitting
- type: reaction
id: CP14BloodFlowerSplitting
minTemp: 450
priority: 3
reactants:
CP14BasicEffectDamagePoison:
amount: 0.5
CP14BloodFlowerSap:
amount: 0.5
products:
CP14BasicEffectDamageBrute: 0.5
cp14RandomProducts:
- CP14BasicEffectRainbow: 0.5
- CP14BasicEffectDamageCold: 0.5
- CP14BasicEffectDrunk: 0.5
# Blood brewing
- type: reaction
id: CP14BloodFlowerBrewingBloodHuman
minTemp: 500
priority: 2
reactants:
CP14Blood:
amount: 0.5
CP14BloodGrassSap:
CP14BloodFlowerSap:
amount: 0.5
CP14GroundQuartz:
amount: 0.5
@@ -21,13 +58,13 @@
addTemperature: -250
- type: reaction
id: CP14BloodGrassBrewingBloodTiefling
id: CP14BloodFlowerBrewingBloodTiefling
minTemp: 500
priority: 2
reactants:
CP14BloodTiefling:
amount: 0.5
CP14BloodGrassSap:
CP14BloodFlowerSap:
amount: 0.5
CP14GroundQuartz:
amount: 0.5
@@ -40,13 +77,13 @@
addTemperature: -250
- type: reaction
id: CP14BloodGrassBrewingBloodElf
id: CP14BloodFlowerBrewingBloodElf
minTemp: 500
priority: 2
reactants:
CP14BloodElf:
amount: 0.5
CP14BloodGrassSap:
CP14BloodFlowerSap:
amount: 0.5
CP14GroundQuartz:
amount: 0.5
@@ -59,13 +96,13 @@
addTemperature: -250
- type: reaction
id: CP14BloodGrassBrewingBloodGoblin
id: CP14BloodFlowerBrewingBloodGoblin
minTemp: 500
priority: 2
reactants:
CP14BloodGoblin:
amount: 0.5
CP14BloodGrassSap:
CP14BloodFlowerSap:
amount: 0.5
CP14GroundQuartz:
amount: 0.5

View File

@@ -0,0 +1,55 @@
# Blue color dye
- type: reaction
id: CP14BlueAmanitaColor
minTemp: 500
priority: 1
quantized: true
conserveEnergy: false
reactants:
CP14BlueAmanita:
amount: 10
effects:
- !type:CP14AffectSolutionTemperature
addTemperature: -250
- !type:CreateEntityReactionEffect
entity: CP14DyeBlue
# Simple brewing
- type: reaction
id: CP14BlueAmanitaBrewing
minTemp: 500
priority: 2
reactants:
CP14BlueAmanita:
amount: 1
CP14GroundQuartz:
amount: 1
products:
CP14BasicEffectEmpty: 1
CP14BasicEffectHealMana: 0.5
CP14BasicEffectJitter: 0.25
cp14RandomProducts:
- CP14BasicEffectHealPoison: 0.25
- CP14BasicEffectHealCold: 0.25
- CP14BasicEffectHealBrute: 0.25
effects:
- !type:CP14AffectSolutionTemperature
addTemperature: -250
# Splitting
- type: reaction
id: CP14BlueAmanitaSplitting
minTemp: 450
priority: 3
reactants:
CP14BasicEffectSatiateHunger:
amount: 0.5
CP14BlueAmanita:
amount: 0.5
products:
CP14BasicEffectHealMana: 0.5
CP14BasicEffectHealBrute: 0.5

View File

@@ -1,68 +0,0 @@
# Idea:
# The easiest way to get basic effects from various herbs. Has the highest level of empty solution.
- type: reaction
id: CP14AgaricShroomBrewing
minTemp: 500
priority: 2
reactants:
CP14AgaricMushroom:
amount: 1
CP14GroundQuartz:
amount: 1
products:
CP14BasicEffectEmpty: 0.75
CP14BasicEffectDamagePoison: 0.5
CP14BasicEffectRainbow: 0.25
cp14RandomProducts:
- CP14BasicEffectVomit: 0.25
CP14BasicEffectDamageBrute: 0.25
- CP14BasicEffectSatiateHunger: 0.25
CP14BasicEffectRainbow: 0.25
- CP14BasicEffectSatiateThirst: 0.25
CP14BasicEffectVomit: 0.25
effects:
- !type:CP14AffectSolutionTemperature
addTemperature: -250
- type: reaction
id: CP14WildSageSapBrewing
minTemp: 500
priority: 2
reactants:
CP14WildSageSap:
amount: 1
CP14GroundQuartz:
amount: 1
products:
CP14BasicEffectEmpty: 0.75
CP14BasicEffectHealBrute: 0.5
CP14BasicEffectEmoteCough: 0.25
cp14RandomProducts:
- CP14BasicEffectRainbow: 0.25
CP14BasicEffectHealCold: 0.25
- CP14BasicEffectEmoteCough: 0.25
CP14BasicEffectHealPoison: 0.25
- CP14BasicEffectEmoteCough: 0.25
CP14BasicEffectHealPoison: 0.25
effects:
- !type:CP14AffectSolutionTemperature
addTemperature: -250
- type: reaction
id: CP14LumiMushroomBrewing
minTemp: 500
priority: 2
reactants:
CP14LumiMushroom:
amount: 1
CP14GroundQuartz:
amount: 1
products:
CP14BasicEffectEmpty: 0.75
CP14BasicEffectVomit: 0.5
CP14BasicEffectRainbow: 0.5
effects:
- !type:CP14AffectSolutionTemperature
addTemperature: -250

View File

@@ -30,5 +30,8 @@
CP14BasicEffectSatiateThirst: CP14BasicEffectSatiateHunger
CP14BasicEffectVomit: CP14BasicEffectSatiateThirst
#
CP14BasicEffectDamageMana: CP14BasicEffectHealMana
CP14BasicEffectHealMana: CP14BasicEffectDamageMana
#
#CP14BasicEffectRainbow:
#CP14BasicEffectEmoteCough:

View File

@@ -1,6 +1,5 @@
- type: reaction
id: CP14MeltingFail
id: CP14OverbrewingFail
minTemp: 800
reactants:
CP14BasicEffectEmpty:

View File

@@ -0,0 +1,33 @@
# Simple brewing
- type: reaction
id: CP14LumiMushroomBrewing
minTemp: 500
priority: 2
reactants:
CP14LumiMushroom:
amount: 1
CP14GroundQuartz:
amount: 1
products:
CP14BasicEffectEmpty: 0.75
CP14BasicEffectVomit: 0.5
CP14BasicEffectRainbow: 0.5
effects:
- !type:CP14AffectSolutionTemperature
addTemperature: -250
# Splitting
- type: reaction
id: CP14EmptySplitting
priority: 3
reactants:
CP14BasicEffectEmpty:
amount: 0.5
CP14LumiMushroom:
amount: 0.5
effects:
- !type:CP14AffectSolutionTemperature
addTemperature: -250

View File

@@ -1,117 +0,0 @@
# Idea:
# The simplest way to edit base effects by reducing the blank solution is to have different raw reagents change individual properties.
# Rules:
# 1) all values must be multiples of 0.25
# 2) the empty solution should decrease as a result of the reaction
# 3) as a result of the reaction, one effect must decay into the other two.
# 4) The priority should be higher than any brewing reactions, so that the base reagents do not have time to boil before the effect is applied
- type: reaction
id: CP14DamagePoisonSplitting
minTemp: 450
priority: 3
reactants:
CP14BasicEffectDamagePoison:
amount: 0.5
CP14BloodGrassSap:
amount: 0.5
products:
CP14BasicEffectDamageBrute: 0.5
cp14RandomProducts:
- CP14BasicEffectRainbow: 0.5
- CP14BasicEffectDamageCold: 0.5
- CP14BasicEffectDrunk: 0.5
- type: reaction
id: CP14HealBruteSplitting
minTemp: 450
priority: 3
reactants:
CP14BasicEffectHealBrute:
amount: 0.5
CP14AgaricMushroom:
amount: 0.5
products:
CP14BasicEffectSatiateHunger: 0.5
CP14BasicEffectSatiateThirst: 0.5
- type: reaction
id: CP14SatiateHungerSplitting
minTemp: 450
priority: 3
reactants:
CP14BasicEffectSatiateHunger:
amount: 0.5
CP14WildSageSap:
amount: 0.5
products:
CP14BasicEffectHealBrute: 0.5
cp14RandomProducts:
- CP14BasicEffectEmoteCough: 0.5
- CP14BasicEffectDrunk: 0.5
- CP14BasicEffectJitter: 0.5
- type: reaction
id: CP14SatiateThirstSplitting
minTemp: 450
priority: 3
reactants:
CP14BasicEffectSatiateThirst:
amount: 0.5
CP14WildSageSap:
amount: 0.5
products:
CP14BasicEffectHealBrute: 0.25
CP14BasicEffectEmoteCough: 0.25
- type: reaction
id: CP14EmoteCoughSplitting
minTemp: 450
priority: 3
reactants:
CP14BasicEffectEmoteCough:
amount: 0.5
CP14BloodElf:
amount: 0.5
products:
CP14BasicEffectSatiateThirst: 0.25
CP14BasicEffectHealBrute: 0.25
- type: reaction
id: CP14RainbowSplitting
minTemp: 450
priority: 3
reactants:
CP14BasicEffectRainbow:
amount: 0.5
CP14BloodTiefling:
amount: 0.5
products:
CP14BasicEffectHealCold: 0.25
CP14BasicEffectSatiateThirst: 0.25
- type: reaction
id: CP14VomitSplitting
minTemp: 450
priority: 3
reactants:
CP14BasicEffectVomit:
amount: 0.5
CP14BloodTiefling:
amount: 0.5
products:
CP14BasicEffectDamagePoison: 0.25
CP14BasicEffectEmoteCough: 0.25
- type: reaction
id: CP14EmptySplitting
priority: 3
reactants:
CP14BasicEffectEmpty:
amount: 0.5
CP14LumiMushroom:
amount: 0.5
effects:
- !type:CP14AffectSolutionTemperature
addTemperature: -250

View File

@@ -0,0 +1,57 @@
# Simple brewing
- type: reaction
id: CP14WildSageSapBrewing
minTemp: 500
priority: 2
reactants:
CP14WildSageSap:
amount: 1
CP14GroundQuartz:
amount: 1
products:
CP14BasicEffectEmpty: 0.75
CP14BasicEffectHealBrute: 0.5
CP14BasicEffectEmoteCough: 0.25
cp14RandomProducts:
- CP14BasicEffectRainbow: 0.25
CP14BasicEffectHealCold: 0.25
- CP14BasicEffectEmoteCough: 0.25
CP14BasicEffectHealPoison: 0.25
- CP14BasicEffectEmoteCough: 0.25
CP14BasicEffectHealPoison: 0.25
effects:
- !type:CP14AffectSolutionTemperature
addTemperature: -250
# Splitting
- type: reaction
id: CP14WildSageSapSplitting
minTemp: 450
priority: 3
reactants:
CP14BasicEffectSatiateHunger:
amount: 0.5
CP14WildSageSap:
amount: 0.5
products:
CP14BasicEffectHealBrute: 0.5
cp14RandomProducts:
- CP14BasicEffectEmoteCough: 0.5
- CP14BasicEffectDrunk: 0.5
- CP14BasicEffectJitter: 0.5
- type: reaction
id: CP14SatiateThirstSplitting
minTemp: 450
priority: 3
reactants:
CP14BasicEffectSatiateThirst:
amount: 0.5
CP14WildSageSap:
amount: 0.5
products:
CP14BasicEffectHealBrute: 0.25
CP14BasicEffectEmoteCough: 0.25

View File

@@ -1,16 +1,3 @@
- type: reaction
id: CP14RedRoseBrewing
impact: Low
quantized: true
conserveEnergy: false
minTemp: 500
reactants:
CP14RedRosePulp:
amount: 10
effects:
- !type:CreateEntityReactionEffect
entity: CP14DyeRed
- type: reaction
id: CP14YellowDayflinBrewing
impact: Low

View File

@@ -257,6 +257,6 @@
tag: CP14RecipeSewing
craftTime: 2
entities:
CP14FlowersRed: 2
CP14BloodFlower: 2
CP14FlowersYellow: 2
result: CP14ClothingHeadWreath
result: CP14ClothingHeadWreath

View File

@@ -12,7 +12,7 @@ The produced substances, your character as a mercenary, can use for anything. Se
A large number of “raw” substances can be found in the world. The juices of plants, the blood of living creatures, or even crushed crystals. A skilled alchemist can transform these, to most people, useless items into something valuable.
<Box>
<GuideEntityEmbed Entity="CP14BloodGrass"/>
<GuideEntityEmbed Entity="CP14BlueAmanita"/>
<GuideEntityEmbed Entity="CP14AgaricMushroom"/>
<GuideEntityEmbed Entity="CP14ChromiumSlime"/>
</Box>

View File

@@ -12,7 +12,7 @@
В мире можно найти большое количество "сырых" веществ. Соки растений, кровь живых существ, или даже раздробленные кристаллы. Грамотный алхимик может преобразовать эти, для большинства людей, бесполезные предметы, в нечто ценное.
<Box>
<GuideEntityEmbed Entity="CP14BloodGrass"/>
<GuideEntityEmbed Entity="CP14BlueAmanita"/>
<GuideEntityEmbed Entity="CP14AgaricMushroom"/>
<GuideEntityEmbed Entity="CP14ChromiumSlime"/>
</Box>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 503 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 523 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 412 B

View File

@@ -1,35 +0,0 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Base Created by TheShuEd (Github) for CrystallPunk14, Grass taken from tgstation at commits https://github.com/tgstation/tgstation/commit/729d858807905263adab8b5a331c1d8a04982dd3, and recolored",
"states": [
{
"name": "base1"
},
{
"name": "base2"
},
{
"name": "base3"
},
{
"name": "base4"
},
{
"name": "base5"
},
{
"name": "plate1"
},
{
"name": "plate2"
},
{
"name": "plate3"
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 B

View File

@@ -0,0 +1,17 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CLA",
"copyright": "Created by Max Gab for CrystallPunk14",
"states": [
{
"name": "base1"
},
{
"name": "base2"
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 705 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 710 B

View File

@@ -1,26 +0,0 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Base Created by TheShuEd (Github) for CrystallPunk14, Grass taken from tgstation at commits https://github.com/tgstation/tgstation/commit/729d858807905263adab8b5a331c1d8a04982dd3, and recolored",
"states": [
{
"name": "grass1"
},
{
"name": "grass2"
},
{
"name": "grass3"
},
{
"name": "grass4"
},
{
"name": "grass5"
}
]
}

View File

@@ -0,0 +1,26 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CLA",
"copyright": "Created by Max Gab for CrystallPunk14",
"states": [
{
"name": "world1"
},
{
"name": "world2"
},
{
"name": "world3"
},
{
"name": "world4"
},
{
"name": "world5"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -8,12 +8,6 @@ CP14CaveStoneWall: CP14WallStone
CP14CaveStoneWallSilverOre: null
CP14CaveStoneWallGoldOre: CP14WallStoneGoldOre
# 2024-06-07
CP14GatherableBloodgrass2: CP14GatherableBloodgrass
CP14GatherableBloodgrass3: CP14GatherableBloodgrass
CP14GatherableBloodgrass4: CP14GatherableBloodgrass
CP14GatherableBloodgrass5: CP14GatherableBloodgrass
# 2024-06-10
CP14ClothingCloakHoodieYellow: CP14ClothingCloakSimpleWhite
CP14ClothingPantsHarlequinRed: CP14ClothingPantsTrouserDarkBlue
@@ -100,6 +94,13 @@ CP14ClothingHeadMercenaryBeret: CP14ClothingHeadBeretMercenary
CP14MeltingMoldBlank: null
CP14WorkbenchMeltingMolds: null
#2024-10-04
CP14BloodGrass: CP14BloodFlower
CP14FlowersRed: CP14BloodFlower
CP14GatherableBloodgrass: CP14GatherableBloodFlower
CP14GatherableFlowersRed: CP14GatherableBloodFlower
CP14VialSmallBloodgrassSap: CP14VialSmallBloodFlowerSap
CP14BarrelBloodGrassSap: CP14BarrelBloodFlowerSap
# <---> CrystallPunk migration zone end