Shadow Damage (#4440)

* aaaaaaaaaaaaaaaaaaa

* add shadow damage to some evil things and add ways to heal it

* bibles healing shadow doesn't work for some reason

* fix attribution, description, and remove placeholder sprite
This commit is contained in:
AeraAulin 2025-10-05 17:22:30 -07:00 committed by GitHub
parent 37dfd2e471
commit 11f8e9d07b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
44 changed files with 352 additions and 2 deletions

View File

@ -2,3 +2,18 @@
license: "CC0-1.0"
copyright: "electricguitarhit.ogg is modified by Colin-Tel from a file made by guitarguy1985."
source: "https://freesound.org/people/guitarguy1985/sounds/52391/"
- files: [shatter.ogg]
license: "CC0-1.0"
copyright: "Shatter.ogg by https://freesound.org/people/LukaCafuka/"
source: "https://freesound.org/people/LukaCafuka/sounds/753899/?"
- files: [ shadowreload.ogg ]
license: "CC0-1.0"
copyright: "shadowreload.ogg by https://freesound.org/people/Camouflaged_Noob/"
source: "https://freesound.org/people/Camouflaged_Noob/sounds/483694/"
- files: [ scytheshot.ogg ]
license: "CC-BY-NC-4.0"
copyright: "scytheshot.ogg by https://freesound.org/people/Timbre/ modified by AeraAulin(Github)"
source: "https://freesound.org/people/Timbre/sounds/115811/"

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,2 +1,3 @@
armor-stamina-projectile-coefficient-value = - [color=yellow]Stamina projectile[/color] damage reduced by [color=lightblue]{$value}%[/color].
armor-stamina-melee-coefficient-value = - [color=yellow]Stamina melee[/color] damage reduced by [color=lightblue]{$value}%[/color].
armor-damage-type-shadow = Shadow

View File

@ -1 +1,2 @@
damage-type-ion = Ion
damage-type-shadow = Shadow

View File

@ -11,3 +11,6 @@ uplink-rigged-laser-tag-gun-desc = This laser tag gun has been tampered with to
uplink-desword-name = Double-Bladed Energy Sword
uplink-desword-desc = Now with twice as much energy per sword! Not the most practical design, but at least you can swing it faster now, albeit at a cost of lower damage per hit. Good luck blocking any bullets with it.
uplink-harbinger-name = Harbinger Bundle
uplink-harbinger-desc = A bundle with a full set of Harbinger armor and an Accursed scythe. Strike fear into the hearts of your enemies with this ancient design.

View File

@ -6,6 +6,8 @@
- Toxin
- Airloss
- Genetic
supportedTypes: # DeltaV - add shadow damage
- Shadow
- type: damageContainer
id: Inorganic

View File

@ -48,3 +48,4 @@
name: damage-group-metaphysical
damageTypes:
- Holy
- Shadow # DeltaV

View File

@ -432,6 +432,8 @@
Heat: 0.3
Radiation: 0.1
Caustic: 0.2
Holy: 0.7 # DeltaV
Shadow: 0.7 # DeltaV
- type: DamageOnShootProtection # imp
slots: OUTERCLOTHING
damageProtection:

View File

@ -63,7 +63,7 @@
damage:
types:
Piercing: 8
Slash: 7
Shadow: 7 # DeltaV - add shadow damage to relevant mobs
- type: InputMover
- type: MobMover
- type: HTN

View File

@ -1132,6 +1132,12 @@
Heat: -0.2
Shock: -0.2
Cold: -0.2
- !type:HealthChange # Delta-V
damage:
types:
Shadow: -2
Holy: 2
reactiveEffects:
Extinguish:

View File

@ -0,0 +1,12 @@
- type: entity
parent: ClothingBackpackDuffelSyndicateBundle
id: ClothingBackpackDuffelSyndicateFilledHarbingerBundle
name: harbinger bundle
description: A bundle containing an Accursed Scythe and a set of Harbinger's armor.
components:
- type: StorageFill
contents:
- id: ClothingHeadHatHarbingerHelmet
- id: ClothingUniformHarbingerTunic
- id: ClothingOuterCoatHarbingerCoat
- id: AccursedScythe

View File

@ -56,3 +56,22 @@
Telecrystal: 9
categories:
- UplinkWeaponry
- type: listing
id: UplinkHarbinger
name: uplink-harbinger-name
description: uplink-harbinger-desc
icon: { sprite: /Textures/_DV/Objects/Weapons/Melee/evilscythe.rsi, state: icon }
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 10
productEntity: ClothingBackpackDuffelSyndicateFilledHarbingerBundle
cost:
Telecrystal: 12
categories:
- UplinkJob
conditions:
- !type:BuyerJobCondition
whitelist:
- Chaplain
- Botanist

View File

@ -66,6 +66,7 @@
Slash: 1.2
Radiation: 1.5
Holy: 0.5
Shadow: 0.5
- type: damageModifierSet
id: Avali

View File

@ -3,3 +3,9 @@
name: damage-type-ion
armorCoefficientPrice: 1
armorFlatPrice: 1
- type: damageType
id: Shadow
name: damage-type-shadow
armorCoefficientPrice: 1
armorFlatPrice: 1

View File

@ -27,3 +27,29 @@
- type: HideLayerClothing
slots:
- Hair
- type: entity
parent: ClothingHeadHelmetArmoredBase
id: ClothingHeadHatHarbingerHelmet
name: harbinger helmet
description: an old-fashioned helm under a leather hood to strike terror into your forces.
components:
- type: Sprite
sprite: _DV/Clothing/Head/Hoods/harbingerhood.rsi
- type: Clothing
sprite: _DV/Clothing/Head/Hoods/harbingerhood.rsi
- type: Armor
modifiers:
coefficients:
Blunt: 0.9
Slash: 0.9
Piercing: 0.9
Heat: 0.9
Holy: 0.9
Shadow: 0.9
- type: Tag
tags:
- WhitelistChameleon
- type: HideLayerClothing
slots:
- Hair

View File

@ -158,3 +158,27 @@
- type: TemperatureProtection
coolingCoefficient: 0.1
heatingCoefficient: 1.1
- type: entity
parent: ClothingOuterStorageBase
id: ClothingOuterCoatHarbingerCoat
name: harbinger's leather coat
description: A loose-fitting leather coat worn by those who take up the title of harbinger.
components:
- type: Sprite
sprite: _DV/Clothing/OuterClothing/Coats/harbingercoat.rsi
- type: Clothing
sprite: _DV/Clothing/OuterClothing/Coats/harbingercoat.rsi
- type: Armor
modifiers:
coefficients:
Blunt: 0.75
Slash: 0.75
Piercing: 0.75
Heat: 0.75
Holy: 0.60
Shadow: 0.60
- type: AllowSuitStorage
- type: TemperatureProtection
coolingCoefficient: 0.1
heatingCoefficient: 1.1

View File

@ -23,6 +23,8 @@
Radiation: 0.75
Caustic: 0.75
Heat: 0.75
Holy: 0.85
Shadow: 0.85
- type: StaminaResistance
damageCoefficient: 0.3 # It's a hardsuit, duh
- type: ClothingSpeedModifier
@ -76,6 +78,8 @@
Radiation: 0.80
Caustic: 0.80
Heat: 0.80
Holy: 0.85
Shadow: 0.85
- type: ClothingSpeedModifier
walkModifier: 0.85
sprintModifier: 0.85
@ -120,6 +124,8 @@
Radiation: 0.70
Caustic: 0.70
Heat: 0.40
Holy: 0.80
Shadow: 0.80
- type: StaminaResistance
damageCoefficient: 0.2
- type: ClothingSpeedModifier
@ -166,6 +172,8 @@
Radiation: 0.75
Caustic: 0.75
Heat: 0.75
Holy: 0.75
Shadow: 0.75
- type: StaminaResistance
damageCoefficient: 0.2
- type: ClothingSpeedModifier
@ -216,6 +224,8 @@
Radiation: 0.0
Caustic: 0.4
Heat: 0.70
Holy: 0.60
Shadow: 0.60
- type: StaminaResistance
damageCoefficient: 0.3
- type: ClothingSpeedModifier
@ -326,6 +336,8 @@
Heat: 0.6
Radiation: 0
Caustic: 0.35
Holy: 0.50
Shadow: 0.50
- type: StaminaResistance
damageCoefficient: 0.2
- type: ClothingSpeedModifier

View File

@ -532,3 +532,14 @@
sprite: _DV/Clothing/Uniforms/Jumpsuit/cybersunrnd.rsi
- type: Clothing
sprite: _DV/Clothing/Uniforms/Jumpsuit/cybersunrnd.rsi
- type: entity
parent: ClothingUniformBase
id: ClothingUniformHarbingerTunic
name: harbinger tunic
description: Something easy to move in. Good for hunting.
components:
- type: Sprite
sprite: _DV/Clothing/Uniforms/Jumpsuit/harbingertunic.rsi
- type: Clothing
sprite: _DV/Clothing/Uniforms/Jumpsuit/harbingertunic.rsi

View File

@ -2,7 +2,7 @@
id: WispLash
damage:
types:
Cold: 8
Shadow: 8
Shock: 8
muzzleFlash:
sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi

View File

@ -137,3 +137,49 @@
damage:
types:
Piercing: 20
- type: entity
parent: BaseBullet
id: AccursedWave
name: accursed wave
categories: [ HideSpawnMenu ]
components:
- type: Sprite
layers:
- sprite: Structures/Power/Generation/PA/particle.rsi
color: purple
state: particle0
shader: unshaded
map: [ "unshaded" ]
- type: Physics
bodyType: Dynamic
linearDamping: .9
angularDamping: .9
- type: Fixtures
fixtures:
projectile:
shape:
!type:PhysShapeAabb
bounds: "-0.48,-0.48,0.48,0.48"
hard: false
mask:
- Opaque
fly-by:
shape: !type:PhysShapeCircle
radius: 1.5
layer:
- Impassable
- MidImpassable
- HighImpassable
- LowImpassable
hard: False
- type: Projectile
deleteOnCollide: false
impactEffect: null
soundHit:
path: /Audio/_DV/Weapons/shatter.ogg
damage:
types:
Shadow: 20
- type: TimedDespawn
lifetime: 0.4 # really short, shouldn't travel far at all

View File

@ -0,0 +1,54 @@
- type: entity
parent: BaseItem
id: AccursedScythe
name: accursed scythe
description: a deadly scythe radiating terrible energy
components:
- type: Sharp
- type: Execution
doAfterDuration: 2.5
- type: Sprite
sprite: _DV/Objects/Weapons/Melee/evilscythe.rsi
state: icon
- type: Item
size: Large
- type: AmmoCounter
- type: UseDelayOnShoot
- type: UseDelay
delay: 1
- type: Gun
projectileSpeed: 5
soundGunshot: /Audio/_DV/Weapons/scytheshot.ogg
fireRate: 1
useKey: false
- type: RechargeBasicEntityAmmo
rechargeCooldown: 5
rechargeSound:
path: /Audio/_DV/Weapons/shadowreload.ogg
- type: BasicEntityAmmoProvider
proto: AccursedWave
capacity: 1
count: 1
- type: MeleeWeapon
attackRate: 1.2
wideAnimationRotation: -135
damage:
types:
Slash: 6
Shadow: 6
soundHit:
path: /Audio/Weapons/bladeslice.ogg
- type: Wieldable
- type: IncreaseDamageOnWield
damage:
types:
Slash: 2
Shadow: 6
- type: GunRequiresWield
- type: DisarmMalus
- type: Prying
- type: DashAbility
- type: LimitedCharges
maxCharges: 1
- type: AutoRecharge
rechargeDuration: 60

Binary file not shown.

After

Width:  |  Height:  |  Size: 674 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC0-1.0",
"copyright": "harbingerhelmet.rsi sprites by AeraAulin(github)",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "equipped-HELMET",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 986 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 996 B

View File

@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC0-1.0",
"copyright": "harbingercoat.rsi sprites by AeraAulin(github)",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "equipped-OUTERCLOTHING",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 417 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 799 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 813 B

View File

@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC0-1.0",
"copyright": "harbingertunic.rsi sprites by AeraAulin(github)",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "equipped-INNERCLOTHING",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

View File

@ -0,0 +1,30 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Made by AeraAulin(github)",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "wielded-inhand-left",
"directions": 4
},
{
"name": "wielded-inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 614 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 B