Новые смешные эффекты для артефактов с Fire Station (#2135)
Co-authored-by: Vigers Ray <60344369+VigersRay@users.noreply.github.com>
This commit is contained in:
parent
f80d933fd7
commit
f23628a833
58 changed files with 1508 additions and 82 deletions
|
|
@ -3,6 +3,7 @@ using Content.Server.AbstractAnalyzer;
|
|||
using Content.Server.Body.Components;
|
||||
using Content.Server.Medical.Components;
|
||||
using Content.Server.Temperature.Components;
|
||||
using Content.Shared._Sunrise.Research.Artifact;
|
||||
using Content.Shared.Traits.Assorted;
|
||||
using Content.Shared.Chemistry.EntitySystems;
|
||||
using Content.Shared.Damage;
|
||||
|
|
@ -58,6 +59,10 @@ public sealed class HealthAnalyzerSystem : AbstractAnalyzerSystem<HealthAnalyzer
|
|||
if (TryComp<UnrevivableComponent>(target, out var unrevivableComp) && unrevivableComp.Analyzable)
|
||||
unrevivable = true;
|
||||
|
||||
// Sunrise edit start - новый триггер
|
||||
RaiseLocalEvent(target, new EntityAnalyzedEvent ());
|
||||
// Sunrise edit end
|
||||
|
||||
_uiSystem.ServerSendUiMessage(healthAnalyzer, HealthAnalyzerUiKey.Key, new HealthAnalyzerScannedUserMessage(
|
||||
GetNetEntity(target),
|
||||
bodyTemperature,
|
||||
|
|
|
|||
127
Content.Server/_Sunrise/Helpers/SunriseHelpersSystem.cs
Normal file
127
Content.Server/_Sunrise/Helpers/SunriseHelpersSystem.cs
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Linq;
|
||||
using Content.Server.Atmos.EntitySystems;
|
||||
using Content.Server.Station.Components;
|
||||
using Content.Shared._Sunrise.Helpers;
|
||||
using Content.Shared.Random.Helpers;
|
||||
using Robust.Server.GameObjects;
|
||||
using Robust.Shared.Collections;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Map.Components;
|
||||
using Robust.Shared.Random;
|
||||
|
||||
namespace Content.Server._Sunrise.Helpers;
|
||||
|
||||
/// <summary>
|
||||
/// Система-набор хелпер методов
|
||||
/// </summary>
|
||||
public sealed partial class SunriseHelpersSystem : SharedSunriseHelpersSystem
|
||||
{
|
||||
[Dependency] private readonly AtmosphereSystem _atmosphere = default!;
|
||||
[Dependency] private readonly MapSystem _map = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
|
||||
#region Private
|
||||
|
||||
private bool TryGetRandomStation([NotNullWhen(true)] out EntityUid? station, Func<EntityUid, bool>? filter = null)
|
||||
{
|
||||
var stations = new ValueList<EntityUid>(Count<StationEventEligibleComponent>());
|
||||
|
||||
filter ??= _ => true;
|
||||
var query = AllEntityQuery<StationEventEligibleComponent>();
|
||||
|
||||
while (query.MoveNext(out var uid, out _))
|
||||
{
|
||||
if (!filter(uid))
|
||||
continue;
|
||||
|
||||
stations.Add(uid);
|
||||
}
|
||||
|
||||
if (stations.Count == 0)
|
||||
{
|
||||
station = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
station = stations[_random.Next(stations.Count)];
|
||||
return true;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Tile
|
||||
|
||||
public bool TryFindRandomTile(out Vector2i tile,
|
||||
[NotNullWhen(true)] out EntityUid? targetStation,
|
||||
out EntityUid targetGrid,
|
||||
out EntityCoordinates targetCoords)
|
||||
{
|
||||
tile = default;
|
||||
targetStation = EntityUid.Invalid;
|
||||
targetGrid = EntityUid.Invalid;
|
||||
targetCoords = EntityCoordinates.Invalid;
|
||||
if (TryGetRandomStation(out targetStation))
|
||||
{
|
||||
return TryFindRandomTileOnStation((targetStation.Value, Comp<StationDataComponent>(targetStation.Value)),
|
||||
out tile,
|
||||
out targetGrid,
|
||||
out targetCoords);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool TryFindRandomTileOnStation(Entity<StationDataComponent> station,
|
||||
out Vector2i tile,
|
||||
out EntityUid targetGrid,
|
||||
out EntityCoordinates targetCoords)
|
||||
{
|
||||
tile = default;
|
||||
targetCoords = EntityCoordinates.Invalid;
|
||||
targetGrid = EntityUid.Invalid;
|
||||
|
||||
var weights = new Dictionary<Entity<MapGridComponent>, float>();
|
||||
foreach (var possibleTarget in station.Comp.Grids)
|
||||
{
|
||||
if (!TryComp<MapGridComponent>(possibleTarget, out var comp))
|
||||
continue;
|
||||
|
||||
weights.Add((possibleTarget, comp), _map.GetAllTiles(possibleTarget, comp).Count());
|
||||
}
|
||||
|
||||
if (weights.Count == 0)
|
||||
{
|
||||
targetGrid = EntityUid.Invalid;
|
||||
return false;
|
||||
}
|
||||
|
||||
(targetGrid, var gridComp) = _random.Pick(weights);
|
||||
|
||||
var found = false;
|
||||
var aabb = gridComp.LocalAABB;
|
||||
|
||||
for (var i = 0; i < 10; i++)
|
||||
{
|
||||
var randomX = _random.Next((int) aabb.Left, (int) aabb.Right);
|
||||
var randomY = _random.Next((int) aabb.Bottom, (int) aabb.Top);
|
||||
|
||||
tile = new Vector2i(randomX, randomY);
|
||||
if (_atmosphere.IsTileSpace(targetGrid, Transform(targetGrid).MapUid, tile)
|
||||
|| _atmosphere.IsTileAirBlocked(targetGrid, tile, mapGridComp: gridComp)
|
||||
|| !_map.TryGetTileRef(targetGrid, gridComp, tile, out var tileRef)
|
||||
|| tileRef.Tile.IsEmpty)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
found = true;
|
||||
targetCoords = _map.GridTileToLocal(targetGrid, gridComp, tile);
|
||||
break;
|
||||
}
|
||||
|
||||
return found;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
using Content.Server.Speech;
|
||||
using Robust.Shared.Random;
|
||||
|
||||
namespace Content.Server._Sunrise.Misc.ShiftedAsciiTableAccent;
|
||||
|
||||
public sealed class AnomalyAccentSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
|
||||
// Значения сдвига по юникоду
|
||||
private const int ShiftMin = 5;
|
||||
private const int ShiftMax = 200;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
SubscribeLocalEvent<AnomalyAccentComponent, AccentGetEvent>(OnAccent);
|
||||
}
|
||||
|
||||
private void OnAccent(Entity<AnomalyAccentComponent> ent, ref AccentGetEvent args)
|
||||
{
|
||||
args.Message = Accentuate(args.Message);
|
||||
}
|
||||
|
||||
private string Accentuate(string message)
|
||||
{
|
||||
var speechArray = message.ToCharArray();
|
||||
|
||||
for (var i = 0; i < speechArray.Length; i++)
|
||||
{
|
||||
if (!_random.Prob(0.5f))
|
||||
continue;
|
||||
|
||||
// Сдвиг символа по алфавиту юникода
|
||||
speechArray[i] = (char)(speechArray[i] + _random.Next(ShiftMin, ShiftMax));
|
||||
}
|
||||
|
||||
return new string(speechArray);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
namespace Content.Server._Sunrise.Misc.ShiftedAsciiTableAccent;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed partial class AnomalyAccentComponent : Component;
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Server._Sunrise.Misc.TimedRemoveComponents;
|
||||
|
||||
/// <summary>
|
||||
/// Компонент, который автоматически убирает переданные компоненты через переданное время
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
public sealed partial class TimedRemoveComponentsComponent : Component
|
||||
{
|
||||
[DataField(required: true)]
|
||||
public ComponentRegistry Components = default!;
|
||||
|
||||
[DataField]
|
||||
public TimeSpan RemoveAfter = TimeSpan.FromSeconds(5);
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
using System.Threading;
|
||||
using Content.Shared.GameTicking;
|
||||
using Timer = Robust.Shared.Timing.Timer;
|
||||
|
||||
namespace Content.Server._Sunrise.Misc.TimedRemoveComponents;
|
||||
|
||||
public sealed class TimedRemoveComponentsSystem : EntitySystem
|
||||
{
|
||||
private static CancellationTokenSource _timerDespawnToken = new ();
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<TimedRemoveComponentsComponent, ComponentInit>(OnInit);
|
||||
|
||||
SubscribeLocalEvent<RoundRestartCleanupEvent>(_ => Clear());
|
||||
}
|
||||
|
||||
private void OnInit(Entity<TimedRemoveComponentsComponent> ent, ref ComponentInit args)
|
||||
{
|
||||
Timer.Spawn(ent.Comp.RemoveAfter, () => RemoveComponents(ent), _timerDespawnToken.Token);
|
||||
}
|
||||
|
||||
private void RemoveComponents(Entity<TimedRemoveComponentsComponent> ent)
|
||||
{
|
||||
if (!Exists(ent))
|
||||
return;
|
||||
|
||||
EntityManager.RemoveComponents(ent, ent.Comp.Components);
|
||||
|
||||
// блять, я себя захуярил
|
||||
RemComp<TimedRemoveComponentsComponent>(ent);
|
||||
}
|
||||
|
||||
private static void Clear()
|
||||
{
|
||||
_timerDespawnToken.Cancel();
|
||||
_timerDespawnToken = new();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
using Content.Shared.Examine;
|
||||
using Content.Shared.Whitelist;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Server._Sunrise.Research.Artifact.Effects.AddComponentsInRadius;
|
||||
|
||||
/// <summary>
|
||||
/// Добавляет всем подходящим под вайтлист сущностням в переданном радиусе переданные компоненты
|
||||
/// Если вайтлист пуст, то добавляет компоненты ВСЕМ СУЩНОСТЯМ ВОКРУГ
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
public sealed partial class AddComponentsInRadiusComponent : Component
|
||||
{
|
||||
[DataField(required: true)]
|
||||
public ComponentRegistry Components = default!;
|
||||
|
||||
[DataField, ViewVariables]
|
||||
public float Radius = ExamineSystemShared.ExamineRange;
|
||||
|
||||
[DataField]
|
||||
public EntityWhitelist? Whitelist;
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
using System.Linq;
|
||||
using Content.Shared.Whitelist;
|
||||
using Content.Shared.Xenoarchaeology.Artifact;
|
||||
using Content.Shared.Xenoarchaeology.Artifact.XAE;
|
||||
|
||||
namespace Content.Server._Sunrise.Research.Artifact.Effects.AddComponentsInRadius;
|
||||
|
||||
public sealed class AddComponentsInRadiusSystem : BaseXAESystem<AddComponentsInRadiusComponent>
|
||||
{
|
||||
[Dependency] private readonly EntityWhitelistSystem _whitelist = default!;
|
||||
[Dependency] private readonly EntityLookupSystem _lookup = default!;
|
||||
|
||||
protected override void OnActivated(Entity<AddComponentsInRadiusComponent> ent, ref XenoArtifactNodeActivatedEvent args)
|
||||
{
|
||||
var coords = Transform(ent).Coordinates;
|
||||
var targets = _lookup.GetEntitiesInRange<TransformComponent>(coords, ent.Comp.Radius)
|
||||
.Where(e => _whitelist.IsWhitelistPassOrNull(ent.Comp.Whitelist, e));
|
||||
|
||||
foreach (var target in targets)
|
||||
{
|
||||
EntityManager.AddComponents(target, ent.Comp.Components, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
namespace Content.Server._Sunrise.Research.Artifact.Effects.BoltAirlocks;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed partial class ArtifactBoltAirlocksComponent : Component
|
||||
{
|
||||
[DataField] public float Range = 12f;
|
||||
[DataField] public float Chance = 70f;
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
using Content.Server._Sunrise.Helpers;
|
||||
using Content.Server.Doors.Systems;
|
||||
using Content.Shared.Doors.Components;
|
||||
using Content.Shared.Xenoarchaeology.Artifact;
|
||||
using Content.Shared.Xenoarchaeology.Artifact.XAE;
|
||||
|
||||
namespace Content.Server._Sunrise.Research.Artifact.Effects.BoltAirlocks;
|
||||
|
||||
public sealed class ArtifactBoltAirlocksSystem : BaseXAESystem<ArtifactBoltAirlocksComponent>
|
||||
{
|
||||
[Dependency] private readonly DoorSystem _door = default!;
|
||||
[Dependency] private readonly EntityLookupSystem _lookup = default!;
|
||||
[Dependency] private readonly SunriseHelpersSystem _sunriseHelpers = default!;
|
||||
|
||||
protected override void OnActivated(Entity<ArtifactBoltAirlocksComponent> ent, ref XenoArtifactNodeActivatedEvent args)
|
||||
{
|
||||
var coords = Transform(ent).Coordinates;
|
||||
var doors = _lookup.GetEntitiesInRange<DoorBoltComponent>(coords, ent.Comp.Range, LookupFlags.Static);
|
||||
var reducedDoors = _sunriseHelpers.GetPercentageOfHashSet(doors, ent.Comp.Chance);
|
||||
|
||||
foreach (var door in reducedDoors)
|
||||
{
|
||||
_door.SetBoltsDown(door, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
namespace Content.Server._Sunrise.Research.Artifact.Effects.ModifyHunger;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed partial class ArtifactModifyHungerComponent : Component
|
||||
{
|
||||
[DataField] public float Range = 12f;
|
||||
[DataField] public float Amount = 40f;
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
using Content.Shared.Nutrition.Components;
|
||||
using Content.Shared.Nutrition.EntitySystems;
|
||||
using Content.Shared.Xenoarchaeology.Artifact;
|
||||
using Content.Shared.Xenoarchaeology.Artifact.XAE;
|
||||
using Robust.Shared.Random;
|
||||
|
||||
namespace Content.Server._Sunrise.Research.Artifact.Effects.ModifyHunger;
|
||||
|
||||
public sealed class ArtifactModifyHungerSystem : BaseXAESystem<ArtifactModifyHungerComponent>
|
||||
{
|
||||
[Dependency] private readonly EntityLookupSystem _lookup = default!;
|
||||
[Dependency] private readonly HungerSystem _hunger = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
|
||||
protected override void OnActivated(Entity<ArtifactModifyHungerComponent> ent, ref XenoArtifactNodeActivatedEvent args)
|
||||
{
|
||||
var humans = _lookup.GetEntitiesInRange<HungerComponent>(Transform(ent).Coordinates, ent.Comp.Range);
|
||||
|
||||
foreach (var uid in humans)
|
||||
{
|
||||
var modifier = _random.NextFloat(-1f, 1f);
|
||||
_hunger.ModifyHunger(uid, modifier * ent.Comp.Amount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
namespace Content.Server._Sunrise.Research.Artifact.Effects.ModifyThirst;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed partial class ArtifactModifyThirstComponent : Component
|
||||
{
|
||||
[DataField] public float Range = 12f;
|
||||
[DataField] public float Amount = 40f;
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
using Content.Shared.Nutrition.Components;
|
||||
using Content.Shared.Nutrition.EntitySystems;
|
||||
using Content.Shared.Xenoarchaeology.Artifact;
|
||||
using Content.Shared.Xenoarchaeology.Artifact.XAE;
|
||||
using Robust.Shared.Random;
|
||||
|
||||
namespace Content.Server._Sunrise.Research.Artifact.Effects.ModifyThirst;
|
||||
|
||||
public sealed class ArtifactModifyThirstSystem : BaseXAESystem<ArtifactModifyThirstComponent>
|
||||
{
|
||||
[Dependency] private readonly EntityLookupSystem _lookup = default!;
|
||||
[Dependency] private readonly ThirstSystem _thirst = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
|
||||
protected override void OnActivated(Entity<ArtifactModifyThirstComponent> ent, ref XenoArtifactNodeActivatedEvent args)
|
||||
{
|
||||
var humans = _lookup.GetEntitiesInRange<ThirstComponent>(Transform(ent).Coordinates, ent.Comp.Range);
|
||||
|
||||
foreach (var uid in humans)
|
||||
{
|
||||
var modifier = _random.NextFloat(-1f, 1f);
|
||||
_thirst.ModifyThirst(uid, uid, modifier * ent.Comp.Amount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Server._Sunrise.Research.Artifact.Effects.RandomTransformation;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed partial class ArtifactRandomTransformationComponent : Component
|
||||
{
|
||||
[DataField, ViewVariables]
|
||||
public float TransformationPercentRatio = 20f;
|
||||
|
||||
[DataField, ViewVariables]
|
||||
public float Radius = 12f;
|
||||
|
||||
[DataField]
|
||||
public HashSet<EntProtoId>? PrototypeBlacklist;
|
||||
|
||||
[DataField]
|
||||
public HashSet<ProtoId<EntityCategoryPrototype>>? CategoryBlacklist;
|
||||
}
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
using System.Linq;
|
||||
using Content.Server._Sunrise.Helpers;
|
||||
using Content.Shared.Inventory;
|
||||
using Content.Shared.Item;
|
||||
using Content.Shared.Xenoarchaeology.Artifact;
|
||||
using Content.Shared.Xenoarchaeology.Artifact.XAE;
|
||||
using Robust.Server.GameObjects;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Random;
|
||||
|
||||
namespace Content.Server._Sunrise.Research.Artifact.Effects.RandomTransformation;
|
||||
|
||||
public sealed class ArtifactRandomTransformationSystem : BaseXAESystem<ArtifactRandomTransformationComponent>
|
||||
{
|
||||
[Dependency] private readonly EntityLookupSystem _lookup = default!;
|
||||
[Dependency] private readonly TransformSystem _transform = default!;
|
||||
[Dependency] private readonly InventorySystem _inventory = default!;
|
||||
[Dependency] private readonly SunriseHelpersSystem _sunriseHelpers = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
[Dependency] private readonly IPrototypeManager _prototype = default!;
|
||||
|
||||
protected override void OnActivated(Entity<ArtifactRandomTransformationComponent> ent, ref XenoArtifactNodeActivatedEvent args)
|
||||
{
|
||||
var coords = Transform(ent).Coordinates;
|
||||
var entities = _lookup.GetEntitiesInRange<ItemComponent>(coords, ent.Comp.Radius)
|
||||
.Select(e => e.Owner)
|
||||
.ToHashSet();
|
||||
|
||||
SearchPlayersInventoryForItems(ent, coords, out var inventoryItems);
|
||||
|
||||
ReduceAndTransform(ent, inventoryItems);
|
||||
ReduceAndTransform(ent, entities);
|
||||
}
|
||||
|
||||
private void SearchPlayersInventoryForItems(Entity<ArtifactRandomTransformationComponent> ent, EntityCoordinates coords, out HashSet<EntityUid> items)
|
||||
{
|
||||
var players = _lookup.GetEntitiesInRange<InventoryComponent>(coords, ent.Comp.Radius);
|
||||
items = [];
|
||||
|
||||
foreach (var player in players)
|
||||
{
|
||||
var inventorySlots = _inventory.GetSlotEnumerator(player.Owner);
|
||||
|
||||
while (inventorySlots.MoveNext(out var slot))
|
||||
{
|
||||
if (!_inventory.TryGetSlotEntity(player, slot.ID, out var itemUid))
|
||||
continue;
|
||||
|
||||
items.Add(itemUid.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ReduceAndTransform(Entity<ArtifactRandomTransformationComponent> ent, IReadOnlyCollection<EntityUid> entities)
|
||||
{
|
||||
var items = _sunriseHelpers.GetPercentageOfHashSet(entities, ent.Comp.TransformationPercentRatio);
|
||||
|
||||
DoTransformation(ent, items);
|
||||
}
|
||||
|
||||
private void DoTransformation(Entity<ArtifactRandomTransformationComponent> ent, IEnumerable<EntityUid> items)
|
||||
{
|
||||
foreach (var item in items)
|
||||
{
|
||||
if (!_prototype.TryGetRandom<EntityPrototype>(_random, out var prototype))
|
||||
continue;
|
||||
|
||||
var proto = (EntityPrototype) prototype;
|
||||
|
||||
if (!CanSpawnEntity(ent, proto))
|
||||
continue;
|
||||
|
||||
/*
|
||||
* TODO: Обработка ентити в контейнерах
|
||||
* Требуется сделать проверку, что если ентити находится в контейнере
|
||||
* То после создания нового оно помещается в тот же слот контейнера
|
||||
*/
|
||||
|
||||
Spawn(prototype.ID, _transform.GetMapCoordinates(item));
|
||||
QueueDel(item);
|
||||
}
|
||||
}
|
||||
|
||||
private static bool CanSpawnEntity(Entity<ArtifactRandomTransformationComponent> ent, EntityPrototype proto)
|
||||
{
|
||||
if (ent.Comp.PrototypeBlacklist != null && ent.Comp.PrototypeBlacklist.Contains(proto.ID))
|
||||
return false;
|
||||
|
||||
if (proto.Abstract)
|
||||
return false;
|
||||
|
||||
if (ent.Comp.CategoryBlacklist != null && proto.Categories.Any(c => ent.Comp.CategoryBlacklist.Contains(c)))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Server._Sunrise.Research.Artifact.Effects.StartGamerule;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed partial class ArtifactStartGameRuleComponent : Component
|
||||
{
|
||||
[DataField(required: true)]
|
||||
public Dictionary<EntProtoId, int> Rules = new ();
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
using Content.Server.GameTicking;
|
||||
using Content.Shared.Xenoarchaeology.Artifact;
|
||||
using Content.Shared.Xenoarchaeology.Artifact.XAE;
|
||||
|
||||
namespace Content.Server._Sunrise.Research.Artifact.Effects.StartGamerule;
|
||||
|
||||
public sealed class ArtifactStartGameRuleSystem : BaseXAESystem<ArtifactStartGameRuleComponent>
|
||||
{
|
||||
[Dependency] private readonly GameTicker _gameTicker = default!;
|
||||
|
||||
protected override void OnActivated(Entity<ArtifactStartGameRuleComponent> ent, ref XenoArtifactNodeActivatedEvent args)
|
||||
{
|
||||
foreach (var (rule, amount) in ent.Comp.Rules)
|
||||
{
|
||||
for (var i = 0; i < amount; i++)
|
||||
{
|
||||
_gameTicker.StartGameRule(rule);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
using Content.Shared.Whitelist;
|
||||
|
||||
namespace Content.Server._Sunrise.Research.Artifact.Effects.WhitelistSwap;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed partial class ArtifactWhitelistSwapComponent : Component
|
||||
{
|
||||
[DataField(required: true)]
|
||||
public EntityWhitelist TargetWhitelist;
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
using System.Linq;
|
||||
using Content.Server._Sunrise.Helpers;
|
||||
using Content.Shared.Humanoid;
|
||||
using Content.Shared.Whitelist;
|
||||
using Content.Shared.Xenoarchaeology.Artifact;
|
||||
using Content.Shared.Xenoarchaeology.Artifact.XAE;
|
||||
using Robust.Server.GameObjects;
|
||||
using Robust.Shared.Random;
|
||||
|
||||
namespace Content.Server._Sunrise.Research.Artifact.Effects.WhitelistSwap;
|
||||
|
||||
public sealed class ArtifactWhitelistSwapSystem : BaseXAESystem<ArtifactWhitelistSwapComponent>
|
||||
{
|
||||
[Dependency] private readonly TransformSystem _transform = default!;
|
||||
[Dependency] private readonly EntityWhitelistSystem _whitelist = default!;
|
||||
[Dependency] private readonly SunriseHelpersSystem _sunriseHelpers = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
|
||||
protected override void OnActivated(Entity<ArtifactWhitelistSwapComponent> ent, ref XenoArtifactNodeActivatedEvent args)
|
||||
{
|
||||
var humans = _sunriseHelpers.GetAll<HumanoidAppearanceComponent, TransformComponent>().ToList();
|
||||
var targets = _sunriseHelpers.GetAll<TransformComponent>()
|
||||
.Where(e => _whitelist.IsWhitelistPassOrNull(ent.Comp.TargetWhitelist, e))
|
||||
.ToList();
|
||||
|
||||
var ent1 = _random.PickAndTake(humans);
|
||||
var ent2 = _random.PickAndTake(targets);
|
||||
|
||||
_transform.SwapPositions((ent1, ent1.Comp2), (ent2, ent2));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
namespace Content.Server._Sunrise.Research.Artifact.Triggers.HealthAnalyzerInteraction;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed partial class ArtifactHealthAnalyzerInteractionTriggerComponent : Component
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
using Content.Shared._Sunrise.Research.Artifact;
|
||||
using Content.Shared.Xenoarchaeology.Artifact.Components;
|
||||
using Content.Shared.Xenoarchaeology.Artifact.XAT;
|
||||
|
||||
namespace Content.Server._Sunrise.Research.Artifact.Triggers.HealthAnalyzerInteraction;
|
||||
|
||||
public sealed class ArtifactHealthAnalyzerInteractionTriggerSystem : BaseXATSystem<ArtifactHealthAnalyzerInteractionTriggerComponent>
|
||||
{
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
XATSubscribeDirectEvent<EntityAnalyzedEvent>(OnAnalyzed);
|
||||
}
|
||||
|
||||
private void OnAnalyzed(Entity<XenoArtifactComponent> artifact, Entity<ArtifactHealthAnalyzerInteractionTriggerComponent, XenoArtifactNodeComponent> node, ref EntityAnalyzedEvent args)
|
||||
{
|
||||
if (args.Handled)
|
||||
return;
|
||||
|
||||
Trigger(artifact, node);
|
||||
args.Handled = true;
|
||||
}
|
||||
}
|
||||
|
||||
18
Content.Shared/_Sunrise/Helpers/DictionaryExtentions.cs
Normal file
18
Content.Shared/_Sunrise/Helpers/DictionaryExtentions.cs
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
namespace Content.Shared._Sunrise.Helpers;
|
||||
|
||||
public static class DictionaryExtensions
|
||||
{
|
||||
public static void AddOrIncrement<TKey>(this Dictionary<TKey, int> dict, TKey key, int increment = 1)
|
||||
where TKey : notnull
|
||||
{
|
||||
if (dict.TryGetValue(key, out var currentValue))
|
||||
{
|
||||
dict[key] = currentValue + increment;
|
||||
}
|
||||
else
|
||||
{
|
||||
dict[key] = increment;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
104
Content.Shared/_Sunrise/Helpers/SharedSunriseHelpersSystem.cs
Normal file
104
Content.Shared/_Sunrise/Helpers/SharedSunriseHelpersSystem.cs
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Linq;
|
||||
|
||||
namespace Content.Shared._Sunrise.Helpers;
|
||||
|
||||
public abstract partial class SharedSunriseHelpersSystem : EntitySystem
|
||||
{
|
||||
#region Percente
|
||||
|
||||
/// <summary>
|
||||
/// Возвращает список с данным процентным соотношением
|
||||
/// </summary>
|
||||
/// <param name="sourceList">Исходный список</param>
|
||||
/// <param name="percentage">Процент от 0 до 100</param>
|
||||
/// <typeparam name="T">Компонент</typeparam>
|
||||
[Obsolete]
|
||||
public IEnumerable<T> GetPercentageOfHashSet<T>(IReadOnlyCollection<T> sourceList, float percentage) where T : IComponent
|
||||
{
|
||||
var countToAdd = (int) Math.Round((double) sourceList.Count * percentage / 100);
|
||||
return sourceList.Where(t => !Transform(t.Owner).Anchored).Take(countToAdd).ToHashSet();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Возвращает список с данным процентным соотношением
|
||||
/// </summary>
|
||||
/// <param name="sourceList">Исходный список</param>
|
||||
/// <param name="percentage">Процент от 0 до 100</param>
|
||||
/// <typeparam name="T">Ентити с компонентом</typeparam>
|
||||
public IEnumerable<Entity<T>> GetPercentageOfHashSet<T>(IReadOnlyCollection<Entity<T>> sourceList, float percentage) where T : IComponent
|
||||
{
|
||||
var countToAdd = (int) Math.Round((double) sourceList.Count * percentage / 100);
|
||||
return sourceList.Where(e => !Transform(e).Anchored).Take(countToAdd).ToHashSet();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Возвращает список с данным процентным соотношением
|
||||
/// </summary>
|
||||
/// <param name="sourceList">Исходный список</param>
|
||||
/// <param name="percentage">Процент от 0 до 100</param>
|
||||
public IEnumerable<EntityUid> GetPercentageOfHashSet(IReadOnlyCollection<EntityUid> sourceList, float percentage)
|
||||
{
|
||||
var countToAdd = (int) Math.Round((double) sourceList.Count * percentage / 100);
|
||||
return sourceList.Where(e => !Transform(e).Anchored).Take(countToAdd).ToHashSet();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Get All/First entity
|
||||
|
||||
/// <summary>
|
||||
/// Получает все список всех ентити с компонентами и возвращает.
|
||||
/// Удобно для использования, так как не требует засорять код лишним циклом
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">Компонент 1</typeparam>
|
||||
/// <typeparam name="T2">Компонент 2</typeparam>
|
||||
/// <remarks>Список может быть пустым, если ничего не найдено</remarks>
|
||||
/// <returns>Полный список всех ентити в игре с данными компонентами</returns>
|
||||
public IEnumerable<Entity<T1, T2>> GetAll<T1, T2>() where T1 : IComponent where T2 : IComponent
|
||||
{
|
||||
var query = EntityManager.AllEntityQueryEnumerator<T1, T2>();
|
||||
while (query.MoveNext(out var uid, out var component1, out var component2))
|
||||
{
|
||||
yield return (uid, component1, component2);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Получает все список всех ентити с компонентом и возвращает.
|
||||
/// Удобно для использования, так как не требует засорять код лишним циклом
|
||||
/// </summary>
|
||||
/// <typeparam name="T">Компонент</typeparam>
|
||||
/// <remarks>Список может быть пустым, если ничего не найдено</remarks>
|
||||
/// <returns>Полный список всех ентити в игре с данным компонентом</returns>
|
||||
public IEnumerable<Entity<T>> GetAll<T>() where T : IComponent
|
||||
{
|
||||
var query = EntityManager.AllEntityQueryEnumerator<T>();
|
||||
while (query.MoveNext(out var uid, out var component))
|
||||
{
|
||||
yield return (uid, component);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Возвращает первый попавшийся ентити с данным компонентом
|
||||
/// </summary>
|
||||
/// <param name="entity">Возвращаемый ентити</param>
|
||||
/// <typeparam name="T">Компонент</typeparam>
|
||||
/// <returns>Первый попавшийся ентити с данным компонентом</returns>
|
||||
public bool TryGetFirst<T>([NotNullWhen(true)] out Entity<T>? entity) where T : IComponent
|
||||
{
|
||||
entity = null;
|
||||
|
||||
var query = EntityManager.AllEntityQueryEnumerator<T>();
|
||||
while (query.MoveNext(out var uid, out var component))
|
||||
{
|
||||
entity = (uid, component);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
10
Content.Shared/_Sunrise/Misc/ArtifactFunnyTargetComponent.cs
Normal file
10
Content.Shared/_Sunrise/Misc/ArtifactFunnyTargetComponent.cs
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
using Robust.Shared.GameStates;
|
||||
|
||||
namespace Content.Shared._Sunrise.Misc;
|
||||
|
||||
/// <summary>
|
||||
/// Компонент маркер, что данная цель смешная.
|
||||
/// Используется в <see cref="ArtifactWhitelistSwapSystem"/>
|
||||
/// </summary>
|
||||
[RegisterComponent, NetworkedComponent]
|
||||
public sealed partial class ArtifactFunnyTargetComponent : Component;
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
namespace Content.Shared._Sunrise.Research.Artifact;
|
||||
|
||||
public sealed partial class EntityAnalyzedEvent : HandledEntityEventArgs;
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
artifact-trigger-hint-health-analyzer = Сканирование
|
||||
|
||||
artifact-effect-hint-data-deleted = ██████████ █████
|
||||
|
|
@ -416,6 +416,7 @@
|
|||
name: lead-lined box
|
||||
parent: BoxCardboard
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
id: BoxLeadLined
|
||||
description: This box stymies the transmission of harmful radiation.
|
||||
components:
|
||||
|
|
|
|||
|
|
@ -111,6 +111,7 @@
|
|||
parent: CrateEngineering
|
||||
name: generator crate
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
|
|
|
|||
|
|
@ -349,6 +349,7 @@
|
|||
name: wackpack
|
||||
description: What the fuck is this?
|
||||
suffix: Debug
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Storage
|
||||
grid:
|
||||
|
|
@ -365,6 +366,7 @@
|
|||
name: big wackpack
|
||||
description: What the fuck is this?
|
||||
suffix: Debug
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Storage
|
||||
grid:
|
||||
|
|
@ -376,6 +378,7 @@
|
|||
name: gay wackpack
|
||||
description: What the fuck is this?
|
||||
suffix: Debug
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Storage
|
||||
grid:
|
||||
|
|
@ -397,6 +400,7 @@
|
|||
name: offset wackpack
|
||||
description: What the fuck is this?
|
||||
suffix: Debug
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Storage
|
||||
grid:
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
id: WeaponPistolDebug
|
||||
description: ded
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
|
|
@ -46,6 +47,7 @@
|
|||
name: bang, ded mag
|
||||
parent: BaseMagazinePistol
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
|
|
@ -76,6 +78,7 @@
|
|||
name: bang, ded cartridge
|
||||
parent: BaseCartridgePistol
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
|
|
@ -89,6 +92,7 @@
|
|||
id: MeleeDebugGib
|
||||
description: hit hard ye
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
name: meth # beer it is. coffee. beer? coff-ee? be-er? c-o... b-e
|
||||
description: Just a whole glass of meth.
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
name: weirdly shaped item
|
||||
description: What is it...?
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
- type: entity
|
||||
id: OptionsVisualizerTest
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
id: ToolDebug
|
||||
description: The pain of using this is almost too great to bear.
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
id: StressTest
|
||||
name: stress test
|
||||
suffix: DEBUG
|
||||
categories: [ Debug, HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
id: SpawnMobHuman
|
||||
parent: MarkerBase
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
id: NukeDisk
|
||||
description: A nuclear auth disk, capable of arming a nuke if used along with a code. Note from nanotrasen reads "THIS IS YOUR MOST IMPORTANT POSESSION, SECURE DAT FUKKEN DISK!"
|
||||
components:
|
||||
# Sunrise added start
|
||||
- type: ArtifactFunnyTarget
|
||||
# Sunrise added end
|
||||
- type: NukeDisk
|
||||
- type: SpecialRespawn
|
||||
prototype: NukeDisk
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
id: DebugMechEquipment
|
||||
abstract: true
|
||||
suffix: DEBUG
|
||||
categories: [ HideSpawnMenu ]
|
||||
categories: [ HideSpawnMenu, Debug ] # Sunrise edit
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
id: ResearchDiskDebug
|
||||
name: research point disk
|
||||
suffix: DEBUG, DO NOT MAP
|
||||
categories: [ DoNotMap ]
|
||||
categories: [ DoNotMap, Debug ] # Sunrise edit
|
||||
description: A disk for the R&D server containing all the points you could ever need.
|
||||
components:
|
||||
- type: ResearchDisk
|
||||
|
|
|
|||
|
|
@ -55,12 +55,17 @@
|
|||
- type: XenoArtifact
|
||||
effectsTable: !type:GroupSelector
|
||||
children:
|
||||
# Sunrise edit start - новые смешные эффекты
|
||||
- !type:NestedSelector
|
||||
tableId: XenoArtifactEffectsDefaultTable
|
||||
weight: 54
|
||||
tableId: SunriseArtifactEffectsDefaultTable
|
||||
weight: 3
|
||||
- !type:NestedSelector
|
||||
tableId: XenoArtifactEffectsHandheldOnlyTable
|
||||
weight: 2
|
||||
tableId: SunriseArtifactEffectsVanillaDefaultReducedTable
|
||||
weight: 3
|
||||
- !type:NestedSelector
|
||||
tableId: SunriseArtifactEffectsUltraFunnyTable
|
||||
weight: 1
|
||||
# Sunrise edit end
|
||||
|
||||
- type: entity
|
||||
parent: BaseXenoArtifactItem
|
||||
|
|
|
|||
|
|
@ -24,8 +24,19 @@
|
|||
- Xenoarchaeology
|
||||
# gameplay interactions
|
||||
- type: XenoArtifact
|
||||
effectsTable: !type:NestedSelector
|
||||
tableId: XenoArtifactEffectsDefaultTable
|
||||
# Sunrise edit start - новые смешные эффекты
|
||||
effectsTable: !type:GroupSelector
|
||||
children:
|
||||
- !type:NestedSelector
|
||||
tableId: SunriseArtifactEffectsDefaultTable
|
||||
weight: 3
|
||||
- !type:NestedSelector
|
||||
tableId: SunriseArtifactEffectsVanillaDefaultReducedTable
|
||||
weight: 3
|
||||
- !type:NestedSelector
|
||||
tableId: SunriseArtifactEffectsUltraFunnyTable
|
||||
weight: 1
|
||||
# Sunrise edit end
|
||||
- type: Damageable
|
||||
- type: Actions
|
||||
- type: Physics
|
||||
|
|
|
|||
|
|
@ -136,6 +136,7 @@
|
|||
parent: BaseUplinkRadio
|
||||
id: BaseUplinkRadioDebug
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Store
|
||||
balance:
|
||||
|
|
|
|||
|
|
@ -792,6 +792,7 @@
|
|||
name: table
|
||||
description: PUT ON THEM CODERSOCKS!!
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
|
|
|
|||
|
|
@ -147,6 +147,7 @@
|
|||
id: DebugHardBomb
|
||||
name: debug bomb
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
description: Holy shit this is gonna explode.
|
||||
components:
|
||||
- type: Defusable
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
id: DebugGenerator
|
||||
parent: BaseGenerator
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: PowerSupplier
|
||||
supplyRate: 300000
|
||||
|
|
@ -15,6 +16,7 @@
|
|||
id: DebugConsumer
|
||||
name: consumer
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
|
|
@ -60,6 +62,7 @@
|
|||
id: DebugBatteryStorage
|
||||
name: battery storage
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
|
|
@ -93,6 +96,7 @@
|
|||
id: DebugBatteryDischarger
|
||||
name: battery discharger
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
|
|
@ -128,6 +132,7 @@
|
|||
id: DebugSMES
|
||||
parent: BaseSMES
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
|
|
@ -146,6 +151,7 @@
|
|||
id: DebugAPC
|
||||
parent: BaseAPC
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
|
|
@ -155,6 +161,7 @@
|
|||
id: DebugPowerReceiver
|
||||
name: power receiver
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
|
|
|
|||
|
|
@ -116,6 +116,7 @@
|
|||
id: DebugThruster
|
||||
parent: BaseThruster
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Thruster
|
||||
requireSpace: false
|
||||
|
|
@ -215,6 +216,7 @@
|
|||
id: DebugGyroscope
|
||||
parent: BaseThruster
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Thruster
|
||||
thrusterType: Angular
|
||||
|
|
|
|||
|
|
@ -225,6 +225,7 @@
|
|||
id: WallDebug
|
||||
name: debug wall
|
||||
suffix: DEBUG
|
||||
categories: [ Debug ] # Sunrise added
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
|
|
|
|||
|
|
@ -15,6 +15,9 @@
|
|||
special:
|
||||
- !type:AddComponentSpecial
|
||||
components:
|
||||
# Sunrise added start
|
||||
- type: ArtifactFunnyTarget
|
||||
# Sunrise added end
|
||||
- type: Clumsy
|
||||
gunShootFailDamage:
|
||||
types: #literally just picked semi random valus. i tested this once and tweaked it.
|
||||
|
|
|
|||
|
|
@ -15,6 +15,9 @@
|
|||
special:
|
||||
- !type:AddComponentSpecial
|
||||
components:
|
||||
# Sunrise added start
|
||||
- type: ArtifactFunnyTarget
|
||||
# Sunrise added end
|
||||
- type: MimePowers
|
||||
preventWriting: true
|
||||
- type: FrenchAccent
|
||||
|
|
|
|||
|
|
@ -34,6 +34,9 @@
|
|||
implants: [ MindShieldImplant, TrackingImplant, DeathRattleImplantBlueShield ]
|
||||
- !type:AddComponentSpecial
|
||||
components:
|
||||
# Sunrise added start
|
||||
- type: ArtifactFunnyTarget
|
||||
# Sunrise added end
|
||||
- type: CommandStaff
|
||||
speciesBlacklist:
|
||||
- Vox # Sunrise-Edit
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@
|
|||
- type: entity
|
||||
id: BaseXenoArtifactEffect
|
||||
name: effect
|
||||
description: Неизвестно
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ]
|
||||
abstract: true
|
||||
components:
|
||||
|
|
@ -154,7 +154,7 @@
|
|||
id: BaseOneTimeXenoArtifactEffect
|
||||
parent: BaseXenoArtifactEffect
|
||||
name: one-time-effect
|
||||
description: Неизвестно
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ]
|
||||
abstract: true
|
||||
components:
|
||||
|
|
@ -169,7 +169,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactEffectUniversalIntercom
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Обретает трансмогрификационные свойства
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
|
|
@ -198,7 +199,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactBecomeRandomInstrument
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Становится музыкальным инструментом
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
|
|
@ -211,7 +213,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactStorage
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Появляется скрытое хранилище
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
|
|
@ -225,14 +228,16 @@
|
|||
- type: entity
|
||||
id: XenoArtifactPhasing
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Теряет колизию
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAERemoveCollision
|
||||
|
||||
- type: entity
|
||||
id: XenoArtifactWandering
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Начинает спонтанно двигаться
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
|
|
@ -245,7 +250,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactSolutionStorage
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Обретает свойства кувшина
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
|
|
@ -273,7 +279,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactSpeedUp
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Увеличивает скорость движения держателя
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
|
|
@ -284,7 +291,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactDrill
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Обретает свойства бура
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
|
|
@ -300,7 +308,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactGenerateEnergy
|
||||
parent: BaseOneTimeXenoArtifactEffect # todo - increment power, but only once per node
|
||||
description: Излучает энергию
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
|
|
@ -316,7 +325,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactGun
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Обретает свойства оружия
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -347,7 +357,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactGhost
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Становится разумным
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
|
|
@ -367,7 +378,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactOmnitool
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Получается свойства омнитула
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
|
|
@ -414,7 +426,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactEffectBadFeeling
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Передаёт сообщение
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAETelepathic
|
||||
messages:
|
||||
|
|
@ -444,7 +457,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactEffectGoodFeeling
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Передаёт сообщение
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAETelepathic
|
||||
messages:
|
||||
|
|
@ -473,7 +487,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactEffectJunkSpawn
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт мусор
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -496,14 +511,16 @@
|
|||
- type: entity
|
||||
id: XenoArtifactEffectLightFlicker
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт незначительные электромагнитные помехи
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAELightFlicker
|
||||
|
||||
- type: entity
|
||||
id: XenoArtifactPotassiumWave
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт калий
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -530,7 +547,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactFloraSpawn
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт флору
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -545,7 +563,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactChemicalPuddle
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт лужу из химикатов # todo: make description say what exact chemical is produced, maybe add mixes into possible chemicals
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAECreatePuddle
|
||||
chemAmount:
|
||||
|
|
@ -581,14 +600,16 @@
|
|||
- type: entity
|
||||
id: XenoArtifactThrowThingsAround
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт незначительный взрыв
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEThrowThingsAround
|
||||
|
||||
- type: entity
|
||||
id: XenoArtifactColdWave
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Охлаждает атмосферу вокруг
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAETemperature
|
||||
targetTemp: 50
|
||||
|
|
@ -596,7 +617,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactHeatWave
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Сильно нагревает окружающую атмосферу
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAETemperature
|
||||
targetTemp: 500
|
||||
|
|
@ -604,7 +626,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactFoamMild
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт пену из химикатов # todo: separate in 1 for each chemical for description? actually sounds like a very good idea
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEFoam
|
||||
replaceDescription: true
|
||||
|
|
@ -624,7 +647,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactRandomInstrumentSpawn
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт музыкальный инструмент
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 2
|
||||
|
|
@ -644,7 +668,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactMonkeySpawn
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт обезьяну
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 3
|
||||
|
|
@ -667,7 +692,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactRadioactive
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Становится радиоактивным
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -680,7 +706,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactChargeBattery
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Заряжает батарейки
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEChargeBattery
|
||||
- type: XAETelepathic
|
||||
|
|
@ -690,7 +717,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactKnock
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт слабые электромагнитные помехи
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEKnock
|
||||
- type: XAELightFlicker
|
||||
|
|
@ -698,7 +726,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactMagnet
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Создаёт небольшой гравитационный колодец
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -712,7 +741,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactMagnetNegative
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Создаёт небольшой гравитационный колодец
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -726,7 +756,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactStealth
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Создаёт световую интерференцию
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
|
|
@ -740,7 +771,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactRareMaterialSpawn
|
||||
parent: BaseXenoArtifactEffect # todo: splice into different well-named effects, amounts should reflect how rare material is
|
||||
description: Создаёт редкие материалы
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -770,7 +802,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactRareMaterialSpawnSilver
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт редкие материалы
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 4
|
||||
|
|
@ -793,7 +826,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactRareMaterialSpawnPlasma
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт твёрдую плазму
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 4
|
||||
|
|
@ -816,7 +850,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactRareMaterialSpawnGold
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт золото
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 3
|
||||
|
|
@ -839,7 +874,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactRareMaterialSpawnUranium
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт уран
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 4
|
||||
|
|
@ -862,7 +898,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactAngryCarpSpawn
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт агресивную рыбу
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 3
|
||||
|
|
@ -885,7 +922,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactFaunaSpawn
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт дружелюбную фауну
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 4
|
||||
|
|
@ -940,7 +978,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactCashSpawn
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт деньги
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 2
|
||||
|
|
@ -969,7 +1008,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactShatterWindows
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Ломает окна
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 3
|
||||
|
|
@ -988,7 +1028,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactFoamGood
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создает волну полезной пены
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 7
|
||||
|
|
@ -1009,7 +1050,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactFoamDangerous
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создает волну вредной пены
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEFoam
|
||||
minFoamAmount: 20
|
||||
|
|
@ -1031,7 +1073,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactPuddleRare
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создает лужу полезных химикатов
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAECreatePuddle
|
||||
chemAmount:
|
||||
|
|
@ -1061,7 +1104,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactAnomalySpawn
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Создаёт аномалию
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -1076,7 +1120,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactIgnite
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Делает пирокинез
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEIgnite
|
||||
range: 7
|
||||
|
|
@ -1087,14 +1132,16 @@
|
|||
- type: entity
|
||||
id: XenoArtifactTeleport
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Делает телепортацию
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAERandomTeleportInvoker
|
||||
|
||||
- type: entity
|
||||
id: XenoArtifactEmp
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт опасные электромагнитные помехи
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 5
|
||||
|
|
@ -1106,14 +1153,16 @@
|
|||
- type: entity
|
||||
id: XenoArtifactPolyMonkey
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Временно преобразозует плоть в мех
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEPolymorph
|
||||
|
||||
- type: entity
|
||||
id: XenoArtifactPolyLizard
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Временно изменяет форму плоти в соответствии с масштабом
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEPolymorph
|
||||
polymorphPrototypeName: ArtifactLizard
|
||||
|
|
@ -1121,7 +1170,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactPolyLuminous
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Временно преобразовать плоть в свет
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEPolymorph
|
||||
polymorphPrototypeName: ArtifactLuminous
|
||||
|
|
@ -1129,7 +1179,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactRadioactiveStrong
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Становиться сильно радиоактивным
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -1142,7 +1193,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactMaterialSpawnGlass
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт стекло
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -1157,7 +1209,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactMaterialSpawnSteel
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт сталь
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -1172,7 +1225,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactMaterialSpawnPlastic
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт пластик
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -1187,14 +1241,16 @@
|
|||
- type: entity
|
||||
id: XenoArtifactPortal
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт кратковременный блюспейс портал
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEPortal
|
||||
|
||||
- type: entity
|
||||
id: XenoArtifactArtifactSpawn
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт артефакт
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 2
|
||||
|
|
@ -1214,7 +1270,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactShuffle
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Меняет местами разумные существа #not ALL beings, but oh well...
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEShuffle
|
||||
- type: XAETelepathic
|
||||
|
|
@ -1225,7 +1282,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactHealAll
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Чудесно излечивает всех существ рядом
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEDamageInArea
|
||||
damageChance: 1
|
||||
|
|
@ -1241,7 +1299,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactTesla
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Полномасштабные разрушения
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -1256,7 +1315,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactSingularity
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Полномасштабные разрушения
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
|
|
@ -1271,7 +1331,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactExplosionScary
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Создаёт маломасштабную высокоскоростную ядерную реакцию
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAETriggerExplosives
|
||||
- type: Explosive
|
||||
|
|
@ -1286,7 +1347,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactBoom
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: Создаёт взрыв
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAETriggerExplosives
|
||||
- type: Explosive
|
||||
|
|
@ -1300,7 +1362,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactEffectCreationGasPlasma
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт газообразную плазму
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAECreateGas
|
||||
gases:
|
||||
|
|
@ -1309,7 +1372,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactEffectCreationGasTritium
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт газообразный тритий
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAECreateGas
|
||||
gases:
|
||||
|
|
@ -1318,7 +1382,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactEffectCreationGasAmmonia
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт аммиак
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAECreateGas
|
||||
gases:
|
||||
|
|
@ -1327,7 +1392,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactEffectCreationGasFrezon
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт фрезон
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAECreateGas
|
||||
gases:
|
||||
|
|
@ -1336,7 +1402,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactEffectCreationGasNitrousOxide
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт оксид азота
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAECreateGas
|
||||
gases:
|
||||
|
|
@ -1345,7 +1412,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactEffectCreationGasCarbonDioxide
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт углекислый газ
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAECreateGas
|
||||
gases:
|
||||
|
|
@ -1355,7 +1423,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactEffectCreationGasBZ
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт БЗ
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAECreateGas
|
||||
gases:
|
||||
|
|
@ -1364,7 +1433,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactEffectCreationGasHealium
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт хилиум
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAECreateGas
|
||||
gases:
|
||||
|
|
@ -1373,7 +1443,8 @@
|
|||
- type: entity
|
||||
id: XenoArtifactEffectCreationGasNitrium
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: Создаёт нитриум
|
||||
description: artifact-effect-hint-data-deleted # Sunrise edit
|
||||
categories: [ HideSpawnMenu ] # Sunrise added
|
||||
components:
|
||||
- type: XAECreateGas
|
||||
gases:
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Ripley, Aluminizer
|
||||
id: MechPaintRipleyAluminizer
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi
|
||||
|
|
@ -78,6 +79,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Ripley, Combat Ripley
|
||||
id: MechPaintRipleyCombatRipley
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi
|
||||
|
|
@ -108,6 +110,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Ripley, Firestarter
|
||||
id: MechPaintRipleyFirestarter
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi
|
||||
|
|
@ -138,6 +141,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Ripley, Hauler
|
||||
id: MechPaintRipleyHauler
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi
|
||||
|
|
@ -168,6 +172,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Ripley, Reaper
|
||||
id: MechPaintRipleyReaper
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi
|
||||
|
|
@ -198,6 +203,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Ripley, Zairjah
|
||||
id: MechPaintRipleyZairjah
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi
|
||||
|
|
@ -259,6 +265,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Clarke, Orangey
|
||||
id: MechPaintClarkeOrangey
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/clarke.rsi
|
||||
|
|
@ -289,6 +296,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Gygax, Molot
|
||||
id: MechPaintGygaxMolot
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/gygax.rsi
|
||||
|
|
@ -319,6 +327,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Gygax, Contraband
|
||||
id: MechPaintGygaxBlack
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/gygax.rsi
|
||||
|
|
@ -349,6 +358,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Gygax, Legal
|
||||
id: MechPaintGygaxWhite
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/gygax.rsi
|
||||
|
|
@ -379,6 +389,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Gygax, Pirate
|
||||
id: MechPaintGygaxPirate
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/gygax.rsi
|
||||
|
|
@ -410,6 +421,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Gygax, Old
|
||||
id: MechPaintGygaxOld
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Fun/spraycans.rsi
|
||||
|
|
@ -440,6 +452,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Durand, Unathi
|
||||
id: MechPaintDurandUnathi
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/durand.rsi
|
||||
|
|
@ -470,6 +483,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Durand , Shire
|
||||
id: MechPaintDurandShire
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/durand.rsi
|
||||
|
|
@ -500,6 +514,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Durand , Dollhouse
|
||||
id: MechPaintDurandDollhouse
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/durand.rsi
|
||||
|
|
@ -530,6 +545,7 @@
|
|||
parent: MechPaintBase
|
||||
suffix: DEBUG, Durand , Executor
|
||||
id: MechPaintDurandExecutor
|
||||
categories: [ Debug ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Sunrise/Objects/Fun/mech_spraycans/durand.rsi
|
||||
|
|
@ -559,6 +575,7 @@
|
|||
- type: entity
|
||||
parent: MechPaintBase
|
||||
suffix: DEBUG, Mauler , Meowler
|
||||
categories: [ Debug ]
|
||||
id: MechPaintMaulerMeowler
|
||||
components:
|
||||
- type: Sprite
|
||||
|
|
|
|||
|
|
@ -208,7 +208,7 @@
|
|||
parent: WeaponMeleeMoltenCollider
|
||||
id: WeaponMeleeMoltenColliderDEBUG
|
||||
suffix: DEBUG
|
||||
categories: [ HideSpawnMenu ]
|
||||
categories: [ HideSpawnMenu, Debug ]
|
||||
components:
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,66 @@
|
|||
- type: polymorph
|
||||
id: SunriseEffectChair
|
||||
configuration:
|
||||
entity: ChairFolding
|
||||
forced: true
|
||||
transferName: false
|
||||
transferHumanoidAppearance: false
|
||||
inventory: None
|
||||
revertOnDeath: true
|
||||
revertOnCrit: true
|
||||
revertOnEat: true
|
||||
duration: 120
|
||||
|
||||
- type: polymorph
|
||||
id: SunriseEffectWatermelon
|
||||
configuration:
|
||||
entity: FoodWatermelon
|
||||
forced: true
|
||||
transferName: false
|
||||
transferHumanoidAppearance: false
|
||||
inventory: None
|
||||
revertOnDeath: true
|
||||
revertOnCrit: true
|
||||
revertOnEat: true
|
||||
duration: 120
|
||||
|
||||
- type: polymorph
|
||||
id: SunriseEffectAppendix
|
||||
configuration:
|
||||
entity: OrganHumanAppendix
|
||||
forced: true
|
||||
transferName: false
|
||||
transferHumanoidAppearance: false
|
||||
inventory: None
|
||||
revertOnDeath: true
|
||||
revertOnCrit: true
|
||||
revertOnEat: true
|
||||
duration: 120
|
||||
|
||||
- type: polymorph
|
||||
id: SunriseEffectDisposal
|
||||
configuration:
|
||||
entity: DisposalUnit
|
||||
forced: true
|
||||
transferName: false
|
||||
transferHumanoidAppearance: false
|
||||
inventory: None
|
||||
revertOnDeath: true
|
||||
revertOnCrit: true
|
||||
revertOnEat: true
|
||||
duration: 120
|
||||
|
||||
- type: polymorph
|
||||
id: SunriseEffectTable
|
||||
configuration:
|
||||
entity: Table
|
||||
forced: true
|
||||
transferName: false
|
||||
transferHumanoidAppearance: false
|
||||
inventory: None
|
||||
revertOnDeath: true
|
||||
revertOnCrit: true
|
||||
revertOnEat: true
|
||||
duration: 120
|
||||
|
||||
# TODO: отдельные СМЕШНЫЕ полиморфы для LUST STATION
|
||||
306
Resources/Prototypes/_Sunrise/Research/Artifact/effects.yml
Normal file
306
Resources/Prototypes/_Sunrise/Research/Artifact/effects.yml
Normal file
|
|
@ -0,0 +1,306 @@
|
|||
# Базовые эффекты
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectHeal
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEDamageInArea
|
||||
damageChance: 1
|
||||
radius: 8
|
||||
whitelist:
|
||||
components:
|
||||
- MobState
|
||||
damage:
|
||||
groups:
|
||||
Brute: -300
|
||||
Burn: -300
|
||||
|
||||
- type: entity
|
||||
id: SunriseArtifactGenerateEnergy
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
- type: PowerSupplier
|
||||
supplyRate: 20000
|
||||
- type: NodeContainer
|
||||
examinable: true
|
||||
nodes:
|
||||
output_hv:
|
||||
!type:CableDeviceNode
|
||||
nodeGroupID: HVPower
|
||||
|
||||
- type: entity
|
||||
id: SunriseArtifactWandering
|
||||
parent: BaseOneTimeXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
- type: RandomWalk
|
||||
minSpeed: 12
|
||||
maxSpeed: 20
|
||||
minStepCooldown: 1
|
||||
maxStepCooldown: 3
|
||||
|
||||
- type: entity
|
||||
id: SunriseArtifactThrowThingsAround
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEThrowThingsAround
|
||||
|
||||
- type: entity
|
||||
id: SunriseArtifactKnock
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEKnock
|
||||
- type: XAELightFlicker
|
||||
|
||||
- type: entity
|
||||
id: SunriseArtifactEffectJunkSpawn
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
applyIfAlreadyHave: true
|
||||
refreshOnReactivate: true
|
||||
components:
|
||||
- type: EntityTableSpawner
|
||||
deleteSpawnerAfterSpawn: false
|
||||
offset: 5
|
||||
table: !type:GroupSelector
|
||||
rolls: !type:RangeNumberSelector
|
||||
range: 10, 40
|
||||
children:
|
||||
- !type:NestedSelector
|
||||
tableId: GenericTrashItems
|
||||
weight: 35
|
||||
|
||||
- type: entity
|
||||
id: SunriseArtifactShatterWindows
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 3
|
||||
maxDurabilityCanDecreaseBy:
|
||||
min: 0
|
||||
max: 2
|
||||
- type: XAEDamageInArea
|
||||
damageChance: 0.75
|
||||
whitelist:
|
||||
tags:
|
||||
- Window
|
||||
damage:
|
||||
types:
|
||||
Structural: 200
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectBoltAirlocks
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: ArtifactBoltAirlocks
|
||||
|
||||
- type: entity
|
||||
id: SunriseArtifactHunger
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: ArtifactModifyHunger
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectThirst
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: ArtifactModifyThirst
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectTeslaDischarge
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
- type: LightningArcShooter
|
||||
maxLightningArc: 4
|
||||
shootMaxInterval: 4
|
||||
shootRange: 6
|
||||
- type: TimedRemoveComponents
|
||||
removeAfter: 10
|
||||
components:
|
||||
- type: LightningArcShooter
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectSpawnEvilTwin
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: ArtifactStartGameRule
|
||||
rules:
|
||||
EvilTwinSpawn: 2
|
||||
|
||||
- type: entity
|
||||
id: SunriseArtifactTeleport
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
- type: XAERandomTeleportInvoker
|
||||
|
||||
- type: entity
|
||||
id: SunriseArtifactEmp
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XenoArtifactNode
|
||||
maxDurability: 5
|
||||
maxDurabilityCanDecreaseBy:
|
||||
min: 0
|
||||
max: 3
|
||||
- type: XAEEmpInArea
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectIgnite
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEIgnite
|
||||
range: 7
|
||||
fireStack:
|
||||
min: 3
|
||||
max: 6
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectShuffleUltra
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEShuffle
|
||||
radius: 70
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectPolyChair
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEPolymorph
|
||||
polymorphPrototypeName: SunriseEffectChair
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectPolyWatermelon
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEPolymorph
|
||||
polymorphPrototypeName: SunriseEffectWatermelon
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectPolyAppendix
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEPolymorph
|
||||
polymorphPrototypeName: SunriseEffectAppendix
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectPolyDisposal
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEPolymorph
|
||||
polymorphPrototypeName: SunriseEffectDisposal
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectPolyTable
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEPolymorph
|
||||
polymorphPrototypeName: SunriseEffectTable
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectSwap
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: ArtifactWhitelistSwap
|
||||
targetWhitelist:
|
||||
components:
|
||||
- ArtifactFunnyTarget
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectRandomTransformation
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: ArtifactRandomTransformation
|
||||
prototypeBlacklist:
|
||||
- Singularity
|
||||
- TeslaEnergyBall
|
||||
- TeslaMiniEnergyBall
|
||||
categoryBlacklist:
|
||||
- HideSpawnMenu
|
||||
- Debug
|
||||
- Spawner
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectMagnetUltra
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: XAEApplyComponents
|
||||
components:
|
||||
- type: GravityWell
|
||||
maxRange: 80
|
||||
baseRadialAcceleration: 90
|
||||
- type: TimedRemoveComponents
|
||||
components:
|
||||
- type: GravityWell
|
||||
|
||||
- type: entity
|
||||
id: SunriseEffectShiftedAsciiTableAccent
|
||||
parent: BaseXenoArtifactEffect
|
||||
description: artifact-effect-hint-data-deleted
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: AddComponentsInRadius
|
||||
whitelist:
|
||||
components:
|
||||
- HumanoidAppearance
|
||||
components:
|
||||
- type: AnomalyAccent
|
||||
- type: TimedRemoveComponents
|
||||
removeAfter: 600
|
||||
components:
|
||||
- type: AnomalyAccent
|
||||
167
Resources/Prototypes/_Sunrise/Research/Artifact/tables.yml
Normal file
167
Resources/Prototypes/_Sunrise/Research/Artifact/tables.yml
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
# Эффекты
|
||||
|
||||
- type: entityTable
|
||||
id: SunriseArtifactEffectsDefaultTable
|
||||
table: !type:GroupSelector
|
||||
children:
|
||||
- id: SunriseEffectHeal
|
||||
weight: 2
|
||||
- id: SunriseArtifactGenerateEnergy
|
||||
weight: 2
|
||||
- id: SunriseArtifactWandering
|
||||
weight: 3
|
||||
- id: SunriseArtifactThrowThingsAround
|
||||
weight: 3
|
||||
- id: SunriseArtifactKnock
|
||||
weight: 3
|
||||
- id: SunriseArtifactEffectJunkSpawn
|
||||
weight: 3
|
||||
- id: SunriseArtifactShatterWindows
|
||||
weight: 3
|
||||
- id: SunriseEffectBoltAirlocks
|
||||
weight: 3
|
||||
- id: SunriseArtifactHunger
|
||||
weight: 2
|
||||
- id: SunriseEffectThirst
|
||||
weight: 2
|
||||
- id: SunriseEffectTeslaDischarge
|
||||
weight: 1
|
||||
- id: SunriseEffectSpawnEvilTwin
|
||||
weight: 1
|
||||
- id: SunriseArtifactTeleport
|
||||
weight: 2
|
||||
- id: SunriseArtifactEmp
|
||||
weight: 2
|
||||
- id: SunriseEffectIgnite
|
||||
weight: 1
|
||||
|
||||
- type: entityTable
|
||||
id: SunriseArtifactEffectsUltraFunnyTable
|
||||
table: !type:GroupSelector
|
||||
children:
|
||||
- id: SunriseEffectShuffleUltra
|
||||
weight: 2
|
||||
- id: SunriseEffectPolyChair
|
||||
weight: 3
|
||||
- id: SunriseEffectPolyWatermelon
|
||||
weight: 3
|
||||
- id: SunriseEffectPolyAppendix
|
||||
weight: 3
|
||||
- id: SunriseEffectPolyDisposal
|
||||
weight: 3
|
||||
- id: SunriseEffectPolyTable
|
||||
weight: 3
|
||||
- id: SunriseEffectSwap
|
||||
weight: 3
|
||||
- id: SunriseEffectRandomTransformation
|
||||
weight: 1
|
||||
- id: SunriseEffectMagnetUltra
|
||||
weight: 2
|
||||
- id: SunriseEffectShiftedAsciiTableAccent
|
||||
weight: 3
|
||||
|
||||
# Ванильная, которую я чуть подрезал
|
||||
- type: entityTable
|
||||
id: SunriseArtifactEffectsVanillaDefaultReducedTable
|
||||
table: !type:GroupSelector
|
||||
children:
|
||||
- id: XenoArtifactSpeedUp
|
||||
weight: 4.0
|
||||
- id: XenoArtifactGhost
|
||||
weight: 4.0
|
||||
- id: XenoArtifactPotassiumWave
|
||||
weight: 7.0
|
||||
- id: XenoArtifactFloraSpawn
|
||||
weight: 7.0
|
||||
- id: XenoArtifactChemicalPuddle
|
||||
weight: 7.0
|
||||
- id: XenoArtifactThrowThingsAround
|
||||
weight: 7.0
|
||||
- id: XenoArtifactColdWave
|
||||
weight: 7.0
|
||||
- id: XenoArtifactHeatWave
|
||||
weight: 4.0
|
||||
- id: XenoArtifactFoamMild
|
||||
weight: 5.0
|
||||
- id: XenoArtifactRandomInstrumentSpawn
|
||||
weight: 7.0
|
||||
- id: XenoArtifactRadioactive
|
||||
weight: 5.0
|
||||
- id: XenoArtifactChargeBattery
|
||||
weight: 7.0
|
||||
- id: XenoArtifactStealth
|
||||
weight: 1.0
|
||||
- id: XenoArtifactRareMaterialSpawnSilver
|
||||
weight: 1.8
|
||||
- id: XenoArtifactRareMaterialSpawnPlasma
|
||||
weight: 2.0
|
||||
- id: XenoArtifactRareMaterialSpawnGold
|
||||
weight: 1.8
|
||||
- id: XenoArtifactRareMaterialSpawnUranium
|
||||
weight: 1.0
|
||||
- id: XenoArtifactAngryCarpSpawn
|
||||
weight: 4.0
|
||||
- id: XenoArtifactFaunaSpawn
|
||||
weight: 7.0
|
||||
- id: XenoArtifactCashSpawn
|
||||
weight: 7.0
|
||||
- id: XenoArtifactFoamGood
|
||||
weight: 4.0
|
||||
- id: XenoArtifactFoamDangerous
|
||||
weight: 2.0
|
||||
- id: XenoArtifactPuddleRare
|
||||
weight: 2.0
|
||||
- id: XenoArtifactAnomalySpawn
|
||||
weight: 7.0
|
||||
- id: XenoArtifactRadioactiveStrong
|
||||
weight: 3.0
|
||||
- id: XenoArtifactMaterialSpawnGlass
|
||||
weight: 3.3
|
||||
- id: XenoArtifactMaterialSpawnSteel
|
||||
weight: 3.3
|
||||
- id: XenoArtifactMaterialSpawnPlastic
|
||||
weight: 3.3
|
||||
- id: XenoArtifactArtifactSpawn
|
||||
weight: 0.5
|
||||
- id: XenoArtifactExplosionScary
|
||||
weight: 1.0
|
||||
- id: XenoArtifactBoom
|
||||
weight: 5.0
|
||||
- id: XenoArtifactEffectCreationGasPlasma
|
||||
weight: 2.0
|
||||
- id: XenoArtifactEffectCreationGasTritium
|
||||
weight: 2.0
|
||||
- id: XenoArtifactEffectCreationGasAmmonia
|
||||
weight: 3.0
|
||||
- id: XenoArtifactEffectCreationGasFrezon
|
||||
weight: 1.0
|
||||
- id: XenoArtifactEffectCreationGasNitrousOxide
|
||||
weight: 4.0
|
||||
- id: XenoArtifactEffectCreationGasCarbonDioxide
|
||||
weight: 4.0
|
||||
|
||||
# Триггеры
|
||||
|
||||
- type: weightedRandomXenoArchTrigger
|
||||
id: SunriseDefaultTriggers
|
||||
weights:
|
||||
TriggerMusic: 1
|
||||
TriggerHeat: 1
|
||||
TriggerCold: 0.5
|
||||
TriggerPlasma: 0.5
|
||||
TriggerRadiation: 0.5
|
||||
TriggerPressureHigh: 0.5
|
||||
TriggerPressureLow: 1
|
||||
TriggerExamine: 1
|
||||
TriggerBruteDamage: 1
|
||||
TriggerWrenching: 1
|
||||
TriggerPrying: 1
|
||||
TriggerScrewing: 1
|
||||
TriggerPulsing: 1
|
||||
TriggerTimer: 0.25
|
||||
TriggerBlood: 1
|
||||
TriggerThrow: 1
|
||||
TriggerDeath: 1
|
||||
TriggerMagnet: 1
|
||||
# Дальше наши самописные
|
||||
TriggerHealthAnalyzer: 1
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
- type: xenoArchTrigger
|
||||
id: TriggerHealthAnalyzer
|
||||
tip: artifact-trigger-hint-health-analyzer
|
||||
components:
|
||||
- type: ArtifactHealthAnalyzerInteractionTrigger
|
||||
Loading…
Add table
Reference in a new issue