From 2e85ac02636727ba1a1c042d4aeb58c23d83e513 Mon Sep 17 00:00:00 2001 From: Nim <128169402+Nimfar11@users.noreply.github.com> Date: Mon, 31 Mar 2025 13:03:42 +0300 Subject: [PATCH] Magic damage (#1047) * magic damage * mana-healing potion * slimes * ManaDepletion * Examinable * color --- .../CP14MagicUnsafeDamageComponent.cs | 4 +-- .../en-US/_CP14/damage/damage-groups.ftl | 1 + .../en-US/_CP14/damage/damage-types.ftl | 1 + .../health-examinable-carbon.ftl | 3 ++ .../meta/thaumaturgy/target_effects.ftl | 6 ++++ .../ru-RU/_CP14/damage/damage-groups.ftl | 1 + .../ru-RU/_CP14/damage/damage-types.ftl | 1 + .../health-examinable-carbon.ftl | 3 ++ .../meta/thaumaturgy/target_effects.ftl | 6 ++++ .../Prototypes/_CP14/Damage/containers.yml | 9 +++++ Resources/Prototypes/_CP14/Damage/groups.yml | 7 ++++ Resources/Prototypes/_CP14/Damage/types.yml | 6 ++++ .../_CP14/Entities/Mobs/NPC/Slimes/base.yml | 2 +- .../_CP14/Entities/Mobs/NPC/dinosaurs.yml | 2 +- .../_CP14/Entities/Mobs/NPC/ice_ghost.yml | 2 +- .../Entities/Mobs/NPC/invisible_whistler.yml | 4 +-- .../_CP14/Entities/Mobs/NPC/mole.yml | 2 -- .../_CP14/Entities/Mobs/NPC/mosquito.yml | 6 ++-- .../_CP14/Entities/Mobs/Species/base.yml | 10 ++++++ .../_CP14/Entities/Mobs/Species/elf.yml | 10 ++++++ .../_CP14/Entities/Mobs/Species/goblin.yml | 4 ++- .../_CP14/Entities/Mobs/Species/skeleton.yml | 2 +- .../_CP14/Entities/Mobs/Species/tiefling.yml | 2 +- .../_CP14/Entities/Mobs/Species/zombie.yml | 2 +- .../Prototypes/_CP14/Entities/Mobs/base.yml | 12 +++++++ .../Specific/Alchemy/vials_filled_potions.yml | 17 ++++++++- .../Prototypes/_CP14/Reagents/precurser.yml | 4 +++ .../_CP14/Reagents/target_effects.yml | 36 +++++++++++++++++++ 28 files changed, 146 insertions(+), 19 deletions(-) create mode 100644 Resources/Locale/en-US/_CP14/damage/damage-groups.ftl create mode 100644 Resources/Locale/en-US/_CP14/damage/damage-types.ftl create mode 100644 Resources/Locale/en-US/_CP14/health-examinable/health-examinable-carbon.ftl create mode 100644 Resources/Locale/ru-RU/_CP14/damage/damage-groups.ftl create mode 100644 Resources/Locale/ru-RU/_CP14/damage/damage-types.ftl create mode 100644 Resources/Locale/ru-RU/_CP14/health-examinable/health-examinable-carbon.ftl create mode 100644 Resources/Prototypes/_CP14/Damage/containers.yml create mode 100644 Resources/Prototypes/_CP14/Damage/groups.yml create mode 100644 Resources/Prototypes/_CP14/Damage/types.yml diff --git a/Content.Shared/_CP14/MagicWeakness/CP14MagicUnsafeDamageComponent.cs b/Content.Shared/_CP14/MagicWeakness/CP14MagicUnsafeDamageComponent.cs index d777481cd5..83351c32ed 100644 --- a/Content.Shared/_CP14/MagicWeakness/CP14MagicUnsafeDamageComponent.cs +++ b/Content.Shared/_CP14/MagicWeakness/CP14MagicUnsafeDamageComponent.cs @@ -16,9 +16,7 @@ public sealed partial class CP14MagicUnsafeDamageComponent : Component { DamageDict = new Dictionary { - {"Blunt", 0.3}, - {"Poison", 0.4}, - {"Heat", 0.3}, + {"CP14ManaDepletion", 0.8}, }, }; } diff --git a/Resources/Locale/en-US/_CP14/damage/damage-groups.ftl b/Resources/Locale/en-US/_CP14/damage/damage-groups.ftl new file mode 100644 index 0000000000..7e29b2c84b --- /dev/null +++ b/Resources/Locale/en-US/_CP14/damage/damage-groups.ftl @@ -0,0 +1 @@ +cp14-damage-group-magic = Magic diff --git a/Resources/Locale/en-US/_CP14/damage/damage-types.ftl b/Resources/Locale/en-US/_CP14/damage/damage-types.ftl new file mode 100644 index 0000000000..f2517e70f2 --- /dev/null +++ b/Resources/Locale/en-US/_CP14/damage/damage-types.ftl @@ -0,0 +1 @@ +cp14-damage-type-manadepletion = Mana-depletion diff --git a/Resources/Locale/en-US/_CP14/health-examinable/health-examinable-carbon.ftl b/Resources/Locale/en-US/_CP14/health-examinable/health-examinable-carbon.ftl new file mode 100644 index 0000000000..0f2fe152ad --- /dev/null +++ b/Resources/Locale/en-US/_CP14/health-examinable/health-examinable-carbon.ftl @@ -0,0 +1,3 @@ +health-examinable-carbon-CP14ManaDepletion-25 = [color=blue]{ CAPITALIZE(SUBJECT($target)) } { CONJUGATE-HAVE($target) } cracked skin all over { POSS-ADJ($target) } body.[/color] +health-examinable-carbon-CP14ManaDepletion-50 = [colour=darkblue]{ CAPITALIZE(SUBJECT($target)) } { CONJUGATE-HAVE($target) } pour blue cracks all over { POSS-ADJ($target) } body![/colour] +health-examinable-carbon-CP14ManaDepletion-75 = [colour=darkblue]{ CAPITALIZE(POSS-ADJ($target)) } the body dries up releasing mana from the cracks![/colour] diff --git a/Resources/Locale/en-US/_CP14/reagents/meta/thaumaturgy/target_effects.ftl b/Resources/Locale/en-US/_CP14/reagents/meta/thaumaturgy/target_effects.ftl index 678878874e..e7e82eb2c6 100644 --- a/Resources/Locale/en-US/_CP14/reagents/meta/thaumaturgy/target_effects.ftl +++ b/Resources/Locale/en-US/_CP14/reagents/meta/thaumaturgy/target_effects.ftl @@ -31,6 +31,12 @@ cp14-reagent-desc-basic-damage-airloss = A viscous slurry that rapidly glues th cp14-reagent-name-basic-heal-airloss = Air solution cp14-reagent-desc-basic-heal-airloss = A refreshing liquid that saturates the body with air. +cp14-reagent-name-basic-damage-manadepletion = Mana-depleting solution +cp14-reagent-desc-basic-damage-manadepletion = A dangerous solution that damages areas with mana inside the body. + +cp14-reagent-name-basic-heal-manadepletion = Mana-healing solution +cp14-reagent-desc-basic-heal-manadepletion = A liquid that affects the mana within the body, revitalising areas dried up by mana. + cp14-reagent-name-basic-blood-restore = Blood-healing solution cp14-reagent-desc-basic-blood-restore = Coming into contact with the body restores blood levels of the same type used by that body. diff --git a/Resources/Locale/ru-RU/_CP14/damage/damage-groups.ftl b/Resources/Locale/ru-RU/_CP14/damage/damage-groups.ftl new file mode 100644 index 0000000000..ebd02160ee --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/damage/damage-groups.ftl @@ -0,0 +1 @@ +cp14-damage-group-magic = Магический diff --git a/Resources/Locale/ru-RU/_CP14/damage/damage-types.ftl b/Resources/Locale/ru-RU/_CP14/damage/damage-types.ftl new file mode 100644 index 0000000000..b171798012 --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/damage/damage-types.ftl @@ -0,0 +1 @@ +cp14-damage-type-manadepletion = Мана-истощение diff --git a/Resources/Locale/ru-RU/_CP14/health-examinable/health-examinable-carbon.ftl b/Resources/Locale/ru-RU/_CP14/health-examinable/health-examinable-carbon.ftl new file mode 100644 index 0000000000..d080370bd3 --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/health-examinable/health-examinable-carbon.ftl @@ -0,0 +1,3 @@ +health-examinable-carbon-CP14ManaDepletion-25 = [color=blue]{ CAPITALIZE(SUBJECT($target)) } { CONJUGATE-HAVE($target) } потрескавшуюся кожу по всему телу.[/color] +health-examinable-carbon-CP14ManaDepletion-50 = [color=darkblue]{ CAPITALIZE(SUBJECT($target)) } { CONJUGATE-HAVE($target) } налившиеся синим цветом трещины по всему телу![/color] +health-examinable-carbon-CP14ManaDepletion-75 = [color=darkblue]{ CAPITALIZE(SUBJECT($target)) } { CONJUGATE-HAVE($target) } высыхающее тело выпускающее ману из трещин в коже![/color] diff --git a/Resources/Locale/ru-RU/_CP14/reagents/meta/thaumaturgy/target_effects.ftl b/Resources/Locale/ru-RU/_CP14/reagents/meta/thaumaturgy/target_effects.ftl index 547819c29e..5c12d143e4 100644 --- a/Resources/Locale/ru-RU/_CP14/reagents/meta/thaumaturgy/target_effects.ftl +++ b/Resources/Locale/ru-RU/_CP14/reagents/meta/thaumaturgy/target_effects.ftl @@ -31,6 +31,12 @@ cp14-reagent-desc-basic-damage-airloss = Вязкая жижа, стремите cp14-reagent-name-basic-heal-airloss = Воздушный раствор cp14-reagent-desc-basic-heal-airloss = Веющая свежестью жидкость, насыщающая организм воздухом. +cp14-reagent-name-basic-damage-manadepletion = Мана-истощающий раствор +cp14-reagent-desc-basic-damage-manadepletion = Опасный раствор, повреждающий участки с маной внутри организма. + +cp14-reagent-name-basic-heal-manadepletion = Мана-лечащий раствор +cp14-reagent-desc-basic-heal-manadepletion = Жидкость, которая воздействует на ману внутри тела, оздоравливая иссушенные маной участки. + cp14-reagent-name-basic-blood-restore = Крововостанавливающий раствор cp14-reagent-desc-basic-blood-restore = Вступая в контакт с организмом, восстанавливает уровень крови того же типа, что используется этим организмом. diff --git a/Resources/Prototypes/_CP14/Damage/containers.yml b/Resources/Prototypes/_CP14/Damage/containers.yml new file mode 100644 index 0000000000..24308805c5 --- /dev/null +++ b/Resources/Prototypes/_CP14/Damage/containers.yml @@ -0,0 +1,9 @@ +- type: damageContainer + id: CP14Biological + supportedGroups: + - Brute + - Burn + - Toxin + - Airloss + - Genetic + - CP14Magic diff --git a/Resources/Prototypes/_CP14/Damage/groups.yml b/Resources/Prototypes/_CP14/Damage/groups.yml new file mode 100644 index 0000000000..697ff5b097 --- /dev/null +++ b/Resources/Prototypes/_CP14/Damage/groups.yml @@ -0,0 +1,7 @@ +# Damage caused by magic or its various manifestations +# Mana depletion is damage dealt due to lack of or too much mana. +- type: damageGroup + id: CP14Magic + name: cp14-damage-group-magic + damageTypes: + - CP14ManaDepletion diff --git a/Resources/Prototypes/_CP14/Damage/types.yml b/Resources/Prototypes/_CP14/Damage/types.yml new file mode 100644 index 0000000000..552cbb2cc9 --- /dev/null +++ b/Resources/Prototypes/_CP14/Damage/types.yml @@ -0,0 +1,6 @@ +- type: damageType + id: CP14ManaDepletion + name: cp14-damage-type-manadepletion + armorCoefficientPrice: 5 + armorFlatPrice: 20 + diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/base.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/base.yml index d3c8cea444..c908b6fb6e 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/Slimes/base.yml @@ -52,7 +52,7 @@ params: volume: 3 - type: Damageable - damageContainer: Biological + damageContainer: CP14Biological damageModifierSet: Slime - type: MeleeWeapon altDisarm: false diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/dinosaurs.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/dinosaurs.yml index cb20dce142..bcc1c37971 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/dinosaurs.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/dinosaurs.yml @@ -12,7 +12,7 @@ - type: ReplacementAccent accent: xeno - type: Damageable - damageContainer: Biological + damageContainer: CP14Biological damageModifierSet: CP14Dinosaur - type: Appearance - type: Body diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/ice_ghost.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/ice_ghost.yml index 2044c6e7b6..ef878c33c1 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/ice_ghost.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/ice_ghost.yml @@ -53,7 +53,7 @@ shader: unshaded drawdepth: Mobs - type: Damageable - damageContainer: Biological + damageContainer: CP14Biological - type: Destructible thresholds: - trigger: diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/invisible_whistler.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/invisible_whistler.yml index 87182466fb..bd4bf18004 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/invisible_whistler.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/invisible_whistler.yml @@ -1,6 +1,6 @@ - type: entity id: CP14MobMonsterInvisibleWhistler - parent: SimpleMobBase + parent: CP14SimpleMobBase name: invisible whistler description: A monster invisible to the ordinary eye, adoring to devour victims consumed by fear and misunderstanding. categories: [ ForkFiltered ] @@ -45,8 +45,6 @@ types: Piercing: 6 Structural: 3 - - type: Damageable - damageContainer: Biological - type: Appearance - type: Body prototype: Animal diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/mole.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/mole.yml index c3cbc37abf..6a2eaebfd2 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/mole.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/mole.yml @@ -39,8 +39,6 @@ - MobLayer - type: ReplacementAccent accent: xeno - - type: Damageable - damageContainer: Biological - type: Appearance - type: Body prototype: Animal diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/mosquito.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/mosquito.yml index 393778a4d6..498464ce0a 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/mosquito.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/mosquito.yml @@ -1,6 +1,6 @@ - type: entity id: CP14MobMonsterMosquito - parent: [ SimpleMobBase, FlyingMobBase ] + parent: [ CP14SimpleMobBase, FlyingMobBase ] name: bloodworm mosquitoes description: A bloodthirsty swarm of small mosquitoes just waiting for a soft flesh for a bloody feast. categories: [ ForkFiltered ] @@ -36,7 +36,7 @@ - type: ReplacementAccent accent: xeno - type: Damageable - damageContainer: Biological + damageContainer: CP14Biological damageModifierSet: CP14LittleInsects - type: Appearance - type: Stamina @@ -77,4 +77,4 @@ - type: MeleeSound soundGroups: Burn: - path: /Audio/_CP14/Animals/swarm_hit.ogg \ No newline at end of file + path: /Audio/_CP14/Animals/swarm_hit.ogg diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml index e394f09d5f..fdfff03d74 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml @@ -246,6 +246,16 @@ abstract: true components: # Organs + - type: PassiveDamage + allowedStates: + - Alive + damageCap: 20 + damage: + types: + Heat: -0.07 + CP14ManaDepletion: -0.02 + groups: + Brute: -0.07 - type: StatusEffects allowed: - Stun diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/elf.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/elf.yml index 34a3cc2c02..1a6abf8601 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/elf.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/elf.yml @@ -6,6 +6,16 @@ components: - type: HumanoidAppearance species: CP14Elf + - type: PassiveDamage + allowedStates: + - Alive + damageCap: 20 + damage: + types: + Heat: -0.07 + CP14ManaDepletion: -0.07 + groups: + Brute: -0.07 - type: Hunger starvationDamage: types: diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/goblin.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/goblin.yml index 163deab045..b32dc7a13b 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/goblin.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/goblin.yml @@ -95,13 +95,15 @@ layer: - MobLayer - type: Damageable - damageContainer: Biological + damageContainer: CP14Biological damageModifierSet: CP14Goblin #+25% all damage, -50% poison - type: PassiveDamage allowedStates: - Alive damageCap: 80 damage: + types: + CP14ManaDepletion: -0.05 groups: Burn: -0.2 Brute: -0.2 diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/skeleton.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/skeleton.yml index b9204a8f1a..477aacf740 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/skeleton.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/skeleton.yml @@ -89,7 +89,7 @@ layer: - MobLayer - type: Damageable - damageContainer: Biological + damageContainer: CP14Biological damageModifierSet: Skeleton - type: Destructible thresholds: diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/tiefling.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/tiefling.yml index 23be952f8b..ab2fe0a957 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/tiefling.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/tiefling.yml @@ -27,7 +27,7 @@ - type: Bloodstream bloodReagent: CP14BloodTiefling - type: Damageable - damageContainer: Biological + damageContainer: CP14Biological damageModifierSet: CP14Tiefling - type: PassiveDamage allowedStates: diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/zombie.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/zombie.yml index 8d59b0e1ff..9c16465867 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/zombie.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/zombie.yml @@ -104,7 +104,7 @@ layer: - MobLayer - type: Damageable - damageContainer: Biological + damageContainer: CP14Biological damageModifierSet: CP14Zombie - type: PassiveDamage allowedStates: diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/base.yml b/Resources/Prototypes/_CP14/Entities/Mobs/base.yml index f9077dcede..56192108ad 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/base.yml @@ -5,6 +5,18 @@ categories: [ ForkFiltered ] abstract: true components: + - type: Damageable + damageContainer: CP14Biological + - type: HealthExaminable + examinableTypes: + - Blunt + - Slash + - Piercing + - Heat + - Shock + - Cold + - Caustic + - CP14ManaDepletion - type: Destructible thresholds: - trigger: diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/vials_filled_potions.yml b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/vials_filled_potions.yml index e876818bea..24fe8bbc6f 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/vials_filled_potions.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/vials_filled_potions.yml @@ -104,4 +104,19 @@ - ReagentId: CP14BasicEffectRainbow Quantity: 2 - ReagentId: CP14BasicEffectDrunk - Quantity: 2 \ No newline at end of file + Quantity: 2 + +- type: entity + id: CP14VialSmallHealingManaDepletion + parent: CP14VialSmall + name: "brad's mana-healing potion" + suffix: Healing mana 10% + components: + - type: SolutionContainerManager + solutions: + vial: + reagents: + - ReagentId: CP14BasicEffectEmpty + Quantity: 9 + - ReagentId: CP14BasicEffectHealManaDepletion + Quantity: 1 diff --git a/Resources/Prototypes/_CP14/Reagents/precurser.yml b/Resources/Prototypes/_CP14/Reagents/precurser.yml index 0bf58ea82b..7a459ca9bc 100644 --- a/Resources/Prototypes/_CP14/Reagents/precurser.yml +++ b/Resources/Prototypes/_CP14/Reagents/precurser.yml @@ -121,6 +121,10 @@ effects: - !type:CP14ManaChange manaDelta: 0.5 + - !type:HealthChange + damage: + types: + CP14ManaDepletion: -0.5 Poison: effects: - !type:HealthChange diff --git a/Resources/Prototypes/_CP14/Reagents/target_effects.yml b/Resources/Prototypes/_CP14/Reagents/target_effects.yml index edb8d16ca2..43b07bffff 100644 --- a/Resources/Prototypes/_CP14/Reagents/target_effects.yml +++ b/Resources/Prototypes/_CP14/Reagents/target_effects.yml @@ -196,6 +196,42 @@ types: Asphyxiation: 3 +- type: reagent + id: CP14BasicEffectHealManaDepletion + name: cp14-reagent-name-basic-heal-manadepletion + desc: cp14-reagent-desc-basic-heal-manadepletion + group: CP14BasicEffect + flavor: CP14Bitterly + color: "#2d4d79" + physicalDesc: cp14-reagent-physical-desc-viscous + worksOnTheDead: true + metabolisms: + Medicine: + metabolismRate: 0.05 + effects: + - !type:HealthChange + damage: + types: + CP14ManaDepletion: -10 + +- type: reagent + id: CP14BasicEffectDamageManaDepletion + name: cp14-reagent-name-basic-damage-manadepletion + desc: cp14-reagent-desc-basic-damage-manadepletion + group: CP14BasicEffect + flavor: CP14Bitterly + color: "#2f6b62" + physicalDesc: cp14-reagent-physical-desc-viscous + worksOnTheDead: true + metabolisms: + Poison: + metabolismRate: 0.05 + effects: + - !type:HealthChange + damage: + types: + CP14ManaDepletion: 3 + - type: reagent id: CP14BasicEffectBloodRestore name: cp14-reagent-name-basic-blood-restore