light returns (#1621)

This commit is contained in:
Red
2025-08-06 13:18:09 +03:00
committed by GitHub
parent a4cdcf0a1f
commit 5690c94ee2
4 changed files with 41 additions and 45 deletions

View File

@@ -69,6 +69,7 @@ public sealed partial class StatusEffectsSystem : EntitySystem
_container.EnsureContainer<Container>(ent, StatusEffectContainerComponent.ContainerId);
// We show the contents of the container to allow status effects to have visible sprites.
ent.Comp.ActiveStatusEffects.ShowContents = true;
ent.Comp.ActiveStatusEffects.OccludesLight = false;
}
private void OnStatusContainerShutdown(Entity<StatusEffectContainerComponent> ent, ref ComponentShutdown args)

View File

@@ -2,4 +2,10 @@
id: CP14MagicArmor
icons:
- sprite: _CP14/Actions/Spells/meta.rsi
state: magic_armor
state: magic_armor
- type: alert
id: CP14Glowing
icons:
- sprite: _CP14/Actions/Spells/light.rsi
state: sphere_of_light

View File

@@ -15,9 +15,9 @@
- !type:CP14SpellSpawnEntityOnTarget
spawns:
- CP14ImpactEffectSphereOfLight
- !type:CP14SpellSpawnInHandEntity
spawns:
- CP14SphereOfLight
- !type:CP14SpellApplyStatusEffect
statusEffect: CP14StatusEffectGlowing
duration: 120
- type: CP14MagicEffectVerbalAspect
startSpeech: "Appare in manu tua..."
endSpeech: "sphaera lucis"
@@ -28,8 +28,15 @@
icon:
sprite: _CP14/Actions/Spells/light.rsi
state: sphere_of_light
- type: InstantAction
event: !type:CP14DelayedInstantActionEvent
- type: TargetAction
range: 5
- type: EntityTargetAction
whitelist:
components:
- MobState
- Item
- Anchorable
event: !type:CP14DelayedEntityTargetActionEvent
cooldown: 30
castDelay: 0.5
breakOnMove: false
@@ -67,41 +74,4 @@
components:
- type: CP14SpellStorage
spells:
- CP14ActionSpellSphereOfLight
- type: entity
id: CP14SphereOfLight
name: Sphere of light
parent: BaseItem
description: A lump of bright light in the shape of a sphere.
categories: [ ForkFiltered ]
components:
- type: TimedDespawn
lifetime: 120 # 2 min
- type: Sprite
sprite: _CP14/Effects/Magic/sphere_of_light.rsi
noRot: true
layers:
- state: icon
shader: unshaded
- type: Item
size: Ginormous
inhandVisuals:
left:
- state: inhand-left-unshaded
shader: unshaded
right:
- state: inhand-right-unshaded
shader: unshaded
- type: LandAtCursor
- type: MovementIgnoreGravity
- type: PointLight
radius: 5.0
energy: 1
color: "#efedff"
- type: Damageable
- type: EmitSoundOnLand
sound:
path: /Audio/Effects/drop.ogg
params:
volume: -100 #Yes, it's stupid, but it's easier
- CP14ActionSpellSphereOfLight

View File

@@ -25,4 +25,23 @@
#defence: #TODO When stone armor spell appears, divide responsibilities: magical armor protects against elemental damage, stone armor protects against physical damage.
# Cold: 0.5
# Heat: 0.5
# Shock: 0.5
# Shock: 0.5
- type: entity
id: CP14StatusEffectGlowing
components:
- type: StatusEffect
- type: StatusEffectAlert
alert: CP14Glowing
- type: Sprite
drawdepth: Effects
sprite: _CP14/Effects/Magic/sphere_of_light.rsi
offset: 0, 1
noRot: true
layers:
- state: icon
shader: unshaded
- type: PointLight
radius: 5.0
energy: 1
color: "#efedff"