diff --git a/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.Checks.cs b/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.Checks.cs index 8ce8d72002..98f786ae94 100644 --- a/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.Checks.cs +++ b/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.Checks.cs @@ -155,7 +155,8 @@ public abstract partial class CP14SharedMagicSystem } } - private void OnReligionRestrictedCheck(Entity ent, ref CP14CastMagicEffectAttemptEvent args) + private void OnReligionRestrictedCheck(Entity ent, + ref CP14CastMagicEffectAttemptEvent args) { if (!TryComp(args.Performer, out var religionComp)) return; @@ -165,13 +166,22 @@ public abstract partial class CP14SharedMagicSystem if (args.Target is not null) position ??= Transform(args.Target.Value).Coordinates; - if (position is null) - return; + if (ent.Comp.OnlyInReligionZone) + { + if (position is null || !_god.InVision(position.Value, (args.Performer, religionComp))) + { + args.Cancel(); + } + } - if (_god.InVision(position.Value, (args.Performer, religionComp))) - return; - - args.Cancel(); + if (ent.Comp.OnlyOnFollowers) + { + if (args.Target is null || !TryComp(args.Target, out var follower) || follower.Religion != religionComp.Religion) + { + args.PushReason(Loc.GetString("cp14-magic-spell-target-god-follower")); + args.Cancel(); + } + } } private void OnVerbalAspectStartCast(Entity ent, diff --git a/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectReligionRestrictedComponent.cs b/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectReligionRestrictedComponent.cs index ec18a93490..11563950ce 100644 --- a/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectReligionRestrictedComponent.cs +++ b/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectReligionRestrictedComponent.cs @@ -6,7 +6,18 @@ namespace Content.Shared._CP14.MagicSpell.Components; /// /// If the user belongs to a religion, this spell can only be used within the area of influence of that religion /// -[RegisterComponent, Access(typeof(CP14SharedMagicSystem), typeof(CP14SpellStorageSystem))] +[RegisterComponent, Access(typeof(CP14SharedMagicSystem))] public sealed partial class CP14MagicEffectReligionRestrictedComponent : Component { + /// + /// does not allow the spell to be used outside the god's area of influence + /// + [DataField] + public bool OnlyInReligionZone = true; + + /// + /// allows the spell to be used only on followers + /// + [DataField] + public bool OnlyOnFollowers = false; } diff --git a/Content.Shared/_CP14/MagicSpell/Spells/CP14SpellRemoveMemoryPoint.cs b/Content.Shared/_CP14/MagicSpell/Spells/CP14SpellRemoveMemoryPoint.cs new file mode 100644 index 0000000000..393628d7d4 --- /dev/null +++ b/Content.Shared/_CP14/MagicSpell/Spells/CP14SpellRemoveMemoryPoint.cs @@ -0,0 +1,19 @@ +using Content.Shared._CP14.Skill; + +namespace Content.Shared._CP14.MagicSpell.Spells; + +public sealed partial class CP14SpellRemoveMemoryPoint : CP14SpellEffect +{ + [DataField] + public float RemovedPoints = 0.5f; + + public override void Effect(EntityManager entManager, CP14SpellEffectBaseArgs args) + { + if (args.Target is null) + return; + + var skillSys = entManager.System(); + + skillSys.RemoveMemoryPoints(args.Target.Value, RemovedPoints); + } +} diff --git a/Content.Shared/_CP14/Skill/CP14SharedSkillSystem.cs b/Content.Shared/_CP14/Skill/CP14SharedSkillSystem.cs index 5d3e2a3f2f..04f3046b33 100644 --- a/Content.Shared/_CP14/Skill/CP14SharedSkillSystem.cs +++ b/Content.Shared/_CP14/Skill/CP14SharedSkillSystem.cs @@ -2,8 +2,10 @@ using System.Linq; using System.Text; using Content.Shared._CP14.Skill.Components; using Content.Shared._CP14.Skill.Prototypes; +using Content.Shared._CP14.Skill.Restrictions; using Content.Shared.FixedPoint; using Robust.Shared.Prototypes; +using Robust.Shared.Random; namespace Content.Shared._CP14.Skill; @@ -249,6 +251,39 @@ public abstract partial class CP14SharedSkillSystem : EntitySystem return sb.ToString(); } + + /// + /// Obtaining all skills that are not prerequisites for other skills of this creature + /// + public HashSet> GetFrontierSkills(EntityUid target, + CP14SkillStorageComponent? component = null) + { + var skills = new HashSet>(); + if (!Resolve(target, ref component, false)) + return skills; + + var frontier = component.LearnedSkills.ToHashSet(); + foreach (var skill in component.LearnedSkills) + { + if (!_proto.TryIndex(skill, out var indexedSkill)) + continue; + + if (HaveFreeSkill(target, skill)) + continue; + + foreach (var req in indexedSkill.Restrictions) + { + if (req is NeedPrerequisite prerequisite) + { + if (frontier.Contains(prerequisite.Prerequisite)) + frontier.Remove(prerequisite.Prerequisite); + } + } + } + + return frontier; + } + /// /// Helper function to reset skills to only learned skills /// @@ -283,6 +318,31 @@ public abstract partial class CP14SharedSkillSystem : EntitySystem _popup.PopupEntity(Loc.GetString("cp14-skill-popup-added-points", ("count", points)), target, target); } + + /// + /// Removes memory points. If a character has accumulated skills exceeding the new memory limit, random skills will be removed. + /// + public void RemoveMemoryPoints(EntityUid target, FixedPoint2 points, CP14SkillStorageComponent? component = null) + { + if (!Resolve(target, ref component, false)) + return; + + component.ExperienceMaxCap = FixedPoint2.Max(component.ExperienceMaxCap - points, 0); + Dirty(target, component); + + _popup.PopupEntity(Loc.GetString("cp14-skill-popup-removed-points", ("count", points)), target, target); + + while (component.SkillsSumExperience > component.ExperienceMaxCap) + { + var frontier = GetFrontierSkills(target, component); + if (frontier.Count == 0) + break; + + //Randomly remove one of the frontier skills + var skill = _random.Pick(frontier); + TryRemoveSkill(target, skill, component); + } + } } [ByRefEvent] diff --git a/Resources/Locale/en-US/_CP14/job/job.ftl b/Resources/Locale/en-US/_CP14/job/job.ftl index b34b558a59..3cc550a40f 100644 --- a/Resources/Locale/en-US/_CP14/job/job.ftl +++ b/Resources/Locale/en-US/_CP14/job/job.ftl @@ -42,4 +42,4 @@ cp14-job-name-god-merkas = Merkas cp14-job-desc-god-merkas = God of purity and healing. TODO cp14-job-name-god-lumera = Lumera -cp14-job-desc-god-lumera = Patroness of the night and the starry sky. TODO \ No newline at end of file +cp14-job-desc-god-lumera = Patroness of the night sky and knowledge. Expand your influence by helping mortals gain new knowledge. \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/magicEnergy/magic-spells.ftl b/Resources/Locale/en-US/_CP14/magicEnergy/magic-spells.ftl index 856cf0a331..2923b1e1f2 100644 --- a/Resources/Locale/en-US/_CP14/magicEnergy/magic-spells.ftl +++ b/Resources/Locale/en-US/_CP14/magicEnergy/magic-spells.ftl @@ -22,4 +22,5 @@ cp14-magic-spell-pacified = It could hurt someone! cp14-magic-spell-target-not-mob = The target must be a living thing! cp14-magic-spell-target-dead = Can't be used on the dead! -cp14-magic-spell-target-alive = Can't be used on the living! \ No newline at end of file +cp14-magic-spell-target-alive = Can't be used on the living! +cp14-magic-spell-target-god-follower = Your target should be your follower! \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/skill/ui.ftl b/Resources/Locale/en-US/_CP14/skill/ui.ftl index af94a8f730..2935519aa3 100644 --- a/Resources/Locale/en-US/_CP14/skill/ui.ftl +++ b/Resources/Locale/en-US/_CP14/skill/ui.ftl @@ -18,4 +18,5 @@ cp14-skill-desc-unlock-recipes = Opens up the possibility of crafting: cp14-skill-popup-added-points = The boundaries of your consciousness are expanding. New memory points: {$count} -cp14-skill-examine-title = This character has the following skills: \ No newline at end of file +cp14-skill-examine-title = This character has the following skills: +cp14-skill-popup-forced-remove-skill = You are beginning to forget your past... Memory points lost: {$count} \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/job/job.ftl b/Resources/Locale/ru-RU/_CP14/job/job.ftl index abfc220bb7..fa674aaafe 100644 --- a/Resources/Locale/ru-RU/_CP14/job/job.ftl +++ b/Resources/Locale/ru-RU/_CP14/job/job.ftl @@ -42,4 +42,4 @@ cp14-job-name-god-merkas = Меркас cp14-job-desc-god-merkas = Бог света и исцеления. TODO cp14-job-name-god-lumera = Лумера -cp14-job-desc-god-lumera = Покровительница ночи и звёздного неба. TODO \ No newline at end of file +cp14-job-desc-god-lumera = Покровительница ночного неба и знаний. Расширяйте свое влияние, помогая смертным обретать новые знания. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/magicEnergy/magic-spells.ftl b/Resources/Locale/ru-RU/_CP14/magicEnergy/magic-spells.ftl index 16299ddc79..c554421f7f 100644 --- a/Resources/Locale/ru-RU/_CP14/magicEnergy/magic-spells.ftl +++ b/Resources/Locale/ru-RU/_CP14/magicEnergy/magic-spells.ftl @@ -22,4 +22,5 @@ cp14-magic-spell-pacified = Это может навредить кому либ cp14-magic-spell-target-not-mob = Цель должна быть живым существом! cp14-magic-spell-target-dead = Нельзя использовать на мертвых! -cp14-magic-spell-target-alive = Нельзя использовать на живых! \ No newline at end of file +cp14-magic-spell-target-alive = Нельзя использовать на живых! +cp14-magic-spell-target-god-follower = Цель должна быть вашим последователем! \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/skill/ui.ftl b/Resources/Locale/ru-RU/_CP14/skill/ui.ftl index 1a11e1c85f..3aa48bd593 100644 --- a/Resources/Locale/ru-RU/_CP14/skill/ui.ftl +++ b/Resources/Locale/ru-RU/_CP14/skill/ui.ftl @@ -17,5 +17,6 @@ cp14-skill-desc-add-mana = Увеличивает объем маны вашег cp14-skill-desc-unlock-recipes = Открывает возможность создания: cp14-skill-popup-added-points = Границы вашего сознания расширяются. Новых очков памяти: {$count} +cp14-skill-popup-forced-remove-skill = Вы начинаете забывать свое прошлое... Потеряно очков памяти: {$count} cp14-skill-examine-title = Этот персонаж владеет следующими навыками: \ No newline at end of file diff --git a/Resources/Maps/_CP14/comoss.yml b/Resources/Maps/_CP14/comoss.yml index ccc102b69c..3225112c8b 100644 --- a/Resources/Maps/_CP14/comoss.yml +++ b/Resources/Maps/_CP14/comoss.yml @@ -4,8 +4,8 @@ meta: engineVersion: 260.2.0 forkId: "" forkVersion: "" - time: 06/04/2025 21:43:51 - entityCount: 15261 + time: 06/15/2025 11:12:00 + entityCount: 15254 maps: - 1 grids: @@ -190,7 +190,7 @@ entities: version: 7 0,-3: ind: 0,-3 - tiles: AgAAAAAAAAIAAAAAAAAcAAAAAAAAAgAAAAABAAIAAAAADwAcAAAAAAUAAgAAAAAHAAIAAAAACgACAAAAAAIAHAAAAAAEABwAAAAABQAcAAAAAAEAHAAAAAABABwAAAAAAQAeAAAAAAEAHgAAAAAAAAMAAAAAAAADAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAADAAAAAAgAAwAAAAAAAAMAAAAAAAADAAAAAAQAAwAAAAAAAAMAAAAAAAAQAAAAAAAAEAAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAAwAAAAAAAAMAAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAAMAAAAABAABAAAAAAIAAQAAAAADAAEAAAAAAgANAAAAAAAAHgAAAAAAACEAAAAAAAACAAAAAAYAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAB4AAAAAAgADAAAAAAAAAQAAAAACAB4AAAAAAAABAAAAAAQAAQAAAAABAAEAAAAAAwAhAAAAAAAAAgAAAAANAB4AAAAAAAAcAAAAAAAAHAAAAAAAAB0AAAAAAAAdAAAAAAAAHQAAAAAAAB0AAAAAAAAeAAAAAAIAAwAAAAAAAB4AAAAAAwABAAAAAAQAAQAAAAADAAEAAAAAAQABAAAAAAQAIQAAAAAAAAIAAAAABAAeAAAAAAAAHgAAAAAAAB0AAAAAAAAdAAAAAAAAHQAAAAAAAB4AAAAAAAAdAAAAAAAAHgAAAAAFAAMAAAAAAAABAAAAAAAAAQAAAAACAAEAAAAAAgABAAAAAAQAHgAAAAAEACEAAAAAAAAeAAAAAAUAHAAAAAAAAB4AAAAAAAAdAAAAAAAAHQAAAAAAAB4AAAAAAAAeAAAAAAAAHgAAAAAAAB4AAAAABQADAAAAAAAAAQAAAAADAAEAAAAAAAABAAAAAAEAAQAAAAACAAEAAAAAAgAhAAAAAAAAHgAAAAAAAB0AAAAAAAAeAAAAAAAAHQAAAAAAAB0AAAAAAAAcAAAAAAAAHgAAAAAAAB4AAAAAAAAeAAAAAAMAAwAAAAAAAAEAAAAAAQABAAAAAAQAAQAAAAAEAAEAAAAAAgABAAAAAAAAIQAAAAAAAB4AAAAAAQAdAAAAAAAAHQAAAAAAAB0AAAAAAAAcAAAAAAAAHgAAAAAAAB4AAAAAAAAeAAAAAAAAHgAAAAAAAAMAAAAAAAABAAAAAAEAAQAAAAACAAEAAAAAAQABAAAAAAQAAQAAAAAAACEAAAAAAAACAAAAAA0AHAAAAAAAAB0AAAAAAAAdAAAAAAAAHQAAAAAAAB0AAAAAAAAdAAAAAAAAHgAAAAAAAB4AAAAAAQADAAAAAAAAAQAAAAACAAEAAAAAAgABAAAAAAQAAQAAAAADAAEAAAAAAgAhAAAAAAAAHAAAAAAAAB4AAAAAAQAeAAAAAAAAHgAAAAACAB4AAAAABAAeAAAAAAIAHQAAAAAAAAIAAAAABgAeAAAAAAEAAwAAAAAAAAEAAAAAAwABAAAAAAAAAQAAAAADAAEAAAAAAwABAAAAAAEAIQAAAAAAAB4AAAAABQAGAAAAAAIABgAAAAAAAAYAAAAAAgAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAIAHgAAAAABAAMAAAAAAgAeAAAAAAUAAQAAAAADAAEAAAAABAABAAAAAAAAAQAAAAACACEAAAAAAAAeAAAAAAEABgAAAAACAAUAAAAAAwAFAAAAAAMABQAAAAADAAUAAAAAAgAFAAAAAAIABgAAAAADAB4AAAAABAADAAAAAAAAHgAAAAAAAB4AAAAAAgAeAAAAAAQAHgAAAAAAAAEAAAAAAAACAAAAAAAAAgAAAAAEAAYAAAAAAgAFAAAAAAMABQAAAAABAAUAAAAAAQAGAAAAAAEABgAAAAADAAYAAAAAAQAeAAAAAAEAAwAAAAAAAB4AAAAABQAeAAAAAAIAHgAAAAABAB4AAAAAAwAeAAAAAAUAAgAAAAAAAAIAAAAACgAGAAAAAAEABQAAAAACAAUAAAAAAAAFAAAAAAAABQAAAAABAAUAAAAAAgAGAAAAAAEAHgAAAAAFAAMAAAAABgADAAAAAAQAAwAAAAADAAMAAAAABAADAAAAAAMAAwAAAAABAA== + tiles: AgAAAAAAAAIAAAAAAAAcAAAAAAAAAgAAAAABAAIAAAAADwAcAAAAAAUAAgAAAAAHAAIAAAAACgACAAAAAAIAHAAAAAAEABwAAAAABQAcAAAAAAEAHAAAAAABABwAAAAAAQAeAAAAAAEAHgAAAAAAAAMAAAAAAAADAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAADAAAAAAgAAwAAAAAAAAMAAAAAAAADAAAAAAQAAwAAAAAAAAMAAAAAAAAQAAAAAAAAEAAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAAwAAAAAAAAMAAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAAMAAAAABAABAAAAAAIAAQAAAAADAAEAAAAAAgANAAAAAAAAHgAAAAAAACEAAAAAAAACAAAAAAYAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAB4AAAAAAgADAAAAAAAAAQAAAAACAB4AAAAAAAABAAAAAAQAAQAAAAABAAEAAAAAAwAhAAAAAAAAAgAAAAANAB4AAAAAAAAcAAAAAAAAHAAAAAAAAB0AAAAAAAAdAAAAAAAAHQAAAAAAAB0AAAAAAAAeAAAAAAIAAwAAAAAAAB4AAAAAAwABAAAAAAQAAQAAAAADAAEAAAAAAQABAAAAAAQAIQAAAAAAAAIAAAAABAAeAAAAAAAAHgAAAAAAAB0AAAAAAAAdAAAAAAAAHQAAAAAAAB4AAAAAAAAdAAAAAAAAHgAAAAAFAAMAAAAAAAABAAAAAAAAAQAAAAACAAEAAAAAAgABAAAAAAQAHgAAAAAEACEAAAAAAAAeAAAAAAUAHAAAAAAAAB4AAAAAAAAdAAAAAAAAHQAAAAAAAB4AAAAAAAAeAAAAAAAAHgAAAAAAAB4AAAAABQADAAAAAAAAAQAAAAADAAEAAAAAAAABAAAAAAEAAQAAAAACAAEAAAAAAgAhAAAAAAAAHgAAAAAAAB0AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAcAAAAAAAAHgAAAAAAAB4AAAAAAAAeAAAAAAMAAwAAAAAAAAEAAAAAAQABAAAAAAQAAQAAAAAEAAEAAAAAAgABAAAAAAAAIQAAAAAAAB4AAAAAAQAdAAAAAAAAEAAAAAAAABEAAAAAAAAQAAAAAAAAHgAAAAAAAB4AAAAAAAAeAAAAAAAAHgAAAAAAAAMAAAAAAAABAAAAAAEAAQAAAAACAAEAAAAAAQABAAAAAAQAAQAAAAAAACEAAAAAAAACAAAAAA0AHAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB0AAAAAAAAdAAAAAAAAHgAAAAAAAB4AAAAAAQADAAAAAAAAAQAAAAACAAEAAAAAAgABAAAAAAQAAQAAAAADAAEAAAAAAgAhAAAAAAAAHAAAAAAAAB4AAAAAAQAeAAAAAAAAHgAAAAACAB4AAAAABAAeAAAAAAIAHQAAAAAAAAIAAAAABgAeAAAAAAEAAwAAAAAAAAEAAAAAAwABAAAAAAAAAQAAAAADAAEAAAAAAwABAAAAAAEAIQAAAAAAAB4AAAAABQAGAAAAAAIABgAAAAAAAAYAAAAAAgAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAIAHgAAAAABAAMAAAAAAgAeAAAAAAUAAQAAAAADAAEAAAAABAABAAAAAAAAAQAAAAACACEAAAAAAAAeAAAAAAEABgAAAAACAAUAAAAAAwAFAAAAAAMABQAAAAADAAUAAAAAAgAFAAAAAAIABgAAAAADAB4AAAAABAADAAAAAAAAHgAAAAAAAB4AAAAAAgAeAAAAAAQAHgAAAAAAAAEAAAAAAAACAAAAAAAAAgAAAAAEAAYAAAAAAgAFAAAAAAMABQAAAAABAAUAAAAAAQAGAAAAAAEABgAAAAADAAYAAAAAAQAeAAAAAAEAAwAAAAAAAB4AAAAABQAeAAAAAAIAHgAAAAABAB4AAAAAAwAeAAAAAAUAAgAAAAAAAAIAAAAACgAGAAAAAAEABQAAAAACAAUAAAAAAAAFAAAAAAAABQAAAAABAAUAAAAAAgAGAAAAAAEAHgAAAAAFAAMAAAAABgADAAAAAAQAAwAAAAADAAMAAAAABAADAAAAAAMAAwAAAAABAA== version: 7 1,-3: ind: 1,-3 @@ -730,6 +730,26 @@ entities: decals: 168: -22,-69 169: -22,-71 + - node: + color: '#FFFFFFFF' + id: CP14BrickTileStoneInnerNe + decals: + 231: 3,-40 + - node: + color: '#FFFFFFFF' + id: CP14BrickTileStoneInnerNw + decals: + 232: 5,-40 + - node: + color: '#FFFFFFFF' + id: CP14BrickTileStoneInnerSe + decals: + 229: 3,-38 + - node: + color: '#FFFFFFFF' + id: CP14BrickTileStoneInnerSw + decals: + 230: 5,-38 - node: color: '#FFFFFFFF' id: CP14BrickTileStoneLineE @@ -738,6 +758,7 @@ entities: 115: 21,-44 128: 18,-44 129: 18,-43 + 228: 3,-39 - node: color: '#FFFFFFFF' id: CP14BrickTileStoneLineN @@ -756,6 +777,7 @@ entities: 203: -3,-20 204: -10,-20 205: -9,-20 + 225: 4,-40 - node: color: '#FFFFFFFF' id: CP14BrickTileStoneLineS @@ -764,6 +786,7 @@ entities: 119: 19,-45 120: 20,-42 121: 19,-42 + 226: 4,-38 - node: color: '#FFFFFFFF' id: CP14BrickTileStoneLineW @@ -772,6 +795,7 @@ entities: 117: 21,-43 126: 18,-44 127: 18,-43 + 227: 5,-39 - node: cleanable: True color: '#6EAAEBFF' @@ -892,6 +916,14 @@ entities: - type: Transform pos: 15.5,0.5 parent: 1 +- proto: CP14AltarPrimordialGodLumera + entities: + - uid: 7335 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 4.5,-38.5 + parent: 1 - proto: CP14BarrelWater entities: - uid: 10 @@ -10860,12 +10892,6 @@ entities: rot: -1.5707963267948966 rad pos: 7.5,-38.5 parent: 1 - - uid: 26 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-39.5 - parent: 1 - uid: 1861 components: - type: Transform @@ -30774,18 +30800,6 @@ entities: - type: Transform pos: 103.5,59.5 parent: 1 - - uid: 7335 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-38.5 - parent: 1 - - uid: 8737 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,-38.5 - parent: 1 - uid: 8901 components: - type: Transform @@ -30923,18 +30937,6 @@ entities: - type: Transform pos: 109.5,58.5 parent: 1 - - uid: 11070 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,-37.5 - parent: 1 - - uid: 11140 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,-37.5 - parent: 1 - uid: 11141 components: - type: Transform @@ -30987,12 +30989,6 @@ entities: - type: Transform pos: 34.5,-2.5 parent: 1 - - uid: 13907 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,-38.5 - parent: 1 - uid: 14556 components: - type: Transform @@ -31034,12 +31030,6 @@ entities: rot: -1.5707963267948966 rad pos: 7.5,-39.5 parent: 1 - - uid: 14623 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,-40.5 - parent: 1 - uid: 14624 components: - type: Transform @@ -31052,24 +31042,12 @@ entities: rot: -1.5707963267948966 rad pos: 6.5,-40.5 parent: 1 - - uid: 14626 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,-39.5 - parent: 1 - uid: 14632 components: - type: Transform rot: -1.5707963267948966 rad pos: 2.5,-41.5 parent: 1 - - uid: 14633 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-37.5 - parent: 1 - uid: 14636 components: - type: Transform @@ -31100,12 +31078,6 @@ entities: rot: -1.5707963267948966 rad pos: -2.5,-40.5 parent: 1 - - uid: 14946 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,-39.5 - parent: 1 - uid: 14963 components: - type: Transform @@ -38165,6 +38137,13 @@ entities: - type: Transform pos: 18.607292,16.662266 parent: 1 +- proto: CP14BlueAmanita + entities: + - uid: 26 + components: + - type: Transform + pos: 4.5032434,-39.154808 + parent: 1 - proto: CP14BlueBottle entities: - uid: 7125 @@ -38296,6 +38275,28 @@ entities: - type: Transform pos: -17.264824,5.8419228 parent: 1 +- proto: CP14CandleBlue + entities: + - uid: 8737 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 5.330699,-38.98751 + parent: 1 + - uid: 9582 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 3.902204,-39.324844 + parent: 1 +- proto: CP14CandleBlueSmall + entities: + - uid: 9583 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 3.6772437,-38.26787 + parent: 1 - proto: CP14CandleGreen entities: - uid: 7165 @@ -40719,17 +40720,17 @@ entities: rot: 3.141592653589793 rad pos: -5.5,-34.5 parent: 1 - - uid: 11655 + - uid: 11140 components: - type: Transform - rot: 3.141592653589793 rad - pos: 5.5,-34.5 + rot: 1.5707963267948966 rad + pos: 3.5,-31.5 parent: 1 - - uid: 11656 + - uid: 11311 components: - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,-34.5 + rot: 1.5707963267948966 rad + pos: 3.5,-32.5 parent: 1 - proto: CP14Dayflin entities: @@ -65910,12 +65911,6 @@ entities: rot: 1.5707963267948966 rad pos: -7.5,-43.5 parent: 1 - - uid: 15366 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 6.5,-36.5 - parent: 1 - uid: 15367 components: - type: Transform @@ -67628,11 +67623,6 @@ entities: - type: Transform pos: 12.5,-43.5 parent: 1 - - uid: 15370 - components: - - type: Transform - pos: 3.5,-36.5 - parent: 1 - uid: 15371 components: - type: Transform @@ -68827,6 +68817,14 @@ entities: fixtures: {} - proto: CP14WallmountLampEmpty entities: + - uid: 11070 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 3.5,-30.5 + parent: 1 + - type: Fixtures + fixtures: {} - uid: 11758 components: - type: Transform @@ -68956,14 +68954,6 @@ entities: parent: 1 - type: Fixtures fixtures: {} - - uid: 11836 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 3.5,-32.5 - parent: 1 - - type: Fixtures - fixtures: {} - uid: 11837 components: - type: Transform @@ -82689,6 +82679,16 @@ entities: - type: Transform pos: 2.5,21.5 parent: 1 + - uid: 11393 + components: + - type: Transform + pos: 4.5,-35.5 + parent: 1 + - uid: 11394 + components: + - type: Transform + pos: 5.5,-35.5 + parent: 1 - uid: 14358 components: - type: Transform @@ -83812,16 +83812,6 @@ entities: - type: Transform pos: -6.5,1.5 parent: 1 - - uid: 14579 - components: - - type: Transform - pos: 2.5,-32.5 - parent: 1 - - uid: 14581 - components: - - type: Transform - pos: 2.5,-31.5 - parent: 1 - uid: 14582 components: - type: Transform @@ -85516,15 +85506,17 @@ entities: rot: -1.5707963267948966 rad pos: 6.5,19.5 parent: 1 - - uid: 14592 + - uid: 11312 components: - type: Transform - pos: 4.5,-35.5 + rot: 1.5707963267948966 rad + pos: 2.5,-32.5 parent: 1 - - uid: 14608 + - uid: 11370 components: - type: Transform - pos: 5.5,-35.5 + rot: 1.5707963267948966 rad + pos: 2.5,-31.5 parent: 1 - uid: 14695 components: diff --git a/Resources/Maps/_CP14/venicialis.yml b/Resources/Maps/_CP14/venicialis.yml index ebabe9c81b..dff7dd07f1 100644 --- a/Resources/Maps/_CP14/venicialis.yml +++ b/Resources/Maps/_CP14/venicialis.yml @@ -4,8 +4,8 @@ meta: engineVersion: 260.2.0 forkId: "" forkVersion: "" - time: 06/07/2025 21:12:48 - entityCount: 15201 + time: 06/15/2025 11:14:05 + entityCount: 15204 maps: - 2 grids: @@ -96,7 +96,7 @@ entities: version: 7 0,-1: ind: 0,-1 - tiles: IAAAAAAEACAAAAAABAAgAAAAAAEAIAAAAAAEACAAAAAABAAgAAAAAAEAIAAAAAAEACAAAAAAAwACAAAAAAoAAgAAAAAEAAIAAAAAAAACAAAAAAkAAgAAAAACAAIAAAAABwACAAAAAAcAAgAAAAALACAAAAAAAwAgAAAAAAEAIAAAAAAEACAAAAAAAwAgAAAAAAMAAgAAAAAGACAAAAAAAgAgAAAAAAEAIAAAAAAAACAAAAAAAwACAAAAAAsAAgAAAAAOAAIAAAAAAwACAAAAAAsAAgAAAAAJACAAAAAAAQAgAAAAAAEAIAAAAAADACAAAAAABAAgAAAAAAMAIAAAAAADAAIAAAAADQACAAAAAAwAIAAAAAABAAIAAAAADgACAAAAAA8AAgAAAAAGACAAAAAAAAAgAAAAAAQAIAAAAAADACAAAAAABAAgAAAAAAMAAgAAAAAMAAIAAAAAAgACAAAAAAkAAgAAAAAAAAIAAAAABAACAAAAAAkAIAAAAAADACAAAAAAAgACAAAAAAkAAgAAAAACAAIAAAAADwAgAAAAAAQAIAAAAAADAAIAAAAABAACAAAAAA8AAgAAAAAMAAIAAAAAAQACAAAAAA8AAgAAAAADAAIAAAAAAgACAAAAAAsAAgAAAAAJAAIAAAAADgACAAAAAAgAAgAAAAAEAAIAAAAABAACAAAAAAgAAgAAAAACAB0AAAAAAAAeAAAAAAIAHgAAAAACAB4AAAAAAwAdAAAAAAMAHQAAAAADAB4AAAAAAwAeAAAAAAQAHgAAAAACAB4AAAAAAQAeAAAAAAIAHQAAAAACAB0AAAAAAAAdAAAAAAEAHQAAAAAEAB4AAAAAAAAeAAAAAAQAHQAAAAABAAIAAAAAAgAgAAAAAAMAAgAAAAALAAIAAAAACAACAAAAAA0AAgAAAAANAAIAAAAACwACAAAAAAMAAgAAAAAKAAIAAAAABwAgAAAAAAEAIAAAAAACACAAAAAAAgACAAAAAAoAAgAAAAACAAIAAAAADAACAAAAAAAAAgAAAAALACAAAAAAAQACAAAAAA4AAgAAAAAGACAAAAAAAQAgAAAAAAAAIAAAAAADACAAAAAAAQACAAAAAAgAAgAAAAABAAIAAAAAAQACAAAAAAsAAgAAAAAFAAIAAAAACQACAAAAAAQAIAAAAAADAAIAAAAACgAcAAAAAAUAHAAAAAAAABwAAAAAAgAcAAAAAAUAHAAAAAAFAB0AAAAABAAdAAAAAAEAHQAAAAACAB0AAAAAAgAdAAAAAAQAHQAAAAAFAB0AAAAABAAdAAAAAAMAHQAAAAADACAAAAAAAwAgAAAAAAIAHAAAAAACABwAAAAAAQAcAAAAAAMAHAAAAAABAB0AAAAAAgAdAAAAAAQAHQAAAAADAB4AAAAABAAFAAAAAAAABQAAAAABAAUAAAAAAAAFAAAAAAMABQAAAAADAB0AAAAABQAgAAAAAAIAIAAAAAAEAB0AAAAAAQAdAAAAAAAAHAAAAAABABwAAAAAAwAdAAAAAAEAHQAAAAADAB4AAAAABAAeAAAAAAUABQAAAAABAAUAAAAAAQAFAAAAAAMABQAAAAAAAAUAAAAAAAAHAAAAAAIABQAAAAAAAAUAAAAAAAAeAAAAAAEAHQAAAAACABwAAAAAAgAcAAAAAAMABQAAAAADAAUAAAAAAwAHAAAAAAMABwAAAAACAAcAAAAAAAAHAAAAAAAABQAAAAACAAYAAAAAAwAFAAAAAAEABQAAAAACAAUAAAAAAQAFAAAAAAEAHgAAAAABAB0AAAAAAgAdAAAAAAAAHAAAAAADAAUAAAAAAwAFAAAAAAMABwAAAAADAAcAAAAAAAAHAAAAAAMABwAAAAACAAUAAAAAAQAGAAAAAAAABQAAAAABAAUAAAAAAgAHAAAAAAAABwAAAAACAA4AAAAAAAAOAAAAAAQAHgAAAAABAB0AAAAABQAFAAAAAAEABQAAAAACAAcAAAAAAAAHAAAAAAMABwAAAAACAAcAAAAAAAAFAAAAAAMABQAAAAACAAUAAAAAAgAFAAAAAAAABwAAAAABAAcAAAAAAAAOAAAAAAQADgAAAAAEAA4AAAAAAAAdAAAAAAQABQAAAAADAAUAAAAAAwAFAAAAAAEABQAAAAADAAUAAAAAAQAFAAAAAAEABQAAAAACAAUAAAAAAgAFAAAAAAMABQAAAAAAAAcAAAAAAwAHAAAAAAAAIQAAAAAEAA4AAAAAAgAOAAAAAAMAHQAAAAAAAAUAAAAAAAAFAAAAAAIABQAAAAADAAYAAAAAAQAGAAAAAAMABgAAAAADAAUAAAAAAgAFAAAAAAIABQAAAAACAAUAAAAAAwAFAAAAAAMABQAAAAACAA== + tiles: IAAAAAAEACAAAAAABAAgAAAAAAEAIAAAAAAEACAAAAAABAAgAAAAAAEAIAAAAAAEACAAAAAAAwACAAAAAAoAAgAAAAAEAAIAAAAAAAACAAAAAAkAAgAAAAACAAIAAAAABwACAAAAAAcAAgAAAAALACAAAAAAAwAgAAAAAAEAIAAAAAAEACAAAAAAAwAgAAAAAAMAAgAAAAAGACAAAAAAAgAgAAAAAAEAIAAAAAAAACAAAAAAAwACAAAAAAsAAgAAAAAOAAIAAAAAAwACAAAAAAsAAgAAAAAJACAAAAAAAQAgAAAAAAEAIAAAAAADACAAAAAABAAgAAAAAAMAIAAAAAADAAIAAAAADQACAAAAAAwAIAAAAAABAAIAAAAADgACAAAAAA8AAgAAAAAGACAAAAAAAAAgAAAAAAQAIAAAAAADACAAAAAABAAgAAAAAAMAAgAAAAAMAAIAAAAAAgACAAAAAAkAAgAAAAAAAAIAAAAABAACAAAAAAkAIAAAAAADACAAAAAAAgACAAAAAAkAAgAAAAACAAIAAAAADwAgAAAAAAQAIAAAAAADAAIAAAAABAACAAAAAA8AAgAAAAAMAAIAAAAAAQACAAAAAA8AAgAAAAADAAIAAAAAAgACAAAAAAsAAgAAAAAJAAIAAAAADgACAAAAAAgAAgAAAAAEAAIAAAAABAACAAAAAAgAAgAAAAACAB0AAAAAAAAeAAAAAAIAHgAAAAACAB4AAAAAAwAdAAAAAAMAHQAAAAADAB4AAAAAAwAeAAAAAAQAHgAAAAACAB4AAAAAAQAeAAAAAAIAHQAAAAACAB0AAAAAAAAdAAAAAAEAHQAAAAAEAB4AAAAAAAAeAAAAAAQAHQAAAAABAAIAAAAAAgAgAAAAAAMAAgAAAAALAAIAAAAACAACAAAAAA0AAgAAAAANAAIAAAAACwACAAAAAAMAAgAAAAAKAAIAAAAABwAgAAAAAAEAIAAAAAACACAAAAAAAgACAAAAAAoAAgAAAAACAAIAAAAADAACAAAAAAAAAgAAAAALACAAAAAAAQACAAAAAA4AAgAAAAAGACAAAAAAAQAgAAAAAAAAIAAAAAADACAAAAAAAQACAAAAAAgAAgAAAAABAAIAAAAAAQACAAAAAAsAAgAAAAAFAAIAAAAACQACAAAAAAQAIAAAAAADAAIAAAAACgAcAAAAAAUAHAAAAAAAABwAAAAAAgAcAAAAAAUAHAAAAAAFAB0AAAAABAAdAAAAAAEAHQAAAAACAB0AAAAAAgAdAAAAAAQAHQAAAAAFAB0AAAAABAAdAAAAAAMAHQAAAAADACAAAAAAAwAgAAAAAAIAEAAAAAAAABAAAAAAAAAQAAAAAAAAHAAAAAABAB0AAAAAAgAdAAAAAAQAHQAAAAADAB4AAAAABAAFAAAAAAAABQAAAAABAAUAAAAAAAAFAAAAAAMABQAAAAADAB0AAAAABQAgAAAAAAIAIAAAAAAEABAAAAAAAAARAAAAAAAAEAAAAAAAABwAAAAAAwAdAAAAAAEAHQAAAAADAB4AAAAABAAeAAAAAAUABQAAAAABAAUAAAAAAQAFAAAAAAMABQAAAAAAAAUAAAAAAAAHAAAAAAIABQAAAAAAAAUAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAcAAAAAAMABQAAAAADAAUAAAAAAwAHAAAAAAMABwAAAAACAAcAAAAAAAAHAAAAAAAABQAAAAACAAYAAAAAAwAFAAAAAAEABQAAAAACAAUAAAAAAQAFAAAAAAEAHgAAAAABAB0AAAAAAgAdAAAAAAAAHAAAAAADAAUAAAAAAwAFAAAAAAMABwAAAAADAAcAAAAAAAAHAAAAAAMABwAAAAACAAUAAAAAAQAGAAAAAAAABQAAAAABAAUAAAAAAgAHAAAAAAAABwAAAAACAA4AAAAAAAAOAAAAAAQAHgAAAAABAB0AAAAABQAFAAAAAAEABQAAAAACAAcAAAAAAAAHAAAAAAMABwAAAAACAAcAAAAAAAAFAAAAAAMABQAAAAACAAUAAAAAAgAFAAAAAAAABwAAAAABAAcAAAAAAAAOAAAAAAQADgAAAAAEAA4AAAAAAAAdAAAAAAQABQAAAAADAAUAAAAAAwAFAAAAAAEABQAAAAADAAUAAAAAAQAFAAAAAAEABQAAAAACAAUAAAAAAgAFAAAAAAMABQAAAAAAAAcAAAAAAwAHAAAAAAAAIQAAAAAEAA4AAAAAAgAOAAAAAAMAHQAAAAAAAAUAAAAAAAAFAAAAAAIABQAAAAADAAYAAAAAAQAGAAAAAAMABgAAAAADAAUAAAAAAgAFAAAAAAIABQAAAAACAAUAAAAAAwAFAAAAAAMABQAAAAACAA== version: 7 0,0: ind: 0,0 @@ -500,11 +500,24 @@ entities: id: CP14BrickTileStoneInnerNe decals: 79: 8,-31 + 142: 0,-7 + 143: 0,-7 + - node: + color: '#FFFFFFFF' + id: CP14BrickTileStoneInnerNw + decals: + 144: 2,-7 - node: color: '#FFFFFFFF' id: CP14BrickTileStoneInnerSe decals: 78: 8,-28 + 140: 0,-5 + - node: + color: '#FFFFFFFF' + id: CP14BrickTileStoneInnerSw + decals: + 141: 2,-5 - node: color: '#DE3A3A96' id: CP14BrickTileStoneLineE @@ -519,6 +532,7 @@ entities: 51: 24,-24 74: 8,-30 75: 8,-29 + 138: 0,-6 - node: color: '#DE3A3A96' id: CP14BrickTileStoneLineN @@ -532,6 +546,7 @@ entities: 47: 22,-23 48: 23,-23 77: 9,-31 + 139: 1,-7 - node: color: '#DE3A3A96' id: CP14BrickTileStoneLineS @@ -545,6 +560,7 @@ entities: 42: 22,-27 43: 23,-27 76: 9,-28 + 136: 1,-5 - node: color: '#DE3A3A96' id: CP14BrickTileStoneLineW @@ -557,6 +573,7 @@ entities: 44: 21,-26 45: 21,-25 46: 21,-24 + 137: 2,-6 - node: color: '#FFFFFFFF' id: CP14FloraGrass10 @@ -753,6 +770,13 @@ entities: rot: 1.5707963267948966 rad pos: 5.5,0.5 parent: 2 +- proto: CP14AltarPrimordialGodLumera + entities: + - uid: 12327 + components: + - type: Transform + pos: 1.5,-5.5 + parent: 2 - proto: CP14BarrelBloodGoblin entities: - uid: 8065 @@ -30239,6 +30263,25 @@ entities: rot: -1.5707963267948966 rad pos: 48.210453,-20.351133 parent: 2 +- proto: CP14CandleBlue + entities: + - uid: 12328 + components: + - type: Transform + pos: 0.7710935,-5.9935446 + parent: 2 + - uid: 15201 + components: + - type: Transform + pos: 2.2783234,-5.80239 + parent: 2 +- proto: CP14CandleBlueSmall + entities: + - uid: 15202 + components: + - type: Transform + pos: 1.5022119,-4.666708 + parent: 2 - proto: CP14CarpetBlue entities: - uid: 1836 @@ -33924,6 +33967,13 @@ entities: - type: Transform pos: -25.5,-33.5 parent: 2 +- proto: CP14ClothingBlueCollarDress + entities: + - uid: 15203 + components: + - type: Transform + pos: 1.5201155,-6.2672186 + parent: 2 - proto: CP14ClothingSatchelLeather entities: - uid: 1484 @@ -34254,7 +34304,7 @@ entities: pos: 14.5,-24.5 parent: 2 - type: Door - secondsUntilStateChange: -8969.771 + secondsUntilStateChange: -9077.496 state: Closing - uid: 1792 components: @@ -52183,12 +52233,6 @@ entities: - type: Transform pos: 24.5,-42.5 parent: 2 - - uid: 12328 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,-6.5 - parent: 2 - uid: 12329 components: - type: Transform @@ -52292,12 +52336,6 @@ entities: rot: -1.5707963267948966 rad pos: -0.5,-10.5 parent: 2 - - uid: 12327 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,-4.5 - parent: 2 - uid: 12334 components: - type: Transform @@ -77711,6 +77749,13 @@ entities: rot: 3.141592653589793 rad pos: 44.5,-28.5 parent: 2 +- proto: CP14TableMarble + entities: + - uid: 15204 + components: + - type: Transform + pos: 1.5,-6.5 + parent: 2 - proto: CP14TableWooden entities: - uid: 1459 @@ -79091,13 +79136,6 @@ entities: parent: 2 - type: Fixtures fixtures: {} - - uid: 15201 - components: - - type: Transform - pos: 4.5,-5.5 - parent: 2 - - type: Fixtures - fixtures: {} - proto: CP14WallmountFlagBank entities: - uid: 7830 diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/mind_degrade.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/mind_degrade.yml new file mode 100644 index 0000000000..2f244a9ecf --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/mind_degrade.yml @@ -0,0 +1,126 @@ +- type: entity + id: CP14ActionSpellGodLumeraMindDegrade + name: The Wrath of Lumera + description: "You unleash your anger on the creature, stunning it, inflicting damage, and burning its mind, removing 0.5 memory points." + components: + - type: CP14MagicEffectReligionRestricted + - type: CP14MagicEffectManaCost + manaCost: 300 + - type: CP14MagicEffect + telegraphyEffects: + - !type:CP14SpellSpawnEntityOnTarget + spawns: + - CP14RuneMindDegrade + - !type:CP14SpellApplyEntityEffect + effects: + - !type:ChemVomit + - !type:Jitter + time: 16 + - !type:HealthChange + damage: + types: + Slash: 10 + Blunt: 10 + Piercing: 10 + - !type:MovespeedModifier + walkSpeedModifier: 0.02 + sprintSpeedModifier: 0.02 + statusLifetime: 19 + effects: + - !type:CP14SpellSpawnEntityOnTarget + spawns: + - CP14LumeraMindDegradeImpact + - !type:CP14SpellRemoveMemoryPoint + - !type:CP14SpellApplyEntityEffect + effects: + - !type:Jitter + time: 16 + - !type:Paralyze + paralyzeTime: 16 + - !type:Drunk + boozePower: 20 + - !type:HealthChange + damage: + types: + Slash: 10 + Blunt: 10 + Piercing: 10 + - !type:MovespeedModifier + walkSpeedModifier: 0.5 + sprintSpeedModifier: 0.5 + statusLifetime: 30 + - type: EntityTargetAction + canTargetSelf: false + blacklist: + components: + - CP14ReligionEntity + whitelist: + components: + - CP14SkillStorage + range: 100 + itemIconStyle: BigAction + checkCanAccess: false + sound: !type:SoundPathSpecifier + path: /Audio/Magic/rumble.ogg + icon: + sprite: _CP14/Actions/DemigodSpells/lumera.rsi + state: wrath + event: !type:CP14DelayedEntityTargetActionEvent + cooldown: 300 + castDelay: 16 + breakOnMove: false + breakOnDamage: false + +- type: entity + id: CP14RuneMindDegrade + parent: CP14BaseMagicRune + categories: [ HideSpawnMenu ] + save: false + components: + - type: TimedDespawn + lifetime: 16 + - type: PointLight + color: "#ae424d" + radius: 5 + energy: 8 + - type: LightFade + duration: 10 + - type: Sprite + layers: + - state: medium_circle + scale: 1.5, 1.5 + color: "#ae424d" + shader: unshaded + - type: EmitSoundOnSpawn + sound: + path: /Audio/_CP14/Effects/ritual_begin.ogg + params: + pitch: 1 + +- type: entity + id: CP14LumeraMindDegradeImpact + categories: [ HideSpawnMenu ] + parent: CP14BaseMagicImpact + save: false + components: + - type: PointLight + color: "#ae424d" + enabled: true + radius: 15 + energy: 8 + netsync: false + - type: Sprite + layers: + - state: stars + scale: 2, 2 + color: "#ae424d" + shader: unshaded + - type: LightFade + duration: 1 + - type: TimedDespawn + lifetime: 3 + - type: EmitSoundOnSpawn + sound: + path: /Audio/Effects/inneranomaly.ogg + params: + pitch: 1 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/mind_upgrade.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/mind_upgrade.yml index 2a3b5e4a8a..ef7efce2de 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/mind_upgrade.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/mind_upgrade.yml @@ -4,6 +4,7 @@ description: "You expand the boundaries of what is possible for the chosen creature, revealing to it the secrets of the universe. The target gains +0.5 memory points, up to a maximum of 6.5" components: - type: CP14MagicEffectReligionRestricted + onlyOnFollowers: true - type: CP14MagicEffectManaCost manaCost: 300 - type: CP14MagicEffect diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/moon_strike.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/moon_strike.yml index a847777e4c..b8b84eec82 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/moon_strike.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/moon_strike.yml @@ -5,7 +5,7 @@ components: - type: CP14MagicEffectReligionRestricted - type: CP14MagicEffectManaCost - manaCost: 20 + manaCost: 30 - type: CP14MagicEffect effects: - !type:CP14SpellSpawnEntityOnTarget @@ -20,4 +20,52 @@ sprite: _CP14/Actions/DemigodSpells/lumera.rsi state: moon_beam event: !type:CP14WorldTargetActionEvent - cooldown: 0.5 \ No newline at end of file + cooldown: 0.5 + +- type: entity + id: CP14SkyLumeraStrike + categories: [ ForkFiltered ] + name: lumera strike + save: false + components: + - type: Sprite + sprite: _CP14/Effects/lumera_strike.rsi + drawdepth: Mobs + noRot: true + offset: 0,3 + layers: + - state: pewpew + shader: unshaded + - type: TimedDespawn + lifetime: 2 + - type: Tag + tags: + - HideContextMenu + - type: PointLight + color: "#7ca5d8" + enabled: true + radius: 10 + energy: 8 + netsync: false + - type: LightFade + duration: 1 + - type: CP14AreaEntityEffect + range: 1 + effects: + - !type:CP14SpellApplyEntityEffect + effects: + - !type:Jitter + - !type:HealthChange + damage: + types: + Heat: 10 + - type: TriggerOnSpawn + - type: FlashOnTrigger + range: 4 + - type: CP14FarSound + closeSound: + collection: CP14MoonStrike + params: + variation: 0.2 + maxDistance: 20 + volume: 20 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/renounce.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/renounce.yml index 3b59a05282..1278e09fa6 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/renounce.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/renounce.yml @@ -26,7 +26,7 @@ - type: entity id: CP14LumeraRenounceImpact - categories: [ ForkFiltered ] + categories: [ HideSpawnMenu ] parent: CP14BaseMagicImpact save: false components: diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/speak.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/speak.yml index f57b5e4883..e0db8b0c53 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/speak.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/speak.yml @@ -1,6 +1,6 @@ - type: entity id: CP14LumeraSpeakImpact - categories: [ ForkFiltered ] + categories: [ HideSpawnMenu ] parent: CP14BaseMagicImpact save: false components: diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/touch.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/touch.yml index b899f6a462..134c1d0fe0 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/touch.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Demigods/Lumera/touch.yml @@ -30,7 +30,7 @@ - type: entity id: CP14LumeraTouchImpact - categories: [ ForkFiltered ] + categories: [ HideSpawnMenu ] parent: CP14BaseMagicImpact save: false components: diff --git a/Resources/Prototypes/_CP14/Entities/Effects/sky_lightning.yml b/Resources/Prototypes/_CP14/Entities/Effects/sky_lightning.yml index 4626cbe47c..433a114e84 100644 --- a/Resources/Prototypes/_CP14/Entities/Effects/sky_lightning.yml +++ b/Resources/Prototypes/_CP14/Entities/Effects/sky_lightning.yml @@ -89,52 +89,4 @@ collection: CP14LightningFar params: variation: 0.2 - volume: -5 - -- type: entity - id: CP14SkyLumeraStrike - categories: [ ForkFiltered ] - name: lumera strike - save: false - components: - - type: Sprite - sprite: _CP14/Effects/lumera_strike.rsi - drawdepth: Mobs - noRot: true - offset: 0,3 - layers: - - state: pewpew - shader: unshaded - - type: TimedDespawn - lifetime: 2 - - type: Tag - tags: - - HideContextMenu - - type: PointLight - color: "#7ca5d8" - enabled: true - radius: 10 - energy: 8 - netsync: false - - type: LightFade - duration: 1 - - type: CP14AreaEntityEffect - range: 1 - effects: - - !type:CP14SpellApplyEntityEffect - effects: - - !type:Jitter - - !type:HealthChange - damage: - types: - Heat: 10 - - type: TriggerOnSpawn - - type: FlashOnTrigger - range: 4 - - type: CP14FarSound - closeSound: - collection: CP14MoonStrike - params: - variation: 0.2 - maxDistance: 20 - volume: 20 \ No newline at end of file + volume: -5 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Religion/base.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Religion/base.yml index 6bb733612d..c7ab0cc7d5 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Religion/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Religion/base.yml @@ -24,6 +24,13 @@ - type: ActiveListener range: 1 - type: InteractionOutline + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: Rock + - type: GuideHelp + guides: + - CP14_RU_Patrons + - CP14_EN_Patrons - type: entity parent: CP14BaseAltar diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Religion/primordial.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Religion/primordial.yml index 7e442e0c9c..0d7619dd74 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Religion/primordial.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Religion/primordial.yml @@ -5,9 +5,11 @@ description: "The enchanting statue of Lumera, patroness of the starry sky, night, and mysteries. She does not demand worship—she simply observes. And waits for you to ask." components: - type: Sprite - sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + drawdepth: Mobs + offset: "0.0,0.8" + sprite: _CP14/Structures/Specific/Religion/lumera_statue.rsi layers: - - state: white + - state: statue1 - type: CP14ReligionAltar religion: Lumera - type: CP14ReligionObserver diff --git a/Resources/Prototypes/_CP14/Guidebook/Eng/jobs.yml b/Resources/Prototypes/_CP14/Guidebook/Eng/jobs.yml index 4fbe206d06..c53946e76c 100644 --- a/Resources/Prototypes/_CP14/Guidebook/Eng/jobs.yml +++ b/Resources/Prototypes/_CP14/Guidebook/Eng/jobs.yml @@ -7,6 +7,7 @@ - CP14_EN_JobAdventurer - CP14_EN_JobAlchemist - CP14_EN_JobInnkeeper + - CP14_EN_Patrons filterEnabled: True @@ -34,3 +35,10 @@ name: Innkeepers text: "/ServerInfo/_CP14/Guidebook_EN/JobsTabs/Innkeepers.xml" filterEnabled: True + +- type: guideEntry + crystallPunkAllowed: true + id: CP14_EN_Patrons + name: Patrons + text: "/ServerInfo/_CP14/Guidebook_EN/JobsTabs/Patrons.xml" + filterEnabled: True diff --git a/Resources/Prototypes/_CP14/Guidebook/Ru/jobs.yml b/Resources/Prototypes/_CP14/Guidebook/Ru/jobs.yml index 06d5d162cb..c4090d4d51 100644 --- a/Resources/Prototypes/_CP14/Guidebook/Ru/jobs.yml +++ b/Resources/Prototypes/_CP14/Guidebook/Ru/jobs.yml @@ -7,6 +7,7 @@ - CP14_RU_JobAdventurer - CP14_RU_JobAlchemist - CP14_RU_JobInnkeeper + - CP14_RU_Patrons filterEnabled: True @@ -32,6 +33,13 @@ - type: guideEntry crystallPunkAllowed: true id: CP14_RU_JobInnkeeper - name: Innkeepers + name: Трактирщик text: "/ServerInfo/_CP14/Guidebook_RU/JobsTabs/Innkeepers.xml" filterEnabled: True + +- type: guideEntry + crystallPunkAllowed: true + id: CP14_RU_Patrons + name: Покровители + text: "/ServerInfo/_CP14/Guidebook_RU/JobsTabs/Patrons.xml" + filterEnabled: True diff --git a/Resources/Prototypes/_CP14/Maps/comoss.yml b/Resources/Prototypes/_CP14/Maps/comoss.yml index 72a84b95c3..1e6525b1be 100644 --- a/Resources/Prototypes/_CP14/Maps/comoss.yml +++ b/Resources/Prototypes/_CP14/Maps/comoss.yml @@ -13,6 +13,8 @@ mapNameTemplate: "Comoss island" - type: StationJobs availableJobs: + #Demigods + CP14GodLumera: [ 1, 1 ] #Mercenary #CP14Guildmaster: [1, 1] CP14Adventurer: [ -1, -1 ] diff --git a/Resources/Prototypes/_CP14/Maps/venicialis.yml b/Resources/Prototypes/_CP14/Maps/venicialis.yml index 6b710c6ffb..4340dcadd8 100644 --- a/Resources/Prototypes/_CP14/Maps/venicialis.yml +++ b/Resources/Prototypes/_CP14/Maps/venicialis.yml @@ -13,6 +13,8 @@ mapNameTemplate: "Venicialis fort" - type: StationJobs availableJobs: + #Demigods + CP14GodLumera: [ 1, 1 ] #Mercenary #CP14Guildmaster: [1, 1] CP14Adventurer: [ -1, -1 ] diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Demigods/lumera.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Demigods/lumera.yml index 90c4e7e1ca..88cfc32447 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Demigods/lumera.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Demigods/lumera.yml @@ -2,7 +2,7 @@ id: CP14GodLumera name: cp14-job-name-god-lumera description: cp14-job-desc-god-lumera - setPreference: false + setPreference: true playTimeTracker: CP14GodLumera requirements: - !type:OverallPlaytimeRequirement diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml b/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml index 839585efda..977d25a627 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/departments.yml @@ -4,7 +4,7 @@ description: department-CP14Demigods-desc weight: 666 # >:) color: "#ffffff" - editorHidden: true #temp + editorHidden: false roles: - CP14GodLumera - CP14GodMerkas diff --git a/Resources/Prototypes/_CP14/Skill/Demigods/lumera.yml b/Resources/Prototypes/_CP14/Skill/Demigods/lumera.yml index 398a6f6d10..d90834111a 100644 --- a/Resources/Prototypes/_CP14/Skill/Demigods/lumera.yml +++ b/Resources/Prototypes/_CP14/Skill/Demigods/lumera.yml @@ -5,7 +5,7 @@ skillUiPosition: 1, 0 tree: GodLumera name: cp14-skill-lumera-t1-name - learnCost: 0.5 + learnCost: 0 icon: sprite: _CP14/Actions/DemigodSpells/lumera.rsi state: t1 @@ -65,7 +65,7 @@ skillUiPosition: 7, 0 tree: GodLumera name: cp14-skill-lumera-t2-name - learnCost: 0.5 + learnCost: 0 icon: sprite: _CP14/Actions/DemigodSpells/lumera.rsi state: t2 @@ -112,7 +112,7 @@ skillUiPosition: 13, 0 tree: GodLumera name: cp14-skill-lumera-t3-name - learnCost: 0.5 + learnCost: 0 icon: sprite: _CP14/Actions/DemigodSpells/lumera.rsi state: t3 @@ -134,5 +134,20 @@ - !type:AddAction action: CP14ActionSpellGodLumeraMindUpgrade restrictions: + - !type:NeedPrerequisite + prerequisite: LumeraT3 + +- type: cp14Skill + id: LumeraMindDegrade + skillUiPosition: 14, 3 + tree: GodLumera + learnCost: 1.0 + icon: + sprite: _CP14/Actions/DemigodSpells/lumera.rsi + state: wrath + effects: + - !type:AddAction + action: CP14ActionSpellGodLumeraMindDegrade + restrictions: - !type:NeedPrerequisite prerequisite: LumeraT3 \ No newline at end of file diff --git a/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/Patrons.xml b/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/Patrons.xml new file mode 100644 index 0000000000..4b8b701566 --- /dev/null +++ b/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/Patrons.xml @@ -0,0 +1,35 @@ + + +# Patrons + +Patrons are a unique game role representing incorporeal spirits capable of helping or hindering mortals. + +## Lore + +Mortals believe that patrons are gods. This is not true. True gods have no interest in what happens on Silite. Nevertheless, the beliefs, desires, fears, and emotions of mortals can create "patron spirits" — incorporeal energy entities that take on the form and powers associated with what mortals believe in. + +Such entities can be described as energetic parasites or symbionts—constantly sucking energy from their followers, they can exist and in return help them with their life problems. + +But if those who believe in the patrons spirit die or reject it, the spirit, deprived of energy, gradually dies. + +Because of this, patrons try with all their might to spread their influence, because the more people know about them and believe in them, the stronger the spirit becomes, gaining more opportunities to influence the world. + +## Area of influence + +Patron deities are not omnipotent and can only act within their area of influence. Most often, a patron deity's area of influence is provided by things associated with them: altars, their own followers, or anything directly related to their power. + +Outside their area of influence, patron deities can only silently observe. + +## Primordial statues and followers + +Each patron has an anchor connecting them to the real world. Most often, these are primordial statues depicting that god. + +Any intelligent being can become a follower of a god by touching a primordial statue and making an agreement with the patron. This establishes a "communication channel". The follower provides the patron with a zone of influence around themselves, allowing the patron to communicate with the follower at any time or influence the environment around them. + +The “channel” between the follower and the patron can be severed at any time, either by renouncing the patron or by expelling the follower. Once an intelligent being has severed its connection with the patron, it can never return to it in that round. + + + + + + \ No newline at end of file diff --git a/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/Patrons.xml b/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/Patrons.xml new file mode 100644 index 0000000000..41c0ea8701 --- /dev/null +++ b/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/Patrons.xml @@ -0,0 +1,35 @@ + + +# Покровители + +Покровители - это уникальная игровая роль, представляющая из себя бестелесных духов, способных помогать смертным, или мешать им. + +## Лор + +Смертные верят - что покровители это боги. Это не так. Настоящим богам нет дела до происходящего на Силейте. Тем не менее, вера, желания, страхи и эмоции смертных могут создавать "Духов-покровителей" - бестелесных энергетических сущностей, которые принимают форму и силы, связанные с тем, во что верят смертные. + +Такие сущности, можно сказать, являются энергитическими паразитами, или симбиотами - постоянно высасывая энергию из своих последователей, они могут существовать и взамен помогать им в их жизненных проблемах. + +Но если те кто верят в Духа-покровителя погибают, или отвергают его, дух, оставаясь без подпитки энергией, постепенно погибает. + +Из-за этого, покровители всеми силами пытаются распространять свое влияние, ведь чем больше людей знают о нем и верят в него - тем дух становится сильнее, получая больше возможностей влиять на мир. + +## Область влияния + +Покровители не всесильны, и способны действовать только в области своего влияния. Чаще всего область влияния для покровителя предоставляют те вещи, которые с ним связаны: Алтари, собственные последователи, или что-либо связанное напрямую с его силой. + +Вне зоны своего влияния покровители могут лишь молчаливо наблюдать. + +## Первоводные статуи и последователи + +У каждого покровителя есть якорь, соединяющий его с реальным миром. Чаще всего это первородные статуи, изображающие этого бога. + +Любое разумное существо способно стать последователем бога, прикоснувшись к первородной статуе, и договорившись с покровителем. Это устанавливает "канал связи". Последователь предоставляет покровителю зону влияния вокруг себя, что позволяет тому в любое время общаться с последователем, или влиять на окружение вокруг него. + +"Канал" между последователем и покровителем может быть в любой момент разорван, либо отречением от покровителя, либо изгнанием последователя. После того как разумное существо разорвало связь с покровителем, в этом раунде оно больше никогда не сможет вернуться к нему. + + + + + + \ No newline at end of file diff --git a/Resources/Textures/_CP14/Actions/DemigodSpells/lumera.rsi/meta.json b/Resources/Textures/_CP14/Actions/DemigodSpells/lumera.rsi/meta.json index 50232c6789..943e1d015a 100644 --- a/Resources/Textures/_CP14/Actions/DemigodSpells/lumera.rsi/meta.json +++ b/Resources/Textures/_CP14/Actions/DemigodSpells/lumera.rsi/meta.json @@ -28,6 +28,9 @@ { "name": "moon_beam" }, + { + "name": "wrath" + }, { "name": "t1" }, diff --git a/Resources/Textures/_CP14/Actions/DemigodSpells/lumera.rsi/wrath.png b/Resources/Textures/_CP14/Actions/DemigodSpells/lumera.rsi/wrath.png new file mode 100644 index 0000000000..e129b1ec72 Binary files /dev/null and b/Resources/Textures/_CP14/Actions/DemigodSpells/lumera.rsi/wrath.png differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Religion/lumera_statue.rsi/meta.json b/Resources/Textures/_CP14/Structures/Specific/Religion/lumera_statue.rsi/meta.json new file mode 100644 index 0000000000..c908e37f2c --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Specific/Religion/lumera_statue.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "All right reserved", + "copyright": "Created by Jaraten, edited by TheShuEd", + "size": { + "x": 112, + "y": 80 + }, + "states": [ + { + "name": "statue1" + } + ] +} diff --git a/Resources/Textures/_CP14/Structures/Specific/Religion/lumera_statue.rsi/statue1.png b/Resources/Textures/_CP14/Structures/Specific/Religion/lumera_statue.rsi/statue1.png new file mode 100644 index 0000000000..2fdfa28604 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Specific/Religion/lumera_statue.rsi/statue1.png differ