Magic damage (#1047)

* magic damage

* mana-healing potion

* slimes

* ManaDepletion

* Examinable

* color
This commit is contained in:
Nim
2025-03-31 13:03:42 +03:00
committed by GitHub
parent 987f00a493
commit 2e85ac0263
28 changed files with 146 additions and 19 deletions

View File

@@ -16,9 +16,7 @@ public sealed partial class CP14MagicUnsafeDamageComponent : Component
{
DamageDict = new Dictionary<string, FixedPoint2>
{
{"Blunt", 0.3},
{"Poison", 0.4},
{"Heat", 0.3},
{"CP14ManaDepletion", 0.8},
},
};
}

View File

@@ -0,0 +1 @@
cp14-damage-group-magic = Magic

View File

@@ -0,0 +1 @@
cp14-damage-type-manadepletion = Mana-depletion

View File

@@ -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]

View File

@@ -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.

View File

@@ -0,0 +1 @@
cp14-damage-group-magic = Магический

View File

@@ -0,0 +1 @@
cp14-damage-type-manadepletion = Мана-истощение

View File

@@ -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]

View File

@@ -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 = Вступая в контакт с организмом, восстанавливает уровень крови того же типа, что используется этим организмом.

View File

@@ -0,0 +1,9 @@
- type: damageContainer
id: CP14Biological
supportedGroups:
- Brute
- Burn
- Toxin
- Airloss
- Genetic
- CP14Magic

View File

@@ -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

View File

@@ -0,0 +1,6 @@
- type: damageType
id: CP14ManaDepletion
name: cp14-damage-type-manadepletion
armorCoefficientPrice: 5
armorFlatPrice: 20

View File

@@ -52,7 +52,7 @@
params:
volume: 3
- type: Damageable
damageContainer: Biological
damageContainer: CP14Biological
damageModifierSet: Slime
- type: MeleeWeapon
altDisarm: false

View File

@@ -12,7 +12,7 @@
- type: ReplacementAccent
accent: xeno
- type: Damageable
damageContainer: Biological
damageContainer: CP14Biological
damageModifierSet: CP14Dinosaur
- type: Appearance
- type: Body

View File

@@ -53,7 +53,7 @@
shader: unshaded
drawdepth: Mobs
- type: Damageable
damageContainer: Biological
damageContainer: CP14Biological
- type: Destructible
thresholds:
- trigger:

View File

@@ -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

View File

@@ -39,8 +39,6 @@
- MobLayer
- type: ReplacementAccent
accent: xeno
- type: Damageable
damageContainer: Biological
- type: Appearance
- type: Body
prototype: Animal

View File

@@ -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
path: /Audio/_CP14/Animals/swarm_hit.ogg

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -89,7 +89,7 @@
layer:
- MobLayer
- type: Damageable
damageContainer: Biological
damageContainer: CP14Biological
damageModifierSet: Skeleton
- type: Destructible
thresholds:

View File

@@ -27,7 +27,7 @@
- type: Bloodstream
bloodReagent: CP14BloodTiefling
- type: Damageable
damageContainer: Biological
damageContainer: CP14Biological
damageModifierSet: CP14Tiefling
- type: PassiveDamage
allowedStates:

View File

@@ -104,7 +104,7 @@
layer:
- MobLayer
- type: Damageable
damageContainer: Biological
damageContainer: CP14Biological
damageModifierSet: CP14Zombie
- type: PassiveDamage
allowedStates:

View File

@@ -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:

View File

@@ -104,4 +104,19 @@
- ReagentId: CP14BasicEffectRainbow
Quantity: 2
- ReagentId: CP14BasicEffectDrunk
Quantity: 2
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

View File

@@ -121,6 +121,10 @@
effects:
- !type:CP14ManaChange
manaDelta: 0.5
- !type:HealthChange
damage:
types:
CP14ManaDepletion: -0.5
Poison:
effects:
- !type:HealthChange

View File

@@ -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