Алебарда для божеств, фиксы и биокод для встроеных энергощитов. Фиксы культа крови.

This commit is contained in:
Vigers Ray 2025-06-19 02:17:25 +03:00
parent dc6a74f5a2
commit fe1925703a
38 changed files with 253 additions and 34 deletions

View file

@ -2,6 +2,7 @@ using Content.Server.DeviceLinking.Systems;
using Content.Server.Power.Components;
using Content.Server.Power.EntitySystems;
using Content.Server.PowerCell;
using Content.Shared._Sunrise.Biocode;
using Content.Shared.Actions;
using Content.Shared.Damage;
using Content.Shared.DeviceLinking.Events;
@ -14,6 +15,7 @@ using Content.Shared.Timing;
using Content.Shared.Toggleable;
using Content.Shared.Verbs;
using Content.Shared.EnergyDome;
using Robust.Server.Containers;
using Robust.Shared.Audio.Systems;
using Robust.Shared.Containers;
@ -29,6 +31,8 @@ public sealed partial class EnergyDomeSystem : EntitySystem
[Dependency] private readonly SharedPopupSystem _popup = default!;
[Dependency] private readonly PowerCellSystem _powerCell = default!;
[Dependency] private readonly DeviceLinkSystem _signalSystem = default!;
[Dependency] private readonly ContainerSystem _containerSystem = default!;
[Dependency] private readonly BiocodeSystem _biocodeSystem = default!;
public override void Initialize()
{
@ -95,6 +99,17 @@ public sealed partial class EnergyDomeSystem : EntitySystem
private void OnActivatedInWorld(Entity<EnergyDomeGeneratorComponent> generator, ref ActivateInWorldEvent args)
{
// Sunrise-Start
if (!_containerSystem.ContainsEntity(args.User, generator.Owner))
return;
if (TryComp<BiocodeComponent>(generator.Owner, out var biocodedComponent))
{
if (!_biocodeSystem.CanUse(args.User, biocodedComponent.Factions))
return;
}
// Sunrise-End
if (generator.Comp.CanInteractUse)
AttemptToggle(generator, !generator.Comp.Enabled);
}
@ -113,6 +128,17 @@ public sealed partial class EnergyDomeSystem : EntitySystem
if (!args.CanAccess || !args.CanInteract || !generator.Comp.CanInteractUse)
return;
// Sunrise-Start
if (!_containerSystem.ContainsEntity(args.User, generator.Owner))
return;
if (TryComp<BiocodeComponent>(generator.Owner, out var biocodedComponent))
{
if (!_biocodeSystem.CanUse(args.User, biocodedComponent.Factions))
return;
}
// Sunrise-End
var @event = args;
ActivationVerb verb = new()
{
@ -133,6 +159,17 @@ public sealed partial class EnergyDomeSystem : EntitySystem
if (args.Handled)
return;
// Sunrise-Start
if (!_containerSystem.ContainsEntity(args.Performer, generator.Owner))
return;
if (TryComp<BiocodeComponent>(generator.Owner, out var biocodedComponent))
{
if (!_biocodeSystem.CanUse(args.Performer, biocodedComponent.Factions))
return;
}
// Sunrise-End
AttemptToggle(generator, !generator.Comp.Enabled);
args.Handled = true;

View file

@ -304,7 +304,7 @@ namespace Content.Server._Sunrise.BloodCult.Runes.Systems
var armor = Spawn(ArmorPrototypeId, coordinates);
var shoes = Spawn(ShoesPrototypeId, coordinates);
var bola = Spawn(BolaPrototypeId, coordinates);
var blade = Spawn(cultPrototype.CultBladeProto, coordinates);
var blade = Spawn(cultPrototype.BladeProto, coordinates);
_inventorySystem.TryUnequip(args.Target, "head");
_inventorySystem.TryUnequip(args.Target, "outerClothing");
@ -498,7 +498,7 @@ namespace Content.Server._Sunrise.BloodCult.Runes.Systems
return;
var xform = Transform(args.Performer).Coordinates;
var dagger = _entityManager.SpawnEntity(cultPrototype.RitualDaggerProto, xform);
var dagger = _entityManager.SpawnEntity(cultPrototype.DaggerProto, xform);
_bloodstreamSystem.TryModifyBloodLevel(args.Performer, -30, bloodstreamComponent);
_handsSystem.TryPickupAnyHand(args.Performer, dagger);

View file

@ -12,10 +12,13 @@ public sealed class BloodCultPrototype : IPrototype
public BloodCultType? CultType;
[DataField(required: true)]
public EntProtoId RitualDaggerProto;
public EntProtoId DaggerProto;
[DataField(required: true)]
public EntProtoId CultBladeProto;
public EntProtoId BladeProto;
[DataField(required: true)]
public EntProtoId HalberdProto;
[DataField(required: true)]
public EntProtoId GodProto;

View file

@ -18032,3 +18032,45 @@
type: Fix
id: 1220
time: '2025-06-18T20:38:55.241684+00:00'
- author: VigersRay
changes:
- message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u043E\u0442\u0434\
\u0435\u043B\u044C\u043D\u044B\u0435 \u0441\u043F\u0440\u0430\u0439\u0442\u044B\
\ \u0430\u043B\u0435\u0431\u0430\u0440\u0434\u044B \u043A\u0443\u043B\u044C\u0442\
\u0430 \u043A\u0440\u043E\u0432\u0438 \u043A\u0430\u0436\u0434\u043E\u043C\u0443\
\ \u0431\u043E\u0436\u0435\u0441\u0442\u0432\u0443."
type: Add
- message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u0441\u043E\
\u0437\u0434\u0430\u043D\u0438\u0435 \u043A\u0443\u0437\u043D\u0438\u0446\u044B\
\ \u043A\u0443\u043B\u044C\u0442\u0430 \u043A\u0440\u043E\u0432\u0438."
type: Fix
- message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u0430\u043A\
\u0442\u0438\u0432\u0430\u0446\u0438\u044F \u0432\u0441\u0440\u043E\u0435\u043D\
\u044B\u0445 \u0449\u0438\u0442\u043E\u0432 \u0432 \u043F\u0440\u0435\u0434\u043C\
\u0435\u0442\u044B (\u0431\u0440\u043E\u043D\u044F \u0430\u043A\u043E\u043B\u0438\
\u0442\u0430, \u043F\u043E\u044F\u0441\u043D\u043E\u0439 \u0449\u0438\u0442\
)."
type: Fix
- message: "\u0412\u0441\u0442\u0440\u043E\u0435\u043D\u044B\u0435 \u0449\u0438\u0442\
\u044B \u0442\u0435\u043F\u0435\u0440\u044C \u043C\u043E\u0436\u043D\u043E \u0430\
\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u043E\
\u043B\u044C\u043A\u043E \u0435\u0441\u043B\u0438 \u043E\u043D\u0438 \u043D\u0430\
\u0434\u0435\u0442\u044B."
type: Tweak
- message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D \u0431\u0438\u043E\
\u043A\u043E\u0434 \u043F\u0435\u0440\u0435\u043D\u043E\u0441\u043D\u044B\u0445\
\ \u0449\u0438\u0442\u043E\u0432, \u0442\u0435\u043F\u0435\u0440\u044C \u0438\
\u0445 \u043D\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u043D\u0435\u043B\u044C\
\u0437\u044F \u043E\u0434\u0435\u0442\u044C, \u043D\u043E \u0438 \u0430\u043A\
\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432 \u0440\u0443\
\u043A\u0430\u0445."
type: Fix
- message: "\u0411\u0440\u043E\u043D\u044F \u043A\u0443\u043B\u044C\u0442\u0430\
\ \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u043C\u043E\u0436\u043D\u043E\
\ \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043F\u043E\u0441\u043B\u0435\
\ \u0435\u043C\u0430\u0433\u0430 \u0431\u043E\u0433\u043E\u043C\u0430\u0442\u0430\
\ \u043D\u0435 \u0438\u043C\u0435\u0435\u0442 \u0432\u0441\u0442\u0440\u043E\
\u0435\u043D\u043E\u0433\u043E \u0449\u0438\u0442\u0430."
type: Fix
id: 1221
time: '2025-06-18T23:16:32.416364+00:00'

View file

@ -86,7 +86,7 @@
- type: Action
icon: { sprite: Objects/Weapons/Melee/e_shield.rsi, state: eshield-on }
- type: InstantAction
event: !type:ScreamActionEvent
event: !type:ToggleActionEvent
- type: entity
parent: BaseAction

View file

@ -354,19 +354,6 @@
tags:
- FullBodyOuter
- WhitelistChameleon
- type: Battery
maxCharge: 40
startingCharge: 40
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 40
autoRechargePause: true
autoRechargePauseTime: 9
- type: EnergyDomeGenerator
damageEnergyDraw: 1
domePrototype: EnergyDomeCult
- type: UseDelay
delay: 10.0
# Sunrise-End
- type: entity

View file

@ -210,7 +210,7 @@
graph:
- node: start
edges:
- to: hell_forge
- to: narbee_forge
completed:
- !type:SnapToGrid
southRotation: true
@ -218,7 +218,7 @@
- material: RunicMetalSheets
amount: 3
doAfter: 1
- node: hell_forge
- node: narbee_forge
entity: NarbeeCultForge
- type: constructionGraph

View file

@ -444,7 +444,7 @@
cultistFactoryProduction-MirrorShield:
- CultMirrorShield
cultistFactoryProduction-Halberd:
- TrueHalberd
- NarsieHalberd
- type: entity
id: NarbeeCultForge
@ -460,7 +460,7 @@
stateOn: hell_forge
- type: Construction
graph: NarbeeCultForge
node: hell_forge
node: narbee_forge
- type: CultistFactory
products:
cultistFactoryProduction-EldritchBlade:
@ -472,7 +472,7 @@
cultistFactoryProduction-MirrorShield:
- CultMirrorShield
cultistFactoryProduction-Halberd:
- TrueHalberd
- NarbeeHalberd
- type: entity
id: ReaperCultForge
@ -500,7 +500,7 @@
cultistFactoryProduction-MirrorShield:
- CultMirrorShield
cultistFactoryProduction-Halberd:
- TrueHalberd
- ReaperHalberd
- type: cultStructure
id: CultStructureNarsieAltarTome

View file

@ -11,6 +11,24 @@
parent: ClothingOuterArmorCult
name: armored mantle
description: At first glance, it seems that this is a simple robe, but it has elements of armor on it.
components:
- type: Battery
maxCharge: 50
startingCharge: 50
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 50
autoRechargePause: true
autoRechargePauseTime: 9
- type: EnergyDomeGenerator
damageEnergyDraw: 1
domePrototype: EnergyDomeCult
- type: UseDelay
delay: 10.0
# Нихуя технологии у культистов да?
- type: Biocode
factions:
- BloodCult
- type: entity
id: CultMirrorShield

View file

@ -113,7 +113,7 @@
sprite: Objects/Weapons/Melee/cult_halberd.rsi
quickEquip: false
slots:
- back
- Back
- suitStorage
- type: UseDelay
delay: 1
@ -137,7 +137,7 @@
- type: Item
size: Ginormous
- type: Sprite
sprite: _Sunrise/BloodCult/blood_spear.rsi
sprite: _Sunrise/BloodCult/Entities/blood_spear.rsi
state: icon
- type: ThrowingAngle
angle: 225
@ -292,3 +292,39 @@
state: hell_blade
- type: Item
heldPrefix: hell_blade
- type: entity
parent: TrueHalberd
id: NarsieHalberd
components:
- type: Sprite
sprite: Objects/Weapons/Melee/cult_halberd.rsi
state: icon
- type: entity
parent: TrueHalberd
id: ReaperHalberd
components:
- type: Sprite
sprite: _Sunrise/BloodCult/Entities/reaper_halberd.rsi
state: icon
- type: Clothing
sprite: _Sunrise/BloodCult/Entities/reaper_halberd.rsi
quickEquip: false
slots:
- Back
- suitStorage
- type: entity
parent: TrueHalberd
id: NarbeeHalberd
components:
- type: Sprite
sprite: _Sunrise/BloodCult/Entities/narbee_halberd.rsi
state: icon
- type: Clothing
sprite: _Sunrise/BloodCult/Entities/narbee_halberd.rsi
quickEquip: false
slots:
- Back
- suitStorage

View file

@ -1,8 +1,9 @@
- type: bloodCult
id: NarsieCult
cultType: Narsie
ritualDaggerProto: NarsieRitualDagger
cultBladeProto: NarsieEldritchBlade
daggerProto: NarsieRitualDagger
bladeProto: NarsieEldritchBlade
halberdProto: NarsieHalberd
godProto: Narsie
startingItems:
- NarsieRitualDagger
@ -11,8 +12,9 @@
- type: bloodCult
id: NarbeeCult
cultType: Narbee
ritualDaggerProto: NarbeeRitualDagger
cultBladeProto: NarbeeEldritchBlade
daggerProto: NarbeeRitualDagger
bladeProto: NarbeeEldritchBlade
halberdProto: NarbeeHalberd
godProto: Narbee
startingItems:
- NarbeeRitualDagger
@ -21,8 +23,9 @@
- type: bloodCult
id: ReaperCult
cultType: Reaper
ritualDaggerProto: ReaperRitualDagger
cultBladeProto: ReaperEldritchBlade
daggerProto: ReaperRitualDagger
bladeProto: ReaperEldritchBlade
halberdProto: ReaperHalberd
godProto: Reaper
startingItems:
- ReaperRitualDagger

View file

@ -3,6 +3,9 @@
id: EnergyDomeGeneratorBackpackSyndieBiocode
suffix: BIOCODE
components:
- type: Biocode
factions:
- Syndicate
- type: FactionClothingBlocker
factions:
- Syndicate
@ -14,6 +17,9 @@
id: EnergyDomeGeneratorPersonalSyndieBiocode
suffix: BIOCODE
components:
- type: Biocode
factions:
- Syndicate
- type: FactionClothingBlocker
factions:
- Syndicate

View file

@ -36,6 +36,9 @@
useRate: 0
- type: UseDelay
delay: 10.0
- type: Biocode
factions:
- Syndicate
- type: entity
name: BR-50c "Bastion"
@ -66,7 +69,7 @@
startingItem: PowerCellNanoTrasen
whitelist:
tags:
- PowerCell
- PowerCell
- type: EnergyDomeGenerator
damageEnergyDraw: 3
domePrototype: EnergyDomeMediumBlue
@ -104,7 +107,7 @@
startingItem: PowerCellNanoTrasen
whitelist:
tags:
- PowerCell
- PowerCell
- type: EnergyDomeGenerator
damageEnergyDraw: 5
domePrototype: EnergyDomeSmallBlue

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

View file

@ -25,6 +25,14 @@
{
"name": "wielded-inhand-right",
"directions": 4
},
{
"name": "equipped-BACKPACK",
"directions": 4
},
{
"name": "equipped-SUITSTORAGE",
"directions": 4
}
]
}

View file

Before

Width:  |  Height:  |  Size: 441 B

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 543 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 607 B

View file

@ -0,0 +1,38 @@
{
"version": 1,
"license": "CLA",
"copyright": "Created by github:ladm202",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "wielded-inhand-left",
"directions": 4
},
{
"name": "wielded-inhand-right",
"directions": 4
},
{
"name": "equipped-BACKPACK",
"directions": 4
},
{
"name": "equipped-SUITSTORAGE",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 625 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -0,0 +1,38 @@
{
"version": 1,
"license": "CLA",
"copyright": "Created by github:ladm202",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "wielded-inhand-left",
"directions": 4
},
{
"name": "wielded-inhand-right",
"directions": 4
},
{
"name": "equipped-BACKPACK",
"directions": 4
},
{
"name": "equipped-SUITSTORAGE",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B