diff --git a/Content.Server/_CP14/LockKey/CP14KeyholeGenerationSystem.cs b/Content.Server/_CP14/LockKey/CP14KeyholeGenerationSystem.cs index 6241e3ab06..e926046250 100644 --- a/Content.Server/_CP14/LockKey/CP14KeyholeGenerationSystem.cs +++ b/Content.Server/_CP14/LockKey/CP14KeyholeGenerationSystem.cs @@ -57,7 +57,7 @@ public sealed partial class CP14KeyholeGenerationSystem : EntitySystem private List GetKeyLockData(ProtoId category) { if (_roundKeyData.ContainsKey(category)) - return _roundKeyData[category]; + return new List(_roundKeyData[category]); var newData = GenerateNewUniqueLockData(category); _roundKeyData[category] = newData; diff --git a/Resources/Prototypes/_CP14/Alerts/status_effect.yml b/Resources/Prototypes/_CP14/Alerts/status_effect.yml index e02a919650..abc6735821 100644 --- a/Resources/Prototypes/_CP14/Alerts/status_effect.yml +++ b/Resources/Prototypes/_CP14/Alerts/status_effect.yml @@ -1,9 +1,3 @@ -- type: alert - id: CP14Glowing - icons: - - sprite: _CP14/Actions/Spells/light.rsi - state: sphere_of_light - - type: alert id: CP14MagicArmor icons: diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Light/sphere_of_light.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Light/sphere_of_light.yml index 52a6a9d0b5..131407b8e9 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Light/sphere_of_light.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Light/sphere_of_light.yml @@ -15,9 +15,9 @@ - !type:CP14SpellSpawnEntityOnTarget spawns: - CP14ImpactEffectSphereOfLight - - !type:CP14SpellApplyStatusEffect - statusEffect: CP14StatusEffectGlowing - duration: 120 + - !type:CP14SpellSpawnInHandEntity + spawns: + - CP14SphereOfLight - type: CP14MagicEffectVerbalAspect startSpeech: "Appare in manu tua..." endSpeech: "sphaera lucis" @@ -28,15 +28,8 @@ icon: sprite: _CP14/Actions/Spells/light.rsi state: sphere_of_light - - type: TargetAction - range: 5 - - type: EntityTargetAction - whitelist: - components: - - MobState - - Item - - Anchorable - event: !type:CP14DelayedEntityTargetActionEvent + - type: InstantAction + event: !type:CP14DelayedInstantActionEvent cooldown: 30 castDelay: 0.5 breakOnMove: false @@ -75,3 +68,40 @@ - 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 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/StatusEffects/misc.yml b/Resources/Prototypes/_CP14/Entities/StatusEffects/misc.yml index a1fab9a75c..c865c66e49 100644 --- a/Resources/Prototypes/_CP14/Entities/StatusEffects/misc.yml +++ b/Resources/Prototypes/_CP14/Entities/StatusEffects/misc.yml @@ -1,22 +1,3 @@ -- 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" - - type: entity id: CP14StatusEffectMagicArmor components: diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Roof/base.yml b/Resources/Prototypes/_CP14/Entities/Structures/Roof/base.yml index 1f8e463745..9ccf47c84c 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Roof/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Roof/base.yml @@ -27,6 +27,8 @@ base: roof - type: IsRoof - type: SunShadowCast + - type: WallMount + arc: 360 - type: entity parent: