Фиксы культа

This commit is contained in:
Aviu00
2024-01-28 07:24:34 +03:00
parent 0b5f9625ba
commit e81367d2d0
12 changed files with 42 additions and 62 deletions

View File

@@ -306,16 +306,14 @@ public sealed partial class CultSystem : EntitySystem
private void HandleCollision(EntityUid uid, CultRuneBaseComponent component, ref StartCollideEvent args) private void HandleCollision(EntityUid uid, CultRuneBaseComponent component, ref StartCollideEvent args)
{ {
if (!TryComp<SolutionContainerManagerComponent>(args.OtherEntity, out var solution)) if (!TryComp<SolutionContainerManagerComponent>(args.OtherEntity, out var solution) || solution.Solutions == null)
{ {
return; return;
} }
#pragma warning disable RA0002 if (solution.Solutions.TryGetValue("vapor", out var vapor) && vapor.Contents.Any(x => x.Reagent.Prototype == "HolyWater"))
if (solution.Solutions!.TryGetValue("vapor", out var vapor) && vapor.Contents.Any(x => x.Reagent.Prototype == "HolyWater"))
{ {
Del(uid); Del(uid);
} }
#pragma warning restore RA0002
} }
//Erasing end //Erasing end

View File

@@ -1,11 +0,0 @@
namespace Content.Server.White.Cult.Structures;
[RegisterComponent]
public sealed partial class RunicGirderComponent : Component
{
[ViewVariables(VVAccess.ReadOnly)]
public string UsedItemID = "RitualDagger";
[ViewVariables(VVAccess.ReadOnly)]
public string DropItemID = "CultRunicMetal1";
}

View File

@@ -1,30 +0,0 @@
using Content.Shared.Interaction;
using Content.Shared.White.Cult;
namespace Content.Server.White.Cult.Structures;
public sealed class RunicGirderSystem : EntitySystem
{
[Dependency] private readonly EntityManager _entMan = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<RunicGirderComponent, AfterInteractUsingEvent>(OnInteract);
}
private void OnInteract(EntityUid uid, RunicGirderComponent component, AfterInteractUsingEvent args)
{
if (!HasComp<CultistComponent>(args.User))
return;
if (MetaData(args.Used).EntityPrototype?.ID != component.UsedItemID)
return;
if (args.Target == null)
return;
var pos = Transform(args.Target.Value).Coordinates;
_entMan.DeleteEntity(args.Target.Value);
_entMan.SpawnEntity(component.DropItemID, pos);
}
}

View File

@@ -32,5 +32,7 @@ public sealed partial class SolutionContainerManagerComponent : Component
/// Should be null after mapinit. /// Should be null after mapinit.
/// </remarks> /// </remarks>
[DataField, AutoNetworkedField] [DataField, AutoNetworkedField]
[Access(typeof(SharedSolutionContainerSystem), Friend = AccessPermissions.ReadWriteExecute,
Other = AccessPermissions.ReadExecute)]
public Dictionary<string, Solution>? Solutions = null; public Dictionary<string, Solution>? Solutions = null;
} }

View File

@@ -37,6 +37,9 @@
interfaces: interfaces:
- key: enum.ListViewSelectorUiKey.Key - key: enum.ListViewSelectorUiKey.Key
type: ListViewSelectorBUI type: ListViewSelectorBUI
- type: Tool
qualities:
- Dagger
- type: entity - type: entity
name: eldritch blade name: eldritch blade

View File

@@ -198,11 +198,11 @@
thresholds: thresholds:
- trigger: - trigger:
!type:DamageTrigger !type:DamageTrigger
damage: 300 damage: 600
behaviors: behaviors:
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:
Girder: CultGirder:
min: 1 min: 1
max: 1 max: 1
- !type:DoActsBehavior - !type:DoActsBehavior
@@ -210,6 +210,9 @@
- type: IconSmooth - type: IconSmooth
key: walls key: walls
base: cult base: cult
- type: Construction
graph: CultGirder
node: wall
- type: entity - type: entity
parent: BaseWall parent: BaseWall

View File

