diff --git a/Content.Client/_CP14/Shitcode/CP14EdSystem.cs b/Content.Client/_CP14/Shitcode/CP14EdSystem.cs index 68af7c119b..0000ac1a4f 100644 --- a/Content.Client/_CP14/Shitcode/CP14EdSystem.cs +++ b/Content.Client/_CP14/Shitcode/CP14EdSystem.cs @@ -16,7 +16,7 @@ public sealed class CP14EdSystem : EntitySystem _cfg.SetCVar(CVars.EntitiesCategoryFilter, "ForkFiltered"); _cfg.OnValueChanged(CCVars.Language, OnLanguageChange, true); - + _cfg.SetCVar(CVars.LocCultureName, _cfg.GetCVar(CCVars.Language)); } diff --git a/Content.Server/_CP14/Lighthouse/CP14LighthouseComponent.cs b/Content.Server/_CP14/Lighthouse/CP14LighthouseComponent.cs deleted file mode 100644 index ef71ea02c8..0000000000 --- a/Content.Server/_CP14/Lighthouse/CP14LighthouseComponent.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Content.Server._CP14.Lighthouse; - -[RegisterComponent] -public sealed partial class CP14LighthouseComponent : Component -{ -} diff --git a/Content.Server/_CP14/Lighthouse/CP14LighthouseSystem.cs b/Content.Server/_CP14/Lighthouse/CP14LighthouseSystem.cs deleted file mode 100644 index 87ca9173b6..0000000000 --- a/Content.Server/_CP14/Lighthouse/CP14LighthouseSystem.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Robust.Server.GameStates; - -namespace Content.Server._CP14.Lighthouse; - -public sealed partial class CP14LighthouseSystem : EntitySystem -{ - [Dependency] private readonly PvsOverrideSystem _pvs = default!; - public override void Initialize() - { - SubscribeLocalEvent(OnLighthouseStartup); - SubscribeLocalEvent(OnLighthouseShutdown); - } - - private void OnLighthouseShutdown(Entity ent, ref ComponentShutdown args) - { - _pvs.RemoveGlobalOverride(ent); - } - - private void OnLighthouseStartup(Entity ent, ref ComponentStartup args) - { - _pvs.AddGlobalOverride(ent); - } -} diff --git a/Content.Server/_CP14/PVS/CP14PvsOverrideComponent.cs b/Content.Server/_CP14/PVS/CP14PvsOverrideComponent.cs new file mode 100644 index 0000000000..75fb8b2c40 --- /dev/null +++ b/Content.Server/_CP14/PVS/CP14PvsOverrideComponent.cs @@ -0,0 +1,6 @@ +namespace Content.Server._CP14.PVS; + +[RegisterComponent] +public sealed partial class CP14PvsOverrideComponent : Component +{ +} diff --git a/Content.Server/_CP14/PVS/CP14PvsOverrideSystem.cs b/Content.Server/_CP14/PVS/CP14PvsOverrideSystem.cs new file mode 100644 index 0000000000..80de72c7f6 --- /dev/null +++ b/Content.Server/_CP14/PVS/CP14PvsOverrideSystem.cs @@ -0,0 +1,23 @@ +using Robust.Server.GameStates; + +namespace Content.Server._CP14.PVS; + +public sealed partial class CP14PvsOverrideSystem : EntitySystem +{ + [Dependency] private readonly PvsOverrideSystem _pvs = default!; + public override void Initialize() + { + SubscribeLocalEvent(OnLighthouseStartup); + SubscribeLocalEvent(OnLighthouseShutdown); + } + + private void OnLighthouseShutdown(Entity ent, ref ComponentShutdown args) + { + _pvs.RemoveGlobalOverride(ent); + } + + private void OnLighthouseStartup(Entity ent, ref ComponentStartup args) + { + _pvs.AddGlobalOverride(ent); + } +} diff --git a/Content.Server/_CP14/UniqueLoot/CP14UniqueLootSystem.cs b/Content.Server/_CP14/UniqueLoot/CP14UniqueLootSystem.cs index cf44fd44a4..3eb7c37fe5 100644 --- a/Content.Server/_CP14/UniqueLoot/CP14UniqueLootSystem.cs +++ b/Content.Server/_CP14/UniqueLoot/CP14UniqueLootSystem.cs @@ -2,6 +2,7 @@ using System.Linq; using Content.Shared._CP14.UniqueLoot; using Content.Shared.GameTicking; using Content.Shared.Tag; +using Robust.Client.GameObjects; using Robust.Shared.Prototypes; using Robust.Shared.Random; @@ -11,6 +12,7 @@ public sealed partial class CP14UniqueLootSystem : EntitySystem { [Dependency] private readonly IPrototypeManager _proto = default!; [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; private readonly Dictionary _uniqueLootCount = new(); @@ -37,7 +39,8 @@ public sealed partial class CP14UniqueLootSystem : EntitySystem var coords = Transform(ent).Coordinates; - EntityManager.SpawnEntity(loot, coords); + var spawned = Spawn(loot, coords); + _transform.SetWorldRotation(spawned, _transform.GetWorldRotation(ent)); } diff --git a/Resources/ConfigPresets/_CP14/Dev.toml b/Resources/ConfigPresets/_CP14/Dev.toml index 26801aa12c..59af1dbc0f 100644 --- a/Resources/ConfigPresets/_CP14/Dev.toml +++ b/Resources/ConfigPresets/_CP14/Dev.toml @@ -2,7 +2,7 @@ enabled = true [localization] -language = "ru-RU" +language = "en-US" [log] path = "logs" diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/ice_arrow.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/ice_arrow.yml index 9a91bb715e..269ebd8a55 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/ice_arrow.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/ice_arrow.yml @@ -7,7 +7,7 @@ sprite: _CP14/Actions/Spells/water.rsi state: ice_arrow - type: CP14MagicEffectManaCost - manaCost: 20 + manaCost: 15 - type: CP14MagicEffect effects: - !type:CP14SpellSpawnEntityOnTarget diff --git a/Resources/Prototypes/_CP14/Entities/Effects/sky_lightning.yml b/Resources/Prototypes/_CP14/Entities/Effects/sky_lightning.yml index 2c877a4a62..4285ef1b53 100644 --- a/Resources/Prototypes/_CP14/Entities/Effects/sky_lightning.yml +++ b/Resources/Prototypes/_CP14/Entities/Effects/sky_lightning.yml @@ -26,7 +26,7 @@ netsync: false - type: LightFade duration: 1 - - type: CP14Lighthouse + - type: CP14PvsOverride - type: CP14AreaEntityEffect range: 1 effects: diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/wendigo.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/wendigo.yml index 127dca564d..65dc434b95 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/wendigo.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/wendigo.yml @@ -122,7 +122,7 @@ name: wendigo ritual far sound categories: [ ForkFiltered ] components: - - type: CP14Lighthouse + - type: CP14PvsOverride - type: TriggerOnSpawn - type: CP14FarSound closeSound: diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/bow.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/bow.yml index 3138c4af1e..0d6618dc10 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/bow.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/bow.yml @@ -78,3 +78,18 @@ base: True: { state: wielded } False: { state: unwielded } + +- type: entity + name: ice bow + description: A magic bow that needs no ammunition. + id: CP14BowIceArtifact + parent: CP14BowCombat + categories: [ DoNotMap ] + suffix: Artifact + components: + - type: Sprite + sprite: _CP14/Objects/Weapons/Ranged/ice_bow.rsi + - type: CP14SpellStorage + spells: + - CP14ActionSpellIceArrow + - type: CP14SpellStorageAccessHolding \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/lighthouse.yml b/Resources/Prototypes/_CP14/Entities/Structures/lighthouse.yml index db0cbfcc1e..3c79e25d28 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/lighthouse.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/lighthouse.yml @@ -5,7 +5,7 @@ description: Light in the darkness. categories: [ ForkFiltered ] components: - - type: CP14Lighthouse + - type: CP14PvsOverride - type: Sprite noRot: true sprite: Structures/Decoration/bonfire.rsi diff --git a/Resources/Prototypes/_CP14/UniqueLoot/demiplane_loot.yml b/Resources/Prototypes/_CP14/UniqueLoot/demiplane_loot.yml index d91ed455fb..8738ef2838 100644 --- a/Resources/Prototypes/_CP14/UniqueLoot/demiplane_loot.yml +++ b/Resources/Prototypes/_CP14/UniqueLoot/demiplane_loot.yml @@ -41,4 +41,10 @@ id: CP14ClothingShoesArtifactFrogs entity: CP14ClothingShoesArtifactFrogs tags: + - CP14UniqueSpawnDemiplanetLoot + +- type: uniqueSpawn + id: CP14BowIceArtifact + entity: CP14BowIceArtifact + tags: - CP14UniqueSpawnDemiplanetLoot \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/equipped-NECK.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/equipped-NECK.png new file mode 100644 index 0000000000..00f525da10 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/equipped-NECK.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/inhand-left.png new file mode 100644 index 0000000000..3e73f9c4be Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/inhand-right.png new file mode 100644 index 0000000000..5d837f5031 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/meta.json b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/meta.json new file mode 100644 index 0000000000..85c9dc81d4 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/meta.json @@ -0,0 +1,43 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprited by discord: odlieerr, recolored into Ice variant by TheShuEd", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "unwielded" + }, + { + "name": "unwielded-arrow" + }, + { + "name": "wielded" + }, + { + "name": "wielded-arrow" + }, + { + "name": "equipped-NECK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/unwielded-arrow.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/unwielded-arrow.png new file mode 100644 index 0000000000..2f6581b0c1 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/unwielded-arrow.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/unwielded.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/unwielded.png new file mode 100644 index 0000000000..33bcee46b7 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/unwielded.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/wielded-arrow.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/wielded-arrow.png new file mode 100644 index 0000000000..2f6581b0c1 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/wielded-arrow.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..d7ebae7639 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..60e1a593cd Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/wielded-inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/wielded.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/wielded.png new file mode 100644 index 0000000000..8f858b2da5 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Weapons/Ranged/ice_bow.rsi/wielded.png differ