diff --git a/Content.Client/_CP14/IdentityRecognition/CP14IdentityRecognitionBoundUserInterface.cs b/Content.Client/_CP14/IdentityRecognition/CP14IdentityRecognitionBoundUserInterface.cs index d934880f13..a89b80dd25 100644 --- a/Content.Client/_CP14/IdentityRecognition/CP14IdentityRecognitionBoundUserInterface.cs +++ b/Content.Client/_CP14/IdentityRecognition/CP14IdentityRecognitionBoundUserInterface.cs @@ -87,10 +87,6 @@ public sealed class CP14IdentityRecognitionBoundUserInterface : BoundUserInterfa { case CP14RememberNameUiState rememberNameUiState: _rememberedTarget = rememberNameUiState.Target; - - var currentName = CurrentName(); - if (currentName is not null) - _window.SetCurrentLabel(currentName); break; } } diff --git a/Content.IntegrationTests/Tests/EntityTest.cs b/Content.IntegrationTests/Tests/EntityTest.cs index e08773d665..30641a7222 100644 --- a/Content.IntegrationTests/Tests/EntityTest.cs +++ b/Content.IntegrationTests/Tests/EntityTest.cs @@ -42,8 +42,10 @@ namespace Content.IntegrationTests.Tests .Where(p => !pair.IsTestPrototype(p)) .Where(p => !p.Components.ContainsKey("MapGrid")) // This will smash stuff otherwise. .Where(p => !p.Components.ContainsKey("RoomFill")) // This comp can delete all entities, and spawn others - .Where(p => !p.Components.ContainsKey("CP14BiomeSpawner")) // CP14 this component delete all entities on this tile - .Where(p => !p.Components.ContainsKey("CP14AreaEntityEffect")) // CP14 lightning detonates entities + //CP14 + .Where(p => !p.Components.ContainsKey("CP14BiomeSpawner")) // this component delete all entities on this tile + .Where(p => !p.Components.ContainsKey("CP14AreaEntityEffect")) // lightning detonates entities + //CP14 end .Select(p => p.ID) .ToList(); @@ -58,7 +60,7 @@ namespace Content.IntegrationTests.Tests } }); - await server.WaitRunTicks(15); // 15 seconds, enough to trigger most update loops //CP14 returned back to 15 ticks (operation was cancelled github issue) + await server.WaitRunTicks(15); await server.WaitPost(() => { @@ -107,8 +109,10 @@ namespace Content.IntegrationTests.Tests .Where(p => !pair.IsTestPrototype(p)) .Where(p => !p.Components.ContainsKey("MapGrid")) // This will smash stuff otherwise. .Where(p => !p.Components.ContainsKey("RoomFill")) // This comp can delete all entities, and spawn others + //CP14 .Where(p => !p.Components.ContainsKey("CP14BiomeSpawner")) // CP14 this component delete all entities on this tile .Where(p => !p.Components.ContainsKey("CP14AreaEntityEffect")) // CP14 lightning detonates entities + //CP14 end .Select(p => p.ID) .ToList(); foreach (var protoId in protoIds) @@ -116,7 +120,7 @@ namespace Content.IntegrationTests.Tests entityMan.SpawnEntity(protoId, map.GridCoords); } }); - await server.WaitRunTicks(15); // 15 seconds, enough to trigger most update loops //CP14 returned back to 15 ticks (operation was cancelled github issue) + await server.WaitRunTicks(15); await server.WaitPost(() => { static IEnumerable<(EntityUid, TComp)> Query(IEntityManager entityMan) @@ -169,6 +173,9 @@ namespace Content.IntegrationTests.Tests .Where(p => !p.Abstract) .Where(p => !pair.IsTestPrototype(p)) .Where(p => !p.Components.ContainsKey("MapGrid")) // This will smash stuff otherwise. + //CP14 + .Where(p => !p.Components.ContainsKey("CP14VampireClanHeart")) //Spawn announcement sound entities on init + //CP14 end .Select(p => p.ID) .ToList(); @@ -248,6 +255,9 @@ namespace Content.IntegrationTests.Tests // makes an announcement on mapInit. "AnnounceOnSpawn", + //CP14 + "CP14VampireClanHeart", //Also announce on spawn + //CP14 end }; Assert.That(server.CfgMan.GetCVar(CVars.NetPVS), Is.False); @@ -383,8 +393,6 @@ namespace Content.IntegrationTests.Tests "DebugExceptionStartup", "GridFill", "RoomFill", - "CP14BiomeSpawner", // CP14 this component delete all entities on this tile - "CP14AreaEntityEffect", // CP14 lightning detonates entities "Map", // We aren't testing a map entity in this test "MapGrid", "Broadphase", diff --git a/Content.Server/_CP14/GameTicking/Rules/CP14VampireRuleSystem.cs b/Content.Server/_CP14/GameTicking/Rules/CP14VampireRuleSystem.cs index bff43c399f..26747c13d3 100644 --- a/Content.Server/_CP14/GameTicking/Rules/CP14VampireRuleSystem.cs +++ b/Content.Server/_CP14/GameTicking/Rules/CP14VampireRuleSystem.cs @@ -29,16 +29,16 @@ public sealed class CP14VampireRuleSystem : GameRuleSystem>(); - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var vampireUid, out var vampire, out var mobState)) + var query = EntityQueryEnumerator(); + while (query.MoveNext(out _, out var heart)) { - if (mobState.CurrentState != MobState.Alive) + if (heart.Faction is null) continue; - if (vampire.Faction is null) + if (heart.Level < _condition.RequiredHeartLevel) continue; - aliveFactions.Add(vampire.Faction.Value); + aliveFactions.Add(heart.Faction.Value); } args.AddLine($"[head=2][color=#ab1b3d]{Loc.GetString("cp14-vampire-clans-battle")}[/color][/head]"); diff --git a/Content.Server/_CP14/Objectives/Systems/CP14VampireObjectiveConditionsSystem.cs b/Content.Server/_CP14/Objectives/Systems/CP14VampireObjectiveConditionsSystem.cs index aa0d160c75..2ada1b1a12 100644 --- a/Content.Server/_CP14/Objectives/Systems/CP14VampireObjectiveConditionsSystem.cs +++ b/Content.Server/_CP14/Objectives/Systems/CP14VampireObjectiveConditionsSystem.cs @@ -22,6 +22,7 @@ public sealed class CP14VampireObjectiveConditionsSystem : EntitySystem [Dependency] private readonly IPrototypeManager _proto = default!; public readonly float RequiredAlivePercentage = 0.5f; + public readonly int RequiredHeartLevel = 3; public override void Initialize() { @@ -84,27 +85,37 @@ public sealed class CP14VampireObjectiveConditionsSystem : EntitySystem ent.Comp.Faction = vampireComp.Faction; - _meta.SetEntityName(ent, Loc.GetString("cp14-objective-vampire-pure-bood-title")); - _meta.SetEntityDescription(ent, Loc.GetString("cp14-objective-vampire-pure-bood-desc")); + _meta.SetEntityName(ent, Loc.GetString("cp14-objective-vampire-pure-blood-title")); + _meta.SetEntityDescription(ent, Loc.GetString("cp14-objective-vampire-pure-blood-desc")); _objectives.SetIcon(ent, ent.Comp.Icon); } private void OnBloodPurityGetProgress(Entity ent, ref ObjectiveGetProgressEvent args) { - var query = EntityQueryEnumerator(); + var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var vampire, out var mobState)) + var ourHeartReady = false; + var othersHeartsExist = false; + while (query.MoveNext(out var uid, out var vampire)) { - if (vampire.Faction != ent.Comp.Faction) - { - if (mobState.CurrentState == MobState.Dead) - continue; + if (vampire.Faction == ent.Comp.Faction && vampire.Level >= RequiredHeartLevel) + ourHeartReady = true; - args.Progress = 0f; - return; + if (vampire.Faction != ent.Comp.Faction && vampire.Level >= RequiredHeartLevel) + { + othersHeartsExist = true; + break; } } - args.Progress = 1f; + var progress = 0f; + + if (ourHeartReady) + progress += 0.5f; + + if (!othersHeartsExist) + progress += 0.5f; + + args.Progress = progress; } } diff --git a/Content.Server/_CP14/RoundEnd/CP14RoundEndSystem.CBT.cs b/Content.Server/_CP14/RoundEnd/CP14RoundEndSystem.CBT.cs index 3de9ed6a2a..0f36747f2f 100644 --- a/Content.Server/_CP14/RoundEnd/CP14RoundEndSystem.CBT.cs +++ b/Content.Server/_CP14/RoundEnd/CP14RoundEndSystem.CBT.cs @@ -125,6 +125,13 @@ public sealed partial class CP14RoundEndSystem sender: "Server" ); }), + (22, 0, () => + { + if (!ruDays) + return; + + _consoleHost.ExecuteCommand("endround"); + }), (22, 2, () => { if (!ruDays) @@ -143,6 +150,13 @@ public sealed partial class CP14RoundEndSystem sender: "Server" ); }), + (23, 58, () => + { + if (ruDays) + return; + + _consoleHost.ExecuteCommand("endround"); + }), (23, 59, () => { if (ruDays) diff --git a/Content.Server/_CP14/Vampire/CP14VampireSystem.Announce.cs b/Content.Server/_CP14/Vampire/CP14VampireSystem.Announce.cs index f1194cd5ba..a938e61254 100644 --- a/Content.Server/_CP14/Vampire/CP14VampireSystem.Announce.cs +++ b/Content.Server/_CP14/Vampire/CP14VampireSystem.Announce.cs @@ -1,11 +1,8 @@ -using System.Text; +using Content.Server.Administration.Managers; using Content.Server.Chat.Systems; using Content.Shared._CP14.Vampire; using Content.Shared._CP14.Vampire.Components; using Content.Shared.Damage; -using Content.Shared.Destructible; -using Content.Shared.Examine; -using Content.Shared.Ghost; using Robust.Shared.Audio; using Robust.Shared.Player; using Robust.Shared.Prototypes; @@ -16,13 +13,26 @@ public sealed partial class CP14VampireSystem { [Dependency] private readonly ChatSystem _chat = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly IAdminManager _admin = default!; private void InitializeAnnounces() { + SubscribeLocalEvent(OnHeartCreate); SubscribeLocalEvent(OnHeartDamaged); SubscribeLocalEvent(OnHeartDestructed); } + private void OnHeartCreate(Entity ent, ref MapInitEvent args) + { + if (ent.Comp.Faction is null) + return; + + if (!Proto.TryIndex(ent.Comp.Faction, out var indexedFaction)) + return; + + AnnounceToFaction(ent.Comp.Faction.Value, Loc.GetString("cp14-vampire-tree-created", ("name", Loc.GetString(indexedFaction.Name)))); + AnnounceToOpposingFactions(ent.Comp.Faction.Value, Loc.GetString("cp14-vampire-tree-created", ("name", Loc.GetString(indexedFaction.Name)))); + } private void OnHeartDamaged(Entity ent, ref DamageChangedEvent args) { @@ -84,6 +94,8 @@ public sealed partial class CP14VampireSystem filter.AddPlayer(actor.PlayerSession); } + filter.AddPlayers(_admin.ActiveAdmins); + if (filter.Count == 0) return; diff --git a/Content.Server/_CP14/Vampire/CP14VampireSystem.cs b/Content.Server/_CP14/Vampire/CP14VampireSystem.cs index ccc6c7a7db..89536b4366 100644 --- a/Content.Server/_CP14/Vampire/CP14VampireSystem.cs +++ b/Content.Server/_CP14/Vampire/CP14VampireSystem.cs @@ -170,7 +170,7 @@ public sealed partial class CP14VampireSystem : CP14SharedVampireSystem heart.NextRegenTime = _timing.CurTime + heart.RegenFrequency; - AddEssence((uid, heart), heart.EssenceRegenPerLevel * heart.Level); + AddEssence((uid, heart), heart.EssenceRegen); } } } diff --git a/Content.Shared/_CP14/IdentityRecognition/CP14SharedIdentityRecognitionSystem.cs b/Content.Shared/_CP14/IdentityRecognition/CP14SharedIdentityRecognitionSystem.cs index d72788c966..4157d6908e 100644 --- a/Content.Shared/_CP14/IdentityRecognition/CP14SharedIdentityRecognitionSystem.cs +++ b/Content.Shared/_CP14/IdentityRecognition/CP14SharedIdentityRecognitionSystem.cs @@ -1,9 +1,9 @@ using Content.Shared.Examine; using Content.Shared.Ghost; -using Content.Shared.IdentityManagement; using Content.Shared.IdentityManagement.Components; using Content.Shared.Mind; using Content.Shared.Mind.Components; +using Content.Shared.Popups; using Content.Shared.Verbs; using Robust.Shared.Player; using Robust.Shared.Serialization; @@ -15,7 +15,7 @@ public abstract class CP14SharedIdentityRecognitionSystem : EntitySystem { [Dependency] private readonly SharedUserInterfaceSystem _uiSystem = default!; [Dependency] private readonly SharedMindSystem _mind = default!; - [Dependency] private readonly SharedIdentitySystem _identity = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; public override void Initialize() { @@ -68,11 +68,17 @@ public abstract class CP14SharedIdentityRecognitionSystem : EntitySystem Priority = 2, Icon = new SpriteSpecifier.Texture(new ResPath("/Textures/Interface/VerbIcons/sentient.svg.192dpi.png")), Text = Loc.GetString("cp14-remember-name-verb"), - Disabled = seeAttemptEv.Cancelled, Act = () => { - _uiSystem.SetUiState(_args.User, CP14RememberNameUiKey.Key, new CP14RememberNameUiState(GetNetEntity(ent))); - _uiSystem.TryToggleUi(_args.User, CP14RememberNameUiKey.Key, actor.PlayerSession); + if (seeAttemptEv.Cancelled) + { + _popup.PopupClient(Loc.GetString("cp14-remember-fail-mask"), _args.Target, _args.User); + } + else + { + _uiSystem.SetUiState(_args.User, CP14RememberNameUiKey.Key, new CP14RememberNameUiState(GetNetEntity(ent))); + _uiSystem.TryToggleUi(_args.User, CP14RememberNameUiKey.Key, actor.PlayerSession); + } }, }; args.Verbs.Add(verb); diff --git a/Content.Shared/_CP14/MagicSpell/Spells/Vampire/CP14SpellPointerToVampireClan.cs b/Content.Shared/_CP14/MagicSpell/Spells/Vampire/CP14SpellPointerToVampireClan.cs index ffacc98e93..0f398cfb0d 100644 --- a/Content.Shared/_CP14/MagicSpell/Spells/Vampire/CP14SpellPointerToVampireClan.cs +++ b/Content.Shared/_CP14/MagicSpell/Spells/Vampire/CP14SpellPointerToVampireClan.cs @@ -63,5 +63,29 @@ public sealed partial class CP14SpellPointerToVampireClan : CP14SpellEffect transform.SetWorldRotation(pointer, angle + Angle.FromDegrees(90)); } + + var heartsInRange = lookup.GetEntitiesInRange(originEntPosition, SearchRange); + foreach (var heart in heartsInRange) + { + if (!Inversed) + { + if (heart.Comp.Faction != vampireComponent.Faction) + continue; + } + else + { + if (heart.Comp.Faction == vampireComponent.Faction) + continue; + } + + var targetPosition = transform.GetWorldPosition(heart); + + //Calculate the rotation + Angle angle = new(targetPosition - originPosition); + + var pointer = entManager.Spawn(PointerEntity, new MapCoordinates(originPosition, transform.GetMapId(originEntPosition))); + + transform.SetWorldRotation(pointer, angle + Angle.FromDegrees(90)); + } } } diff --git a/Content.Shared/_CP14/MagicSpell/Spells/Vampire/CP14SpellTeleportToVampireSingleton.cs b/Content.Shared/_CP14/MagicSpell/Spells/Vampire/CP14SpellTeleportToVampireSingleton.cs index 1264e452be..f882c895d3 100644 --- a/Content.Shared/_CP14/MagicSpell/Spells/Vampire/CP14SpellTeleportToVampireSingleton.cs +++ b/Content.Shared/_CP14/MagicSpell/Spells/Vampire/CP14SpellTeleportToVampireSingleton.cs @@ -44,8 +44,7 @@ public sealed partial class CP14SpellTeleportToVampireSingleton : CP14SpellEffec if (singleton.Key != indexedVampireFaction.SingletonTeleportKey) continue; - var randomOffset = new Vector2(random.Next(-1, 1), random.Next(-1, 1)); - var second = entManager.SpawnAtPosition(PortalProto, xform.Coordinates.Offset(randomOffset)); + var second = entManager.SpawnAtPosition(PortalProto, xform.Coordinates); linkSys.TryLink(first, second, true); return; diff --git a/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.cs b/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.cs index fce4231bfc..0ca015b968 100644 --- a/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.cs +++ b/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.cs @@ -54,7 +54,7 @@ public abstract partial class CP14SharedTradingPlatformSystem : EntitySystem var repComp = EnsureComp(args.User); repComp.Reputation.TryAdd(ent.Comp.Faction, 0); _audio.PlayLocal(new SoundCollectionSpecifier("CP14CoinImpact"), args.User, args.User); - _popup.PopupPredicted(Loc.GetString("cp14-trading-contract-use", ("name", Loc.GetString(indexedFaction.Name))), args.User, args.User); + _popup.PopupClient(Loc.GetString("cp14-trading-contract-use", ("name", Loc.GetString(indexedFaction.Name))), args.User, args.User); if (_net.IsServer) QueueDel(ent); diff --git a/Content.Shared/_CP14/Vampire/Components/CP14VampireClanHeartComponent.cs b/Content.Shared/_CP14/Vampire/Components/CP14VampireClanHeartComponent.cs index d5838daf6d..469dbbc693 100644 --- a/Content.Shared/_CP14/Vampire/Components/CP14VampireClanHeartComponent.cs +++ b/Content.Shared/_CP14/Vampire/Components/CP14VampireClanHeartComponent.cs @@ -32,7 +32,7 @@ public sealed partial class CP14VampireClanHeartComponent : Component public FixedPoint2 Level4 = 21f; [DataField] - public FixedPoint2 EssenceRegenPerLevel = 0.1f; + public FixedPoint2 EssenceRegen = 0.2f; [DataField] public TimeSpan RegenFrequency = TimeSpan.FromMinutes(1); diff --git a/Resources/Locale/en-US/_CP14/identity/identity_recognition.ftl b/Resources/Locale/en-US/_CP14/identity/identity_recognition.ftl index 6aea55ce4b..8cbce75a16 100644 --- a/Resources/Locale/en-US/_CP14/identity/identity_recognition.ftl +++ b/Resources/Locale/en-US/_CP14/identity/identity_recognition.ftl @@ -2,4 +2,5 @@ cp14-remember-name-verb = Remember name cp14-remember-name-name = Name -cp14-remember-name-examine = You remember this character as [color=yellow]{$name}[/color] \ No newline at end of file +cp14-remember-name-examine = You remember this character as [color=yellow]{$name}[/color] +cp14-remember-fail-mask = You cannot remember those who hide their faces. \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/objectives/condition/vampire.ftl b/Resources/Locale/en-US/_CP14/objectives/condition/vampire.ftl index 9372cbfdad..53085657f9 100644 --- a/Resources/Locale/en-US/_CP14/objectives/condition/vampire.ftl +++ b/Resources/Locale/en-US/_CP14/objectives/condition/vampire.ftl @@ -1,7 +1,7 @@ cp14-objective-issuer-vampire = [color="#c20034"]Vampire clan[/color] -cp14-objective-vampire-pure-bood-title = Expel foreign vampire clans -cp14-objective-vampire-pure-bood-desc = Intruders from other vampire clans are hiding among the residents. Eliminate them so that the settlement belongs only to you. +cp14-objective-vampire-pure-blood-title = Expel foreign vampire clans +cp14-objective-vampire-pure-blood-desc = Build your clan's heart to at least level 3, and don't let other clans do it. Only your clan's heart should exist! cp14-objective-vampire-defence-settlement-title = Keep your property cp14-objective-vampire-defence-settlement-desc = The inhabitants of this city are your property and your food. Don't let them die. At least {$count}% of the inhabitants must survive. \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/vampire/vampire.ftl b/Resources/Locale/en-US/_CP14/vampire/vampire.ftl index e5be138987..24718ff26f 100644 --- a/Resources/Locale/en-US/_CP14/vampire/vampire.ftl +++ b/Resources/Locale/en-US/_CP14/vampire/vampire.ftl @@ -25,6 +25,7 @@ cp14-vampire-gather-essence-no-left = Здесь больше нет эссен cp14-vampire-sender = Vampire instinct +cp14-vampire-tree-created = The heart of the “{$name}” clan has been created! cp14-vampire-tree-growing = "{$name}" clan heart grows to level {$level}! cp14-vampire-tree-growing-self = Your clan heart grows to level {$level}! cp14-vampire-tree-damaged = Your clan's heart has been attacked! diff --git a/Resources/Locale/ru-RU/_CP14/identity/identity_recognition.ftl b/Resources/Locale/ru-RU/_CP14/identity/identity_recognition.ftl index 05304de6af..72537049bd 100644 --- a/Resources/Locale/ru-RU/_CP14/identity/identity_recognition.ftl +++ b/Resources/Locale/ru-RU/_CP14/identity/identity_recognition.ftl @@ -2,4 +2,5 @@ cp14-remember-name-verb = Запомнить имя cp14-remember-name-name = Имя -cp14-remember-name-examine = Вы помните этого персонажа как [color=yellow]{$name}[/color] \ No newline at end of file +cp14-remember-name-examine = Вы помните этого персонажа как [color=yellow]{$name}[/color] +cp14-remember-fail-mask = Вы не можете запомнить тех, кто скрывает свое лицо. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/objectives/condition/vampire.ftl b/Resources/Locale/ru-RU/_CP14/objectives/condition/vampire.ftl index 5fcb653e09..e70d233934 100644 --- a/Resources/Locale/ru-RU/_CP14/objectives/condition/vampire.ftl +++ b/Resources/Locale/ru-RU/_CP14/objectives/condition/vampire.ftl @@ -1,7 +1,7 @@ cp14-objective-issuer-vampire = [color="#c20034"]Клан вампиров[/color] -cp14-objective-vampire-pure-bood-title = Изгнать чужие вампирские кланы -cp14-objective-vampire-pure-bood-desc = Чужаки из других вампирских кланов скрываются среди жителей. Уничтожьте их, чтобы поселение принадлежало только вам. +cp14-objective-vampire-pure-blood-title = Стать правителем этих земель +cp14-objective-vampire-pure-blood-desc = Постройте сердце своего клана минимум 3 уровня, и не позвольте это сделать другим кланам. Только сердце вашего клана должно существовать! cp14-objective-vampire-defence-settlement-title = Сохранить своё имущество cp14-objective-vampire-defence-settlement-desc = Жители этого города - ваше имущество и ваша еда. Не позвольте им умереть. Как минимум {$count}% жителей должны выжить. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/vampire/vampire.ftl b/Resources/Locale/ru-RU/_CP14/vampire/vampire.ftl index 87d0b085a8..c9cf3c1dd5 100644 --- a/Resources/Locale/ru-RU/_CP14/vampire/vampire.ftl +++ b/Resources/Locale/ru-RU/_CP14/vampire/vampire.ftl @@ -25,6 +25,7 @@ cp14-vampire-gather-essence-no-left = There is no more essence here! cp14-vampire-sender = Вампирское чутье +cp14-vampire-tree-created = Создано сердце клана "{$name}"! cp14-vampire-tree-growing = Сердце клана "{$name}" вырастает до {$level} уровня! cp14-vampire-tree-growing-self = Ваше сердце клана вырастает до {$level} уровня! cp14-vampire-tree-damaged = Ваше сердце клана атаковано! diff --git a/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml b/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml index 9a9a85c800..a4f1d87ded 100644 --- a/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml +++ b/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml @@ -5,6 +5,8 @@ components: - type: StorageFill contents: + - id: CP14WeaponDaggerSickle + amount: 2 - id: CP14HandLabeler - id: CP14Lighter - id: CP14ManaOperationGlove @@ -17,23 +19,16 @@ amount: 1 - id: CP14Dropper amount: 1 - - id: CP14VialTinyReinforced - amount: 1 - id: CP14VialTiny amount: 3 - - id: CP14VialSmallReinforced - amount: 1 - id: CP14VialSmall amount: 3 - - id: CP14VialSkullReinforced - prob: 0.3 - id: CP14VialSkull prob: 0.5 - id: CP14PaperFolderBlue - id: CP14PenFeather amount: 1 - id: CP14WoodenPlanks20 - #Random start resource - id: CP14VialMediumEarthEssence - id: CP14VialMediumFireEssence - id: CP14VialMediumWaterEssence @@ -106,16 +101,20 @@ components: - type: StorageFill contents: + - id: CP14WeaponFork + amount: 2 - id: CP14Fork amount: 2 - id: CP14Spoon amount: 2 + - id: CP14WeaponDaggerHatchet + amount: 2 - id: CP14FryingPan - id: CP14CookingPot - - id: CP14SackFarmingSeed - id: CP14PlateWooden amount: 2 - id: CP14BowlWooden amount: 2 - id: CP14BookTieflingGambit - id: CP14GuidebookCooking + - id: CP14SackFarmingSeedFull diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/air_saturation.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/air_saturation.yml index 6c82195acc..f28c7f83e6 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/air_saturation.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/air_saturation.yml @@ -18,7 +18,7 @@ - !type:HealthChange damage: types: - Asphyxiation: -2 + Asphyxiation: -5 - !type:Jitter - type: CP14MagicEffectCastingVisual proto: CP14RuneAirSaturation diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Meta/mana_splitting.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Meta/mana_splitting.yml index 167536727c..6a9b5d7ace 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Meta/mana_splitting.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Meta/mana_splitting.yml @@ -20,7 +20,7 @@ - !type:CP14SpellApplyEntityEffect effects: - !type:CP14ManaChange - manaDelta: -15 + manaDelta: -5 safe: false - type: CP14MagicEffectCastingVisual proto: CP14RuneMagicSplitting diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Vampire/search_vampire.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Vampire/search_vampire.yml index 5c4fa14a9e..c14d4a8caf 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Vampire/search_vampire.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Vampire/search_vampire.yml @@ -29,7 +29,7 @@ parent: CP14ActionSpellBloodConnection id: CP14ActionSpellBloodEnemySearch name: Blood identification - description: You are searching within a large radius for all vampires from other factions. + description: You are searching within a large radius for all vampires from other factions and their clan hearts. components: - type: CP14MagicEffect effects: diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/lurker.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/lurker.yml index 8c9b9b56b9..c2454e3097 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/lurker.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/lurker.yml @@ -81,8 +81,6 @@ - id: CP14ClothingMaskBoneHornedMask amount: 1 - type: FloorOcclusion - - type: Puller - needsHands: false - type: GhostTakeoverAvailable - type: TypingIndicator proto: alien diff --git a/Resources/Prototypes/_CP14/Skill/Vampire/vampire.yml b/Resources/Prototypes/_CP14/Skill/Vampire/vampire.yml index f56f6877bd..2dd6a8570d 100644 --- a/Resources/Prototypes/_CP14/Skill/Vampire/vampire.yml +++ b/Resources/Prototypes/_CP14/Skill/Vampire/vampire.yml @@ -238,7 +238,7 @@ - type: cp14Skill id: BloodEnemySearch - skillUiPosition: 10, 10 + skillUiPosition: 6, 10 learnCost: 1 tree: Vampire icon: @@ -251,7 +251,7 @@ - !type:NeedPrerequisite prerequisite: BloodConnection - !type:VampireClanLevel - level: 3 + level: 2 - type: cp14Skill id: PortalToVampireHome