@@ -30,6 +30,14 @@
type: HumanoidMarkingModifierBoundUserInterface type: HumanoidMarkingModifierBoundUserInterface
- key: enum.StrippingUiKey.Key - key: enum.StrippingUiKey.Key
type: StrippableBoundUserInterface type: StrippableBoundUserInterface
# WD-EDIT
- key: enum.NameSelectorUIKey.Key
type: NameSelectorBUI
- key: enum.RuneTeleporterUiKey.Key
type: TeleportRunesListWindowBUI
- key: enum.SummonCultistUiKey.Key
type: SummonCultistListWindowBUI
# WD-EDIT END
- type: Sprite - type: Sprite
scale: 0.9, 0.9 scale: 0.9, 0.9
layers: layers:

View File

@@ -1,4 +1,4 @@
- type: constructionGraph - type: constructionGraph
id: CultGirder id: CultGirder
start: start start: start
graph: graph:
@@ -24,8 +24,7 @@
conditions: conditions:
- !type:EntityAnchored - !type:EntityAnchored
steps: steps:
- tool: Screwing - tool: Dagger
doAfter: 2
- to: wall - to: wall
completed: completed:
- !type:SnapToGrid - !type:SnapToGrid
@@ -45,8 +44,7 @@
prototype: CultRunicMetal1 prototype: CultRunicMetal1
amount: 1 amount: 1
steps: steps:
- tool: Welding - tool: Dagger
doAfter: 10
- type: constructionGraph - type: constructionGraph
id: AirlockGlassCult id: AirlockGlassCult

View File

@@ -35,6 +35,16 @@
sprite: Clothing/Eyes/Misc/blindfold.rsi sprite: Clothing/Eyes/Misc/blindfold.rsi
- type: FlashImmunity - type: FlashImmunity
- type: EyeProtection - type: EyeProtection
- type: ClothingGrantComponent
component:
- type: NightVision
color: White
- type: ShowWhiteHealthBars
damageContainers:
- Biological
- type: ShowHealthIcons
damageContainers:
- Biological
- type: entity - type: entity
name: veil shifter name: veil shifter
@@ -148,7 +158,6 @@
- runic - runic
- runic_2 - runic_2
- runic_3 - runic_3
sizeMultiplier: 0.17
- type: Appearance - type: Appearance
- type: RunicMetal - type: RunicMetal
- type: UserInterface - type: UserInterface
@@ -156,6 +165,7 @@
- key: enum.CultStructureCraftUiKey.Key - key: enum.CultStructureCraftUiKey.Key
type: StructureCraftBoundUserInterface type: StructureCraftBoundUserInterface
- type: Item - type: Item
size: Normal
- type: entity - type: entity
parent: CultRunicMetal parent: CultRunicMetal
@@ -166,9 +176,6 @@
state: runic state: runic
- type: Stack - type: Stack
count: 1 count: 1
sizeMultiplier: 0.17
- type: Item
size: 1
- type: entity - type: entity
parent: CultRunicMetal parent: CultRunicMetal
@@ -179,6 +186,3 @@
state: runic state: runic
- type: Stack - type: Stack
count: 20 count: 20
sizeMultiplier: 0.17
- type: Item
size: 3

View File

@@ -89,4 +89,3 @@
- type: Construction - type: Construction
graph: CultGirder graph: CultGirder
node: girder node: girder
- type: RunicGirder

View File

@@ -1,4 +1,4 @@
- type: entity - type: entity
id: WetStone id: WetStone
parent: BaseItem parent: BaseItem
name: wet stone name: wet stone
@@ -11,7 +11,7 @@
size: 1 size: 1
state: sharpener state: sharpener
- type: Item - type: Item
size: 10 size: Small
sprite: White/Items/Misc/wetstone.rsi sprite: White/Items/Misc/wetstone.rsi
- type: entity - type: entity

View File

@@ -0,0 +1,6 @@
- type: tool
id: Dagger
name: ritual dagger
toolName: ritual dagger
spawn: RitualDagger
icon: { sprite: Objects/Weapons/Melee/cult_dagger.rsi, state: icon }