Fucking big refactor

This commit is contained in:
Ed
2024-04-20 11:51:04 +03:00
parent 1eba437555
commit ca01030da1
98 changed files with 610 additions and 555 deletions

View File

@@ -14,7 +14,7 @@ namespace Content.Server.Audio;
public sealed class ContentAudioSystem : SharedContentAudioSystem
{
[ValidatePrototypeId<SoundCollectionPrototype>]
private const string LobbyMusicCollection = "CPLobbyMusic";
private const string LobbyMusicCollection = "CP14LobbyMusic";
[Dependency] private readonly AudioSystem _serverAudio = default!;
[Dependency] private readonly IRobustRandom _robustRandom = default!;

View File

@@ -36,7 +36,7 @@ namespace Content.Server.Damage.Systems
//CrystallPunk Melee upgrade
var damage = component.Damage;
if (TryComp<CPSharpenedComponent>(uid, out var sharp))
if (TryComp<CP14SharpenedComponent>(uid, out var sharp))
damage *= sharp.Sharpness;
var dmg = _damageable.TryChangeDamage(args.Target, damage, component.IgnoreResistances, origin: args.Component.Thrower);
@@ -69,7 +69,7 @@ namespace Content.Server.Damage.Systems
{
var damage = component.Damage;
if (TryComp<CPSharpenedComponent>(uid, out var sharp))
if (TryComp<CP14SharpenedComponent>(uid, out var sharp))
damage *= sharp.Sharpness;
_damageExamine.AddDamageExamine(args.Message, damage, Loc.GetString("damage-throw"));

View File

@@ -1,9 +1,9 @@
using System.Diagnostics.CodeAnalysis;
using Content.Server._CP14.LockKey;
using Content.Server.Atmos.EntitySystems;
using Content.Server.Body.Systems;
using Content.Server.Construction;
using Content.Server.Construction.Components;
using Content.Server.CrystallPunk.LockKey;
using Content.Server.Storage.Components;
using Content.Shared.Destructible;
using Content.Shared.Explosion;
@@ -37,7 +37,7 @@ public sealed class EntityStorageSystem : SharedEntityStorageSystem
SubscribeLocalEvent<EntityStorageComponent, EntityUnpausedEvent>(OnEntityUnpausedEvent);
SubscribeLocalEvent<EntityStorageComponent, ComponentInit>(OnComponentInit);
SubscribeLocalEvent<EntityStorageComponent, ComponentStartup>(OnComponentStartup);
SubscribeLocalEvent<EntityStorageComponent, ActivateInWorldEvent>(OnInteract, after: new[] { typeof(LockSystem), typeof(KeyholeGenerationSystem) });
SubscribeLocalEvent<EntityStorageComponent, ActivateInWorldEvent>(OnInteract, after: new[] { typeof(LockSystem), typeof(CP14KeyholeGenerationSystem) });
SubscribeLocalEvent<EntityStorageComponent, LockToggleAttemptEvent>(OnLockToggleAttempt);
SubscribeLocalEvent<EntityStorageComponent, DestructionEventArgs>(OnDestruction);
SubscribeLocalEvent<EntityStorageComponent, GetVerbsEvent<InteractionVerb>>(AddToggleOpenVerb);

View File

@@ -1,21 +1,18 @@
using System.Linq;
using Content.Server.GameTicking.Events;
using Content.Shared._CP14.LockKey;
using Content.Shared.Containers.ItemSlots;
using Content.Shared.CrystallPunk.LockKey;
using Content.Shared.Examine;
using Content.Shared.Interaction;
using Content.Shared.Popups;
using Content.Shared.Lock;
using Content.Shared.Verbs;
using Content.Shared.Popups;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using CP14KeyComponent = Content.Shared._CP14.LockKey.Components.CP14KeyComponent;
using CP14LockComponent = Content.Shared._CP14.LockKey.Components.CP14LockComponent;
namespace Content.Server.CrystallPunk.LockKey;
namespace Content.Server._CP14.LockKey;
public sealed partial class KeyholeGenerationSystem : EntitySystem
public sealed partial class CP14KeyholeGenerationSystem : EntitySystem
{
[Dependency] private readonly IPrototypeManager _proto = default!;
[Dependency] private readonly IRobustRandom _random = default!;
@@ -23,7 +20,7 @@ public sealed partial class KeyholeGenerationSystem : EntitySystem
[Dependency] private readonly ItemSlotsSystem _itemSlots = default!;
[Dependency] private readonly LockSystem _lock = default!;
private Dictionary<ProtoId<CPLockCategoryPrototype>, List<int>> _roundKeyData = new();
private Dictionary<ProtoId<CP14LockCategoryPrototype>, List<int>> _roundKeyData = new();
private const int DepthCompexity = 2;
@@ -33,10 +30,10 @@ public sealed partial class KeyholeGenerationSystem : EntitySystem
SubscribeLocalEvent<RoundStartingEvent>(OnRoundStart);
SubscribeLocalEvent<CPLockComponent, MapInitEvent>(OnLockInit);
SubscribeLocalEvent<CPKeyComponent, MapInitEvent>(OnKeyInit);
SubscribeLocalEvent<CP14LockComponent, MapInitEvent>(OnLockInit);
SubscribeLocalEvent<CP14KeyComponent, MapInitEvent>(OnKeyInit);
SubscribeLocalEvent<CPKeyComponent, ExaminedEvent>(OnKeyExamine);
SubscribeLocalEvent<CP14KeyComponent, ExaminedEvent>(OnKeyExamine);
}
#region Init
@@ -45,7 +42,7 @@ public sealed partial class KeyholeGenerationSystem : EntitySystem
_roundKeyData = new();
}
private void OnKeyInit(Entity<CPKeyComponent> keyEnt, ref MapInitEvent args)
private void OnKeyInit(Entity<CP14KeyComponent> keyEnt, ref MapInitEvent args)
{
if (keyEnt.Comp.AutoGenerateShape != null)
{
@@ -53,7 +50,7 @@ public sealed partial class KeyholeGenerationSystem : EntitySystem
}
}
private void OnLockInit(Entity<CPLockComponent> lockEnt, ref MapInitEvent args)
private void OnLockInit(Entity<CP14LockComponent> lockEnt, ref MapInitEvent args)
{
if (lockEnt.Comp.AutoGenerateShape != null)
{
@@ -62,7 +59,7 @@ public sealed partial class KeyholeGenerationSystem : EntitySystem
}
#endregion
private void OnKeyExamine(Entity<CPKeyComponent> key, ref ExaminedEvent args)
private void OnKeyExamine(Entity<CP14KeyComponent> key, ref ExaminedEvent args)
{
var parent = Transform(key).ParentUid;
if (parent != args.Examiner)
@@ -81,7 +78,7 @@ public sealed partial class KeyholeGenerationSystem : EntitySystem
args.PushMarkup(markup);
}
private List<int> GetKeyLockData(ProtoId<CPLockCategoryPrototype> category)
private List<int> GetKeyLockData(ProtoId<CP14LockCategoryPrototype> category)
{
if (_roundKeyData.ContainsKey(category))
return _roundKeyData[category];
@@ -93,7 +90,7 @@ public sealed partial class KeyholeGenerationSystem : EntitySystem
}
}
private List<int> GenerateNewUniqueLockData(ProtoId<CPLockCategoryPrototype> category)
private List<int> GenerateNewUniqueLockData(ProtoId<CP14LockCategoryPrototype> category)
{
List<int> newKeyData = new List<int>();
var categoryData = _proto.Index(category);

View File

@@ -4,8 +4,8 @@ namespace Content.Server._CP14.MeleeWeapon;
/// <summary>
/// allows the object to become blunt with use
/// </summary>
[RegisterComponent, Access(typeof(CPSharpeningSystem))]
public sealed partial class CPSharpenedComponent : Component
[RegisterComponent, Access(typeof(CP14SharpeningSystem))]
public sealed partial class CP14SharpenedComponent : Component
{
[DataField]
public float Sharpness = 1f;

View File

@@ -6,8 +6,8 @@ namespace Content.Server._CP14.MeleeWeapon;
/// <summary>
/// component allows you to sharpen objects by restoring their damage.
/// </summary>
[RegisterComponent, Access(typeof(CPSharpeningSystem))]
public sealed partial class CPSharpeningStoneComponent : Component
[RegisterComponent, Access(typeof(CP14SharpeningSystem))]
public sealed partial class CP14SharpeningStoneComponent : Component
{
/// <summary>
/// the amount of acuity recoverable per use

View File

@@ -10,7 +10,7 @@ using Robust.Shared.Audio.Systems;
namespace Content.Server._CP14.MeleeWeapon;
public sealed class CPSharpeningSystem : EntitySystem
public sealed class CP14SharpeningSystem : EntitySystem
{
[Dependency] private readonly DamageableSystem _damageableSystem = default!;
[Dependency] private readonly UseDelaySystem _useDelay = default!;
@@ -20,15 +20,15 @@ public sealed class CPSharpeningSystem : EntitySystem
{
base.Initialize();
SubscribeLocalEvent<CPSharpenedComponent, GetMeleeDamageEvent>(OnGetMeleeDamage, after: new[] { typeof(WieldableSystem) });
SubscribeLocalEvent<CPSharpenedComponent, ExaminedEvent>(OnExamined);
SubscribeLocalEvent<CPSharpenedComponent, MeleeHitEvent>(OnMeleeHit);
SubscribeLocalEvent<CP14SharpenedComponent, GetMeleeDamageEvent>(OnGetMeleeDamage, after: new[] { typeof(WieldableSystem) });
SubscribeLocalEvent<CP14SharpenedComponent, ExaminedEvent>(OnExamined);
SubscribeLocalEvent<CP14SharpenedComponent, MeleeHitEvent>(OnMeleeHit);
SubscribeLocalEvent<CPSharpeningStoneComponent, AfterInteractEvent>(OnAfterInteract);
SubscribeLocalEvent<CPSharpeningStoneComponent, ActivateInWorldEvent>(OnInteract);
SubscribeLocalEvent<CP14SharpeningStoneComponent, AfterInteractEvent>(OnAfterInteract);
SubscribeLocalEvent<CP14SharpeningStoneComponent, ActivateInWorldEvent>(OnInteract);
}
private void OnMeleeHit(Entity<CPSharpenedComponent> sharpened, ref MeleeHitEvent args)
private void OnMeleeHit(Entity<CP14SharpenedComponent> sharpened, ref MeleeHitEvent args)
{
if (!args.HitEntities.Any())
return;
@@ -36,7 +36,7 @@ public sealed class CPSharpeningSystem : EntitySystem
sharpened.Comp.Sharpness = MathHelper.Clamp(sharpened.Comp.Sharpness - sharpened.Comp.SharpnessDamageByHit, 0.1f, 1f);
}
private void OnInteract(Entity<CPSharpeningStoneComponent> stone, ref ActivateInWorldEvent args)
private void OnInteract(Entity<CP14SharpeningStoneComponent> stone, ref ActivateInWorldEvent args)
{
if (args.Handled)
return;
@@ -49,7 +49,7 @@ public sealed class CPSharpeningSystem : EntitySystem
foreach (var item in itemPlacer.PlacedEntities)
{
if (!TryComp<CPSharpenedComponent>(item, out var sharpened))
if (!TryComp<CP14SharpenedComponent>(item, out var sharpened))
continue;
SharpThing(stone, item, sharpened);
@@ -57,9 +57,9 @@ public sealed class CPSharpeningSystem : EntitySystem
}
}
private void OnAfterInteract(Entity<CPSharpeningStoneComponent> stone, ref AfterInteractEvent args)
private void OnAfterInteract(Entity<CP14SharpeningStoneComponent> stone, ref AfterInteractEvent args)
{
if (!args.CanReach || args.Target == null || !TryComp<CPSharpenedComponent>(args.Target, out var sharpened))
if (!args.CanReach || args.Target == null || !TryComp<CP14SharpenedComponent>(args.Target, out var sharpened))
return;
if (TryComp<UseDelayComponent>(stone, out var useDelay) && _useDelay.IsDelayed( new Entity<UseDelayComponent>(stone, useDelay)))
@@ -68,7 +68,7 @@ public sealed class CPSharpeningSystem : EntitySystem
SharpThing(stone, args.Target.Value, sharpened);
}
private void SharpThing(Entity<CPSharpeningStoneComponent> stone, EntityUid target, CPSharpenedComponent component)
private void SharpThing(Entity<CP14SharpeningStoneComponent> stone, EntityUid target, CP14SharpenedComponent component)
{
_audio.PlayPvs(stone.Comp.SharpeningSound, target);
Spawn("EffectSparks", Transform(target).Coordinates);
@@ -81,7 +81,7 @@ public sealed class CPSharpeningSystem : EntitySystem
_useDelay.TryResetDelay(stone);
}
private void OnExamined(Entity<CPSharpenedComponent> sharpened, ref ExaminedEvent args)
private void OnExamined(Entity<CP14SharpenedComponent> sharpened, ref ExaminedEvent args)
{
if (sharpened.Comp.Sharpness > 0.95f)
@@ -104,7 +104,7 @@ public sealed class CPSharpeningSystem : EntitySystem
args.PushMarkup(Loc.GetString("sharpening-examined-25"));
}
private void OnGetMeleeDamage(Entity<CPSharpenedComponent> sharpened, ref GetMeleeDamageEvent args)
private void OnGetMeleeDamage(Entity<CP14SharpenedComponent> sharpened, ref GetMeleeDamageEvent args)
{
args.Damage *= sharpened.Comp.Sharpness;
}

View File

@@ -1,14 +1,14 @@
using Content.Shared.Parallax.Biomes;
using Robust.Shared.Prototypes;
namespace Content.Server.CrystallPunk.SpawnMapBiome;
namespace Content.Server._CP14.StationBiome;
/// <summary>
/// allows you to initialize a planet on a specific map at initialization time.
/// </summary>
[RegisterComponent, Access(typeof(StationBiomeSystem))]
public sealed partial class StationBiomeComponent : Component
[RegisterComponent, Access(typeof(CP14StationBiomeSystem))]
public sealed partial class CP14StationBiomeComponent : Component
{
[DataField]
public ProtoId<BiomeTemplatePrototype> Biome = "Grasslands";

View File

@@ -5,8 +5,8 @@ using Content.Server.Station.Systems;
using Robust.Shared.Map;
using Robust.Shared.Prototypes;
namespace Content.Server.CrystallPunk.SpawnMapBiome;
public sealed partial class StationBiomeSystem : EntitySystem
namespace Content.Server._CP14.StationBiome;
public sealed partial class CP14StationBiomeSystem : EntitySystem
{
[Dependency] private readonly BiomeSystem _biome = default!;
[Dependency] private readonly IMapManager _mapManager = default!;
@@ -16,10 +16,10 @@ public sealed partial class StationBiomeSystem : EntitySystem
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<StationBiomeComponent, StationPostInitEvent>(OnStationPostInit);
SubscribeLocalEvent<CP14StationBiomeComponent, StationPostInitEvent>(OnStationPostInit);
}
private void OnStationPostInit(Entity<StationBiomeComponent> map, ref StationPostInitEvent args)
private void OnStationPostInit(Entity<CP14StationBiomeComponent> map, ref StationPostInitEvent args)
{
if (!TryComp(map, out StationDataComponent? dataComp))
return;

View File

@@ -1,6 +1,6 @@
using Content.Shared._CP14.LockKey;
using Content.Shared.Access.Components;
using Content.Shared.Access.Systems;
using Content.Shared.CrystallPunk.LockKey;
using Content.Shared.Construction.Components;
using Content.Shared.DoAfter;
using Content.Shared.Doors;
@@ -30,7 +30,7 @@ public sealed class LockSystem : EntitySystem
[Dependency] private readonly SharedAudioSystem _audio = default!;
[Dependency] private readonly SharedPopupSystem _sharedPopupSystem = default!;
[Dependency] private readonly SharedDoAfterSystem _doAfter = default!;
[Dependency] private readonly SharedCPLockKeySystem _lockCP = default!; //CrystallPunk Lock System Adapt
[Dependency] private readonly SharedCP14LockKeySystem _lockCp14 = default!; //CrystallPunk Lock System Adapt
/// <inheritdoc />
public override void Initialize()
@@ -99,7 +99,7 @@ public sealed class LockSystem : EntitySystem
private void OnExamined(EntityUid uid, LockComponent lockComp, ExaminedEvent args)
{
//CrystallPunk Lock System Adapt Start
if (lockComp.LockSlotId != null && _lockCP.TryGetLockFromSlot(uid, out var lockEnt))
if (lockComp.LockSlotId != null && _lockCp14.TryGetLockFromSlot(uid, out var lockEnt))
{
args.PushText(Loc.GetString("cp-lock-examine-lock-slot", ("lock", MetaData(lockEnt.Value).EntityName)));

View File

@@ -1,12 +1,12 @@
using Robust.Shared.Prototypes;
namespace Content.Shared.CrystallPunk.LockKey;
namespace Content.Shared._CP14.LockKey;
/// <summary>
/// A prototype of the lock category. Need a roundstart mapping to ensure that keys and locks will fit together despite randomization.
/// </summary>
[Prototype("CPLockCategory")]
public sealed partial class CPLockCategoryPrototype : IPrototype
[Prototype("CP14LockCategory")]
public sealed partial class CP14LockCategoryPrototype : IPrototype
{
[ViewVariables]
[IdDataField]

View File

@@ -1,12 +1,12 @@
using Robust.Shared.Prototypes;
namespace Content.Shared.CrystallPunk.LockKey;
namespace Content.Shared._CP14.LockKey.Components;
/// <summary>
/// a key component that can be used to unlock and lock locks from CPLockComponent
/// </summary>
[RegisterComponent]
public sealed partial class CPKeyComponent : Component
public sealed partial class CP14KeyComponent : Component
{
[DataField]
public List<int>? LockShape = null;
@@ -15,5 +15,5 @@ public sealed partial class CPKeyComponent : Component
/// If not null, automatically generates a key for the specified category on initialization. This ensures that the lock will be opened with a key of the same category.
/// </summary>
[DataField]
public ProtoId<CPLockCategoryPrototype>? AutoGenerateShape = null;
public ProtoId<CP14LockCategoryPrototype>? AutoGenerateShape = null;
}

View File

@@ -1,9 +1,9 @@
namespace Content.Shared.CrystallPunk.LockKey;
namespace Content.Shared._CP14.LockKey.Components;
/// <summary>
/// A component that allows you to track a ring of keys to quickly open and lock doors with the entire bunch.
/// </summary>
[RegisterComponent]
public sealed partial class CPKeyRingComponent : Component
public sealed partial class CP14KeyRingComponent : Component
{
}

View File

@@ -1,15 +1,12 @@
using Content.Shared.CrystallPunk.LockKey;
using Content.Shared.Damage;
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
namespace Content.Shared.CrystallPunk.LockKey;
namespace Content.Shared._CP14.LockKey.Components;
/// <summary>
/// A component of a lock that stores its keyhole shape, complexity, and current state.
/// </summary>
[RegisterComponent]
public sealed partial class CPLockComponent : Component
public sealed partial class CP14LockComponent : Component
{
[DataField]
public List<int>? LockShape = null;
@@ -33,5 +30,5 @@ public sealed partial class CPLockComponent : Component
/// If not null, automatically generates a lock for the specified category on initialization. This ensures that the lock will be opened with a key of the same category.
/// </summary>
[DataField]
public ProtoId<CPLockCategoryPrototype>? AutoGenerateShape = null;
public ProtoId<CP14LockCategoryPrototype>? AutoGenerateShape = null;
}

View File

@@ -1,15 +1,12 @@
using Content.Shared.CrystallPunk.LockKey;
using Robust.Shared.Audio;
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
namespace Content.Shared.CrystallPunk.LockKey;
namespace Content.Shared._CP14.LockKey.Components;
/// <summary>
/// A component of a lock that stores its keyhole shape, complexity, and current state.
/// </summary>
[RegisterComponent]
public sealed partial class CPLockpickComponent : Component
public sealed partial class CP14LockpickComponent : Component
{
[DataField]
public int Health = 3;

View File

@@ -1,23 +1,22 @@
using System.Diagnostics.CodeAnalysis;
using Content.Shared._CP14.LockKey.Components;
using Content.Shared.Containers.ItemSlots;
using Content.Shared.Interaction;
using Content.Shared.Lock;
using Content.Shared.Popups;
using Robust.Shared.Containers;
using Robust.Shared.Serialization;
using System.Diagnostics.CodeAnalysis;
using Content.Shared.Verbs;
using Content.Shared.Storage.EntitySystems;
using Content.Shared.Storage;
using Robust.Shared.Random;
using Content.Shared.Verbs;
using Robust.Shared.Audio.Systems;
using Robust.Shared.Containers;
using Robust.Shared.Random;
using Robust.Shared.Serialization;
namespace Content.Shared.CrystallPunk.LockKey;
namespace Content.Shared._CP14.LockKey;
/// <summary>
///
///
/// </summary>
public sealed class SharedCPLockKeySystem : EntitySystem
public sealed class SharedCP14LockKeySystem : EntitySystem
{
[Dependency] private readonly ItemSlotsSystem _itemSlots = default!;
@@ -27,7 +26,7 @@ public sealed class SharedCPLockKeySystem : EntitySystem
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;
private const int DepthCompexity = 2; //TODO - fix this constant duplication from KeyholeGenerationSystem.cs
private const int DepthComplexity = 2; //TODO - fix this constant duplication from KeyholeGenerationSystem.cs
public override void Initialize()
@@ -39,12 +38,12 @@ public sealed class SharedCPLockKeySystem : EntitySystem
SubscribeLocalEvent<LockComponent, EntInsertedIntoContainerMessage>(OnLockInserted);
SubscribeLocalEvent<LockComponent, EntRemovedFromContainerMessage>(OnLockRemoved);
SubscribeLocalEvent<CPKeyComponent, AfterInteractEvent>(OnKeyInteract);
SubscribeLocalEvent<CPKeyRingComponent, AfterInteractEvent>(OnKeyRingInteract);
SubscribeLocalEvent<CPKeyComponent, GetVerbsEvent<UtilityVerb>>(OnKeyToLockVerb);
SubscribeLocalEvent<CPLockpickComponent, GetVerbsEvent<UtilityVerb>>(OnLockpickToLockVerb);
SubscribeLocalEvent<CP14KeyComponent, AfterInteractEvent>(OnKeyInteract);
SubscribeLocalEvent<CP14KeyRingComponent, AfterInteractEvent>(OnKeyRingInteract);
SubscribeLocalEvent<CP14KeyComponent, GetVerbsEvent<UtilityVerb>>(OnKeyToLockVerb);
SubscribeLocalEvent<CP14LockpickComponent, GetVerbsEvent<UtilityVerb>>(OnLockpickToLockVerb);
}
private void OnKeyRingInteract(Entity<CPKeyRingComponent> keyring, ref AfterInteractEvent args)
private void OnKeyRingInteract(Entity<CP14KeyRingComponent> keyring, ref AfterInteractEvent args)
{
if (args.Handled)
return;
@@ -62,13 +61,13 @@ public sealed class SharedCPLockKeySystem : EntitySystem
foreach (var item in storageComp.StoredItems)
{
if (!TryComp<CPKeyComponent>(item.Key, out var keyComp))
if (!TryComp<CP14KeyComponent>(item.Key, out var keyComp))
continue;
if (keyComp.LockShape != lockEnt.Value.Comp.LockShape)
continue;
TryUseKeyOnLock(args.User, args.Target.Value, new Entity<CPKeyComponent>(item.Key, keyComp), lockEnt.Value);
TryUseKeyOnLock(args.User, args.Target.Value, new Entity<CP14KeyComponent>(item.Key, keyComp), lockEnt.Value);
args.Handled = true;
return;
}
@@ -76,7 +75,7 @@ public sealed class SharedCPLockKeySystem : EntitySystem
}
}
private void OnKeyInteract(Entity<CPKeyComponent> key, ref AfterInteractEvent args)
private void OnKeyInteract(Entity<CP14KeyComponent> key, ref AfterInteractEvent args)
{
if (args.Handled)
return;
@@ -87,12 +86,12 @@ public sealed class SharedCPLockKeySystem : EntitySystem
if (TryComp<LockComponent>(args.Target, out var lockComp) &&
TryGetLockFromSlot(args.Target.Value, out var lockEnt))
{
TryUseKeyOnLock(args.User, args.Target.Value, key, new Entity<CPLockComponent>(lockEnt.Value.Owner, lockEnt.Value.Comp));
TryUseKeyOnLock(args.User, args.Target.Value, key, new Entity<CP14LockComponent>(lockEnt.Value.Owner, lockEnt.Value.Comp));
args.Handled = true;
}
}
private void OnLockpickToLockVerb(Entity<CPLockpickComponent> lockpick, ref GetVerbsEvent<UtilityVerb> args)
private void OnLockpickToLockVerb(Entity<CP14LockpickComponent> lockpick, ref GetVerbsEvent<UtilityVerb> args)
{
if (!args.CanInteract || !args.CanAccess)
return;
@@ -103,13 +102,13 @@ public sealed class SharedCPLockKeySystem : EntitySystem
if (!TryGetLockFromSlot(args.Target, out var lockItem))
return;
if (!TryComp<CPLockComponent>(lockItem, out var lockItemComp))
if (!TryComp<CP14LockComponent>(lockItem, out var lockItemComp))
return;
var target = args.Target;
var user = args.User;
for (int i = DepthCompexity; i >= -DepthCompexity; i--)
for (int i = DepthComplexity; i >= -DepthComplexity; i--)
{
var height = i;
var verb = new UtilityVerb()
@@ -128,7 +127,7 @@ public sealed class SharedCPLockKeySystem : EntitySystem
}
}
private bool TryHackDoorElement(EntityUid user, EntityUid target, Entity<CPLockpickComponent> lockpick, CPLockComponent lockEnt, LockComponent lockComp, int height)
private bool TryHackDoorElement(EntityUid user, EntityUid target, Entity<CP14LockpickComponent> lockpick, CP14LockComponent lockEnt, LockComponent lockComp, int height)
{
if (lockEnt.LockShape == null)
return true;
@@ -182,7 +181,7 @@ public sealed class SharedCPLockKeySystem : EntitySystem
}
}
private void OnKeyToLockVerb(Entity<CPKeyComponent> key, ref GetVerbsEvent<UtilityVerb> args)
private void OnKeyToLockVerb(Entity<CP14KeyComponent> key, ref GetVerbsEvent<UtilityVerb> args)
{
if (!args.CanInteract || !args.CanAccess)
return;
@@ -193,7 +192,7 @@ public sealed class SharedCPLockKeySystem : EntitySystem
if (!TryGetLockFromSlot(args.Target, out var lockItem))
return;
if (!TryComp<CPLockComponent>(lockItem, out var lockItemComp))
if (!TryComp<CP14LockComponent>(lockItem, out var lockItemComp))
return;
var target = args.Target;
@@ -203,7 +202,7 @@ public sealed class SharedCPLockKeySystem : EntitySystem
{
Act = () =>
{
TryUseKeyOnLock(user, target, key, new Entity<CPLockComponent>(target, lockItemComp));
TryUseKeyOnLock(user, target, key, new Entity<CP14LockComponent>(target, lockItemComp));
},
IconEntity = GetNetEntity(key),
Text = Loc.GetString(lockComp.Locked ? "cp-lock-verb-use-key-text-open" : "cp-lock-verb-use-key-text-close", ("item", MetaData(args.Target).EntityName)),
@@ -221,7 +220,7 @@ public sealed class SharedCPLockKeySystem : EntitySystem
if (args.Container.ID != lockSlot.Comp.LockSlotId)
return;
if (!TryComp<CPLockComponent>(args.EntityUid, out var lockComp))
if (!TryComp<CP14LockComponent>(args.EntityUid, out var lockComp))
{
args.Cancel();
return;
@@ -248,7 +247,7 @@ public sealed class SharedCPLockKeySystem : EntitySystem
if (args.Container.ID != lockSlot.Comp.LockSlotId)
return;
if (!TryComp<CPLockComponent>(args.Entity, out var lockComp))
if (!TryComp<CP14LockComponent>(args.Entity, out var lockComp))
return;
_appearance.SetData(lockSlot, LockSlotVisuals.LockExist, true);
@@ -262,7 +261,7 @@ public sealed class SharedCPLockKeySystem : EntitySystem
}
public bool TryGetLockFromSlot(EntityUid uid,
[NotNullWhen(true)] out Entity<CPLockComponent>? lockEnt,
[NotNullWhen(true)] out Entity<CP14LockComponent>? lockEnt,
LockComponent? component = null)
{
if (!Resolve(uid, ref component, false))
@@ -279,9 +278,9 @@ public sealed class SharedCPLockKeySystem : EntitySystem
if (_itemSlots.TryGetSlot(uid, component.LockSlotId, out ItemSlot? slot))
{
if (TryComp<CPLockComponent>(slot.Item, out var lockComp))
if (TryComp<CP14LockComponent>(slot.Item, out var lockComp))
{
lockEnt = new Entity<CPLockComponent>(slot.Item.Value, lockComp);
lockEnt = new Entity<CP14LockComponent>(slot.Item.Value, lockComp);
return true;
}
else
@@ -294,7 +293,7 @@ public sealed class SharedCPLockKeySystem : EntitySystem
lockEnt = null;
return false;
}
private bool TryUseKeyOnLock(EntityUid user, EntityUid target, Entity<CPKeyComponent> keyEnt, Entity<CPLockComponent> lockEnt)
private bool TryUseKeyOnLock(EntityUid user, EntityUid target, Entity<CP14KeyComponent> keyEnt, Entity<CP14LockComponent> lockEnt)
{
if (!TryComp<LockComponent>(target, out var lockComp))
return false;

View File

@@ -1,4 +1,4 @@
marking-CPHumanFacialHair3Clock = Легкая щетина
marking-CPHumanFacialHairAbe = Серьезная щетина
marking-CPHumanFacialHairDwarf = Дворф
marking-CPHumanFacialHairGoateeMush = Козлиная бородка с усиками
marking-CP14HumanFacialHair3Clock = Легкая щетина
marking-CP14HumanFacialHairAbe = Серьезная щетина
marking-CP14HumanFacialHairDwarf = Дворф
marking-CP14HumanFacialHairGoateeMush = Козлиная бородка с усиками

View File

@@ -1,12 +1,12 @@
marking-CPHumanHair80s = По плечи
marking-CPHumanHairA = Короткая стрижка
marking-CPHumanHairAntenna = Непослушные пряди
marking-CPHumanHairB = Скучный пробор
marking-CPHumanHairBedhead = С бодуна
marking-CPHumanHairBedheadV2 = С бодуна 2
marking-CPHumanHairBeeHive = Аристократия в крови
marking-CPHumanHairBigBraid = Хвост во весь рост
marking-CPHumanHairBigDoubleBun = Два пунпона
marking-CPHumanHairBigPompadour = Бард
marking-CPHumanHairCrazyBald = Безумная проплешина
marking-CPHumanHairBob = Неприметливая
marking-CP14HumanHair80s = По плечи
marking-CP14HumanHairA = Короткая стрижка
marking-CP14HumanHairAntenna = Непослушные пряди
marking-CP14HumanHairB = Скучный пробор
marking-CP14HumanHairBedhead = С бодуна
marking-CP14HumanHairBedheadV2 = С бодуна 2
marking-CP14HumanHairBeeHive = Аристократия в крови
marking-CP14HumanHairBigBraid = Хвост во весь рост
marking-CP14HumanHairBigDoubleBun = Два пунпона
marking-CP14HumanHairBigPompadour = Бард
marking-CP14HumanHairCrazyBald = Безумная проплешина
marking-CP14HumanHairBob = Неприметливая

View File

@@ -1,8 +1,8 @@
marking-CPTieflingHorns = Извилистые
marking-CPTieflingHorns2 = Прилежность
marking-CPTieflingHorns3 = Вертикаль власти
marking-CPTieflingHorns3Broken = Сломанная вертикаль
marking-CPTieflingHorns4 = Мелочь
marking-CPTieflingHorns5 = Дьявол
marking-CPTieflingHorns5Broken = Сломленный дьявол
marking-CPTieflingHorns6 = Барашек
marking-CP14TieflingHorns = Извилистые
marking-CP14TieflingHorns2 = Прилежность
marking-CP14TieflingHorns3 = Вертикаль власти
marking-CP14TieflingHorns3Broken = Сломанная вертикаль
marking-CP14TieflingHorns4 = Мелочь
marking-CP14TieflingHorns5 = Дьявол
marking-CP14TieflingHorns5Broken = Сломленный дьявол
marking-CP14TieflingHorns6 = Барашек

View File

@@ -1,2 +1,2 @@
marking-CPTieflingTail = Хвост
marking-CPTieflingTailSpades = Заостренный хвост
marking-CP14TieflingTail = Хвост
marking-CP14TieflingTailSpades = Заостренный хвост

View File

@@ -5172,7 +5172,7 @@ entities:
- type: Transform
pos: 3.5,8.5
parent: 179
- proto: CPSpawnPointAdventurer
- proto: CP14SpawnPointAdventurer
entities:
- uid: 954
components:

View File

@@ -27,7 +27,7 @@
- type: StationRandomTransform
enableStationRotation: false
maxStationOffset: null
- type: StationBiome
- type: CP14StationBiome
- type: StationNameSetup
mapNameTemplate: "Dev"
- type: StationJobs

View File

@@ -1,69 +1,69 @@
- type: entity
id: CPTorsoHuman
id: CP14TorsoHuman
parent: TorsoHuman
components:
- type: Sprite
sprite: _CP14/Mobs/Species/Human/parts.rsi
- type: entity
id: CPHeadHuman
id: CP14HeadHuman
parent: HeadHuman
components:
- type: Sprite
sprite: _CP14/Mobs/Species/Human/parts.rsi
- type: entity
id: CPLeftArmHuman
id: CP14LeftArmHuman
parent: LeftArmHuman
components:
- type: Sprite
sprite: _CP14/Mobs/Species/Human/parts.rsi
- type: entity
id: CPRightArmHuman
id: CP14RightArmHuman
parent: RightArmHuman
components:
- type: Sprite
sprite: _CP14/Mobs/Species/Human/parts.rsi
- type: entity
id: CPLeftHandHuman
id: CP14LeftHandHuman
parent: LeftHandHuman
components:
- type: Sprite
sprite: _CP14/Mobs/Species/Human/parts.rsi
- type: entity
id: CPRightHandHuman
id: CP14RightHandHuman
parent: RightHandHuman
components:
- type: Sprite
sprite: _CP14/Mobs/Species/Human/parts.rsi
- type: entity
id: CPLeftLegHuman
id: CP14LeftLegHuman
parent: LeftLegHuman
components:
- type: Sprite
sprite: _CP14/Mobs/Species/Human/parts.rsi
- type: entity
id: CPRightLegHuman
id: CP14RightLegHuman
parent: RightLegHuman
components:
- type: Sprite
sprite: _CP14/Mobs/Species/Human/parts.rsi
- type: entity
id: CPLeftFootHuman
id: CP14LeftFootHuman
parent: LeftFootHuman
components:
- type: Sprite
sprite: _CP14/Mobs/Species/Human/parts.rsi
- type: entity
id: CPRightFootHuman
id: CP14RightFootHuman
parent: RightFootHuman
components:
- type: Sprite

View File

@@ -1,10 +1,10 @@
- type: body
id: CPHuman
id: CP14Human
name: human
root: torso
slots:
head:
part: CPHeadHuman
part: CP14HeadHuman
connections:
- torso
organs:
@@ -24,26 +24,26 @@
liver: OrganHumanLiver
kidneys: OrganHumanKidneys
right_arm:
part: CPRightArmHuman
part: CP14RightArmHuman
connections:
- right_hand
left_arm:
part: CPLeftArmHuman
part: CP14LeftArmHuman
connections:
- left_hand
right_hand:
part: CPRightHandHuman
part: CP14RightHandHuman
left_hand:
part: CPLeftHandHuman
part: CP14LeftHandHuman
right_leg:
part: CPRightLegHuman
part: CP14RightLegHuman
connections:
- right_foot
left_leg:
part: CPLeftLegHuman
part: CP14LeftLegHuman
connections:
- left_foot
right_foot:
part: CPRightFootHuman
part: CP14RightFootHuman
left_foot:
part: CPLeftFootHuman
part: CP14LeftFootHuman

View File

@@ -1,10 +1,10 @@
- type: body
id: CPTiefling
id: CP14Tiefling
name: tiefling
root: torso
slots:
head:
part: CPHeadHuman
part: CP14HeadHuman
connections:
- torso
organs:
@@ -28,22 +28,22 @@
connections:
- right_hand
left_arm:
part: CPLeftArmHuman
part: CP14LeftArmHuman
connections:
- left_hand
right_hand:
part: CPRightHandHuman
part: CP14RightHandHuman
left_hand:
part: CPLeftHandHuman
part: CP14LeftHandHuman
right_leg:
part: CPRightLegHuman
part: CP14RightLegHuman
connections:
- right_foot
left_leg:
part: CPLeftLegHuman
part: CP14LeftLegHuman
connections:
- left_foot
right_foot:
part: CPRightFootHuman
part: CP14RightFootHuman
left_foot:
part: CPLeftFootHuman
part: CP14LeftFootHuman

View File

@@ -1,5 +1,5 @@
- type: examinableDamage
id: CPWeaponMessages
id: CP14WeaponMessages
messages:
- damageable-weapon-1
- damageable-weapon-2

View File

@@ -1,7 +1,7 @@
- type: entity
abstract: true
parent: Clothing
id: CPClothingCloakBase
id: CP14ClothingCloakBase
components:
- type: Clothing
equipDelay: 1
@@ -12,8 +12,8 @@
state: icon
- type: entity
parent: CPClothingCloakBase
id: CPClothingCloakArmoredRed
parent: CP14ClothingCloakBase
id: CP14ClothingCloakArmoredRed
name: armored red cape
description: Huge metal shoulder pads give extra protection from getting your head chopped off.
components:
@@ -31,9 +31,9 @@
- type: entity
parent:
- CPClothingCloakBase
- CP14ClothingCloakBase
- ClothingSlotBase
id: CPClothingCloakBlacksmithArpon
id: CP14ClothingCloakBlacksmithArpon
name: blacksmith's apron
description: Loose leather strips, still actually being clothing.
components:
@@ -43,8 +43,8 @@
sprite: _CP14/Clothing/Cloak/blacksmith_apron.rsi
- type: entity
parent: CPClothingCloakBase
id: CPClothingCloakHoodieYellow
parent: CP14ClothingCloakBase
id: CP14ClothingCloakHoodieYellow
name: yellow short hooded cape
description: Protects your shoulders and head from the cold and the interest of the opposite sex.
components:

View File

@@ -1,7 +1,7 @@
- type: entity
abstract: true
parent: Clothing
id: CPClothingHeadBase
id: CP14ClothingHeadBase
components:
- type: Clothing
equipDelay: 0.3
@@ -15,8 +15,8 @@
storedRotation: -90
- type: entity
parent: CPClothingHeadBase
id: CPClothingHeadHoodieYellow
parent: CP14ClothingHeadBase
id: CP14ClothingHeadHoodieYellow
noSpawn: true
name: yellow hood
description: You gain +2 to stealth rolls against the attention of the opposite sex.

View File

@@ -1,7 +1,7 @@
- type: entity
abstract: true
parent: Clothing
id: CPClothingMaskBase
id: CP14ClothingMaskBase
components:
- type: Sprite
state: icon
@@ -9,12 +9,12 @@
size: Normal
- type: Clothing
equipDelay: 0.7
unequipDelay: 0.7
unequipDelay: 0.4
slots: [mask]
- type: entity
parent: CPClothingMaskBase
id: CPClothingMaskSinner
parent: CP14ClothingMaskBase
id: CP14ClothingMaskSinner
name: Sinner's Mask
description: A mask intented to be worn by not the brightest individuals. Executioners put them on themselves and the victim before execution.
components:

View File

@@ -1,7 +1,7 @@
- type: entity
abstract: true
parent: Clothing
id: CPClothingPantsBase
id: CP14ClothingPantsBase
components:
- type: Clothing
equipDelay: 1
@@ -12,8 +12,8 @@
state: icon
- type: entity
parent: CPClothingPantsBase
id: CPClothingPantsHarlequinRed
parent: CP14ClothingPantsBase
id: CP14ClothingPantsHarlequinRed
name: red-and-yellow harlequin pants
description: Blood red on one side, sunny yellow on the other. The duality of life and death is always a good joke.
components:

View File

@@ -1,7 +1,7 @@
- type: entity
abstract: true
parent: Clothing
id: CPClothingShirtBase
id: CP14ClothingShirtBase
components:
- type: Clothing
equipDelay: 1
@@ -12,8 +12,8 @@
state: icon
- type: entity
parent: CPClothingShirtBase
id: CPClothingShirtHarlequineRed
parent: CP14ClothingShirtBase
id: CP14ClothingShirtHarlequineRed
name: red harlequin shirt
description: It doesn't show the bloodstains that are left behind after bad jokes.
components:

View File

@@ -1,7 +1,7 @@
- type: entity
abstract: true
parent: Clothing
id: CPClothingShoesBase
id: CP14ClothingShoesBase
components:
- type: Clothing
equipDelay: 1
@@ -14,8 +14,8 @@
size: Normal
- type: entity
parent: CPClothingShoesBase
id: CPClothingShoesBlack
parent: CP14ClothingShoesBase
id: CP14ClothingShoesBlack
name: простые черные ботинки
description: Влагу они не удержат, но это лучше чем ходить босиком.
components:

View File

@@ -1,5 +1,5 @@
- type: entity
id: CPWeaponArcSlash
id: CP14WeaponArcSlash
parent: WeaponArcStatic
noSpawn: true
components:
@@ -7,7 +7,7 @@
animation: CPSlash
- type: entity
id: CPWeaponArcThrust
id: CP14WeaponArcThrust
parent: WeaponArcStatic
noSpawn: true
components:

View File

@@ -1,5 +1,5 @@
- type: entity
id: CPSpawnPointAdventurer
id: CP14SpawnPointAdventurer
parent: SpawnPointJobBase
name: adventurer
components:

View File

@@ -1,5 +1,5 @@
- type: marking
id: CPHumanFacialHair3Clock
id: CP14HumanFacialHair3Clock
bodyPart: FacialHair
markingCategory: FacialHair
sprites:
@@ -7,7 +7,7 @@
state: 3oclock
- type: marking
id: CPHumanFacialHairAbe
id: CP14HumanFacialHairAbe
bodyPart: FacialHair
markingCategory: FacialHair
sprites:
@@ -15,7 +15,7 @@
state: abe
- type: marking
id: CPHumanFacialHairDwarf
id: CP14HumanFacialHairDwarf
bodyPart: FacialHair
markingCategory: FacialHair
sprites:
@@ -23,7 +23,7 @@
state: dwarf
- type: marking
id: CPHumanFacialHairGoateeMush
id: CP14HumanFacialHairGoateeMush
bodyPart: FacialHair
markingCategory: FacialHair
sprites:

View File

@@ -1,5 +1,5 @@
- type: marking
id: CPHumanHair80s
id: CP14HumanHair80s
bodyPart: Hair
markingCategory: Hair
sprites:
@@ -7,7 +7,7 @@
state: 80s
- type: marking
id: CPHumanHairA
id: CP14HumanHairA
bodyPart: Hair
markingCategory: Hair
sprites:
@@ -15,7 +15,7 @@
state: a
- type: marking
id: CPHumanHairAntenna
id: CP14HumanHairAntenna
bodyPart: Hair
markingCategory: Hair
sprites:
@@ -23,7 +23,7 @@
state: antenna
- type: marking
id: CPHumanHairB
id: CP14HumanHairB
bodyPart: Hair
markingCategory: Hair
sprites:
@@ -31,7 +31,7 @@
state: b
- type: marking
id: CPHumanHairBedhead
id: CP14HumanHairBedhead
bodyPart: Hair
markingCategory: Hair
sprites:
@@ -39,7 +39,7 @@
state: bedhead
- type: marking
id: CPHumanHairBedheadV2
id: CP14HumanHairBedheadV2
bodyPart: Hair
markingCategory: Hair
sprites:
@@ -47,7 +47,7 @@
state: bedheadv2
- type: marking
id: CPHumanHairBeeHive
id: CP14HumanHairBeeHive
bodyPart: Hair
markingCategory: Hair
sprites:
@@ -55,7 +55,7 @@
state: beehive
- type: marking
id: CPHumanHairBigPompadour
id: CP14HumanHairBigPompadour
bodyPart: Hair
markingCategory: Hair
sprites:
@@ -63,7 +63,7 @@
state: bigpompadour
- type: marking
id: CPHumanHairBob
id: CP14HumanHairBob
bodyPart: Hair
markingCategory: Hair
sprites:
@@ -71,7 +71,7 @@
state: bob
- type: marking
id: CPHumanHairBigBraid
id: CP14HumanHairBigBraid
bodyPart: Hair
markingCategory: Hair
sprites:
@@ -79,7 +79,7 @@
state: braid
- type: marking
id: CPHumanHairCrazyBald
id: CP14HumanHairCrazyBald
bodyPart: Hair
markingCategory: Hair
sprites:
@@ -87,7 +87,7 @@
state: crazybald
- type: marking
id: CPHumanHairBigDoubleBun
id: CP14HumanHairBigDoubleBun
bodyPart: Hair
markingCategory: Hair
sprites:

View File

@@ -1,6 +1,6 @@
- type: marking
id: CPTieflingHorns
id: CP14TieflingHorns
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [ CPTiefling ]
@@ -9,7 +9,7 @@
state: horn1
- type: marking
id: CPTieflingHorns2
id: CP14TieflingHorns2
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [ CPTiefling ]
@@ -18,7 +18,7 @@
state: horn2
- type: marking
id: CPTieflingHorns3
id: CP14TieflingHorns3
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [ CPTiefling ]
@@ -29,7 +29,7 @@
state: horn3
- type: marking
id: CPTieflingHorns3Broken
id: CP14TieflingHorns3Broken
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [ CPTiefling ]
@@ -40,7 +40,7 @@
state: horn3_broken
- type: marking
id: CPTieflingHorns4
id: CP14TieflingHorns4
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [ CPTiefling ]
@@ -51,7 +51,7 @@
state: horn4
- type: marking
id: CPTieflingHorns5
id: CP14TieflingHorns5
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [ CPTiefling ]
@@ -62,7 +62,7 @@
state: horn5
- type: marking
id: CPTieflingHorns5Broken
id: CP14TieflingHorns5Broken
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [ CPTiefling ]
@@ -73,7 +73,7 @@
state: horn5_broken
- type: marking
id: CPTieflingHorns6
id: CP14TieflingHorns6
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [ CPTiefling ]

View File

@@ -1,5 +1,5 @@
- type: marking
id: CPTieflingTail
id: CP14TieflingTail
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ CPTiefling ]
@@ -10,7 +10,7 @@
state: tail1
- type: marking
id: CPTieflingTailSpades
id: CP14TieflingTailSpades
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [ CPTiefling ]

View File

@@ -1,4 +1,4 @@
- type: entity
save: false
parent: CPBaseMobHuman
id: CPMobHuman
parent: CP14BaseMobHuman
id: CP14MobHuman

View File

@@ -1,4 +1,4 @@
- type: entity
save: false
parent: CPBaseMobTiefling
id: CPMobTiefling
parent: CP14BaseMobTiefling
id: CP14MobTiefling

View File

@@ -3,7 +3,7 @@
- BaseMob
- MobDamageable
- MobCombat
id: CPBaseMobSpecies
id: CP14BaseMobSpecies
save: false
abstract: true
components:
@@ -147,7 +147,7 @@
enabled: false
reflectProb: 0
- type: Body
prototype: Human
prototype: CP14Human
requiredLegs: 2
- type: Identity
- type: IdExaminable
@@ -231,8 +231,8 @@
- MobRespirator
- MobAtmosStandard
- MobFlammable
- CPBaseMobSpecies
id: CPBaseMobSpeciesOrganic
- CP14BaseMobSpecies
id: CP14BaseMobSpeciesOrganic
save: false
abstract: true
components:

View File

@@ -1,7 +1,7 @@
# Anything human specific (e.g. UI, input) goes under MobHuman
- type: entity
parent: CPBaseMobSpeciesOrganic
id: CPBaseMobHuman
parent: CP14BaseMobSpeciesOrganic
id: CP14BaseMobHuman
name: Mr. Human
abstract: true
components:
@@ -18,15 +18,15 @@
- id: FoodMeatHuman
amount: 5
- type: Body
prototype: CPHuman
prototype: CP14Human
requiredLegs: 2
- type: Inventory
templateId: CPHuman
templateId: CP14Human
- type: entity
parent: BaseSpeciesDummy
id: CPMobHumanDummy
id: CP14MobHumanDummy
noSpawn: true
components:
- type: HumanoidAppearance
species: CPHuman
species: CP14Human

View File

@@ -1,13 +1,13 @@
- type: entity
parent: CPBaseMobSpeciesOrganic
id: CPBaseMobTiefling
parent: CP14BaseMobSpeciesOrganic
id: CP14BaseMobTiefling
name: Mr. Tiefling
abstract: true
components:
- type: HumanoidAppearance
species: CPTiefling
species: CP14Tiefling
- type: Body
prototype: CPTiefling
prototype: CP14Tiefling
requiredLegs: 2
- type: Hunger
- type: Icon
@@ -16,12 +16,12 @@
- type: Thirst
- type: Wagging
- type: Inventory
templateId: CPHuman
templateId: CP14Human
- type: entity
parent: BaseSpeciesDummy
id: CPMobTieflingDummy
id: CP14MobTieflingDummy
noSpawn: true
components:
- type: HumanoidAppearance
species: CPTiefling
species: CP14Tiefling

View File

@@ -1,5 +1,5 @@
- type: entity
id: CPBaseSharpeningStone
id: CP14BaseSharpeningStone
name: sharpening stone
description: Allows you to sharpen blunted weapons. If you overdo it, you may well sharpen the weapon completely.
parent: BaseItem
@@ -23,5 +23,5 @@
collection: GlassCrack
- !type:DoActsBehavior
acts: ["Destruction"]
- type: CPSharpeningStone
- type: CP14SharpeningStone
sharpnessHeal: 0.1

View File

@@ -1,5 +1,5 @@
- type: entity
id: CPBaseWeaponChemical
id: CP14BaseWeaponChemical
abstract: true
components:
- type: SolutionContainerManager
@@ -19,7 +19,7 @@
maxTransferAmount: 2
- type: entity
id: CPBaseWeaponThrowable
id: CP14BaseWeaponThrowable
abstract: true
components:
- type: DamageOtherOnHit
@@ -46,14 +46,14 @@
friction: 0.2
- type: entity
id: CPBaseWeaponLight
id: CP14BaseWeaponLight
abstract: true
components:
- type: MeleeWeapon
resetOnHandSelected: false
- type: entity
id: CPBaseWeaponShort
id: CP14BaseWeaponShort
abstract: true
components:
- type: MeleeWeapon
@@ -61,16 +61,16 @@
cPAnimationOffset: -0.75
- type: entity
id: CPBaseWeaponSharp
id: CP14BaseWeaponSharp
abstract: true
components:
- type: Sharp
- type: CPSharpened
- type: CPSharpeningStone
- type: CP14Sharpened
- type: CP14SharpeningStone
- type: UseDelay
- type: entity
id: CPBaseWeaponDestructible
id: CP14BaseWeaponDestructible
abstract: true
components:
- type: ExaminableDamage

View File

@@ -1,13 +1,13 @@
- type: entity
id: CPBaseDagger
id: CP14BaseDagger
parent:
- BaseItem
- CPBaseWeaponDestructible
- CPBaseWeaponSharp
- CPBaseWeaponChemical
- CPBaseWeaponThrowable
- CPBaseWeaponLight
- CPBaseWeaponShort
- CP14BaseWeaponDestructible
- CP14BaseWeaponSharp
- CP14BaseWeaponChemical
- CP14BaseWeaponThrowable
- CP14BaseWeaponLight
- CP14BaseWeaponShort
name: dagger
description: A small, multi-purpose, sharp blade. You can cut meat or throw it at a goblin.
components:

View File

@@ -1,12 +1,12 @@
- type: entity
id: CPBaseHandheldAxe
id: CP14BaseHandheldAxe
parent:
- BaseItem
- CPBaseWeaponDestructible
- CPBaseWeaponSharp
- CPBaseWeaponChemical
- CPBaseWeaponThrowable
- CPBaseWeaponLight
- CP14BaseWeaponDestructible
- CP14BaseWeaponSharp
- CP14BaseWeaponChemical
- CP14BaseWeaponThrowable
- CP14BaseWeaponLight
name: hand axe
description: A small axe, great for chopping wood or sinew.
components:

View File

@@ -1,12 +1,12 @@
- type: entity
id: CPBaseLightHammer
id: CP14BaseLightHammer
parent:
- BaseItem
- CPBaseWeaponDestructible
- CPBaseWeaponChemical
- CPBaseWeaponThrowable
- CPBaseWeaponLight
- CPBaseWeaponShort
- CP14BaseWeaponDestructible
- CP14BaseWeaponChemical
- CP14BaseWeaponThrowable
- CP14BaseWeaponLight
- CP14BaseWeaponShort
name: light hammer
description: A small hammer. Good for carpentry work as well as for cracking skulls.
components:

View File

@@ -1,8 +1,8 @@
- type: entity
id: CPBaseMace
id: CP14BaseMace
parent:
- BaseItem
- CPBaseWeaponDestructible
- CP14BaseWeaponDestructible
name: mace
description: A heavy piece of metal on a long stick. What could be simpler than that?
components:

View File

@@ -1,12 +1,12 @@
- type: entity
id: CPBaseSickle
id: CP14BaseSickle
parent:
- BaseItem
- CPBaseWeaponDestructible
- CPBaseWeaponSharp
- CPBaseWeaponChemical
- CPBaseWeaponLight
- CPBaseWeaponShort
- CP14BaseWeaponDestructible
- CP14BaseWeaponSharp
- CP14BaseWeaponChemical
- CP14BaseWeaponLight
- CP14BaseWeaponShort
name: sickle
description: Originally developed as a weapon against grass, the sickle suddenly proved itself good at the bloodier harvest as well.
components:

View File

@@ -1,11 +1,11 @@
- type: entity
id: CPBaseThrowableSpear
id: CP14BaseThrowableSpear
parent:
- BaseItem
- CPBaseWeaponDestructible
- CPBaseWeaponSharp
- CPBaseWeaponChemical
- CPBaseWeaponThrowable
- CP14BaseWeaponDestructible
- CP14BaseWeaponSharp
- CP14BaseWeaponChemical
- CP14BaseWeaponThrowable
name: throwing javelin
description: A weapon that has done its duty since the age of the giants.
components:

View File

@@ -1,10 +1,10 @@
- type: entity
id: CPBaseTwoHandedSword
id: CP14BaseTwoHandedSword
parent:
- BaseItem
- CPBaseWeaponDestructible
- CPBaseWeaponSharp
- CPBaseWeaponChemical
- CP14BaseWeaponDestructible
- CP14BaseWeaponSharp
- CP14BaseWeaponChemical
name: two-handed sword
description: A powerful weapon that requires tremendous strength and skill to use effectively.
components:
@@ -46,5 +46,5 @@
walkModifier: 0.9
sprintModifier: 0.8
- type: HeldSpeedModifier
- type: CPSharpened
- type: CP14Sharpened
sharpnessDamageByHit: 0.04

View File

@@ -1,5 +1,5 @@
- type: entity
id: CPBaseCoin
id: CP14BaseCoin
parent: BaseItem
abstract: true
components:
@@ -27,8 +27,8 @@
# Copper
- type: entity
id: CPCopperCoin
parent: CPBaseCoin
id: CP14CopperCoin
parent: CP14BaseCoin
name: copper crown
description: The minimum unit of currency in the world of Eberron. One tenth of a silver sovereign.
suffix: 10 coins
@@ -42,8 +42,8 @@
stackType: CPCopperCoin
- type: entity
id: CPCopperCoin5
parent: CPCopperCoin
id: CP14CopperCoin5
parent: CP14CopperCoin
suffix: 5 coins
components:
- type: Sprite
@@ -52,8 +52,8 @@
count: 5
- type: entity
id: CPCopperCoin1
parent: CPCopperCoin
id: CP14CopperCoin1
parent: CP14CopperCoin
suffix: 1 coin
components:
- type: Sprite
@@ -64,8 +64,8 @@
# Silver
- type: entity
id: CPSilverCoin
parent: CPBaseCoin
id: CP14SilverCoin
parent: CP14BaseCoin
name: silver sovereign
description: Equivalent to 10 copper crowns, and is 1 tenth of a gold galifar.
suffix: 10 coins
@@ -79,8 +79,8 @@
stackType: CPSilverCoin
- type: entity
id: CPSilverCoin5
parent: CPSilverCoin
id: CP14SilverCoin5
parent: CP14SilverCoin
suffix: 5 coins
components:
- type: Sprite
@@ -89,8 +89,8 @@
count: 5
- type: entity
id: CPSilverCoin1
parent: CPSilverCoin
id: CP14SilverCoin1
parent: CP14SilverCoin
suffix: 1 coin
components:
- type: Sprite
@@ -101,8 +101,8 @@
# Gold
- type: entity
id: CPGoldCoin
parent: CPBaseCoin
id: CP14GoldCoin
parent: CP14BaseCoin
name: gold galifar
description: Equivalent to 10 silver sovereign, and is 1 tenth of a platinum coin.
suffix: 10 coins
@@ -116,8 +116,8 @@
stackType: CPGoldCoin
- type: entity
id: CPGoldCoin5
parent: CPGoldCoin
id: CP14GoldCoin5
parent: CP14GoldCoin
suffix: 5 coins
components:
- type: Sprite
@@ -126,8 +126,8 @@
count: 5
- type: entity
id: CPGoldCoin1
parent: CPGoldCoin
id: CP14GoldCoin1
parent: CP14GoldCoin
suffix: 1 coin
components:
- type: Sprite
@@ -138,8 +138,8 @@
# Platinum
- type: entity
id: CPPlatinumCoin
parent: CPBaseCoin
id: CP14PlatinumCoin
parent: CP14BaseCoin
name: platinum dragon
description: Equivalent to 10 gold galifar, and is the most expensive coin in Eberron's world.
suffix: 10 coins
@@ -153,8 +153,8 @@
stackType: CPPlatinumCoin
- type: entity
id: CPPlatinumCoin5
parent: CPPlatinumCoin
id: CP14PlatinumCoin5
parent: CP14PlatinumCoin
suffix: 5 coins
components:
- type: Sprite
@@ -163,8 +163,8 @@
count: 5
- type: entity
id: CPPlatinumCoin1
parent: CPPlatinumCoin
id: CP14PlatinumCoin1
parent: CP14PlatinumCoin
suffix: 1 coin
components:
- type: Sprite

View File

@@ -1,5 +1,5 @@
- type: entity
id: CPBaseOre
id: CP14BaseOre
parent: BaseItem
abstract: true
components:
@@ -14,8 +14,8 @@
ore4: ""
- type: entity
id: CPOreCopper
parent: CPBaseOre
id: CP14OreCopper
parent: CP14BaseOre
name: copper piece
description: A piece of pale, heavy copper.
components:
@@ -26,8 +26,8 @@
map: ["random"]
- type: entity
id: CPOreIron
parent: CPBaseOre
id: CP14OreIron
parent: CP14BaseOre
name: iron piece
description: A piece of cold, heavy iron.
components:
@@ -38,8 +38,8 @@
map: ["random"]
- type: entity
id: CPOreSilver
parent: CPBaseOre
id: CP14OreSilver
parent: CP14BaseOre
name: silver piece
description: A piece of shiny, warm silver.
components:
@@ -50,8 +50,8 @@
map: ["random"]
- type: entity
id: CPOreGold
parent: CPBaseOre
id: CP14OreGold
parent: CP14BaseOre
name: gold piece
description: A piece of soft, pure gold.
components:

View File

@@ -1,5 +1,5 @@
- type: entity
id: CPBonfire
id: CP14Bonfire
parent: BaseStructure
name: bonfire
description: A pile of logs stacked together, ready to burst into flames at the slightest spark.
@@ -10,8 +10,8 @@
layers:
- state: bonfire
- type: Construction
graph: CPBonfire
node: CPBonfire
graph: CP14Bonfire
node: CP14Bonfire
- type: Fixtures
fixtures:
fix1:

View File

@@ -1,6 +1,6 @@
- type: entity
parent: BaseMaterialDoorNavMap
id: CPBaseWoodDoor
id: CP14BaseWoodDoor
name: wooden door
description: Not the most solid construction, but it's better than nothing.
suffix: without lock
@@ -50,15 +50,15 @@
lock_slot: !type:ContainerSlot
- type: entity
parent: CPBaseWoodDoor
id: CPWoodDoorTavern
parent: CP14BaseWoodDoor
id: CP14WoodDoorTavern
suffix: Tavern
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: LockTavern
startingItem: CP14LockTavern
disableEject: true
insertOnInteract: false
ejectOnBreak: true

View File

@@ -1,10 +1,10 @@
- type: entity
id: CPFloorBase
id: CP14FloorBase
abstract: true
parent: BaseStructure
components:
- type: PlacementReplacement
key: CPfloor
key: CP14floor
- type: Sprite
drawdepth: FloorTiles
- type: Physics
@@ -40,10 +40,10 @@
hard: false
- type: entity
id: CPFloorWood
id: CP14FloorWood
parent:
- CPFloorBase
- CPBaseWooden
- CP14FloorBase
- CP14BaseWooden
name: wooden floor
description: simple, flammable boards.
components:
@@ -97,12 +97,12 @@
sprite: _CP14/Effects/fire.rsi
normalState: full
- type: Construction
graph: CPFloor
node: CPFloorWood
graph: CP14Floor
node: CP14FloorWood
- type: entity
parent: CPFloorWood
id: CPFloorWoodBig
parent: CP14FloorWood
id: CP14FloorWoodBig
components:
- type: Sprite
sprite: _CP14/Structures/Floors/wood_big.rsi
@@ -117,5 +117,5 @@
wood_big_3: ""
wood_big_4: ""
- type: Construction
graph: CPFloor
node: CPFloorWoodBig
graph: CP14Floor
node: CP14FloorWoodBig

View File

@@ -0,0 +1,35 @@
- type: entity
id: CP14BaseBarrel
parent:
- StorageTank
- CP14BaseWooden
name: wooden barrel
suffix: Empty
description: The simplest design for storing liquids.
components:
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood
- type: SolutionContainerVisuals
maxFillLevels: 7
fillBaseName: liq
- type: Appearance
- type: Sprite
sprite: _CP14/Structure/Furniture/barrel.rsi
layers:
- state: barrel_open
- state: liq1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: entity
id: CP14BarrelWater
parent: CP14BaseBarrel
suffix: Water
components:
- type: SolutionContainerManager
solutions:
tank:
reagents:
- ReagentId: Water
Quantity: 1500

View File

@@ -1,10 +1,10 @@
- type: entity
name: wooden chair
description: Made of the most common planks. Simple and effective!
id: CPChairWooden
id: CP14ChairWooden
parent:
- UnanchoredChairBase
- CPBaseWooden
- CP14BaseWooden
components:
- type: Damageable
damageContainer: Inorganic
@@ -13,8 +13,8 @@
sprite: _CP14/Structures/Furniture/chairs.rsi
state: wooden
- type: Construction
graph: CPSeat
node: CPChairWooden
graph: CP14Seat
node: CP14ChairWooden
- type: Destructible
thresholds:
- trigger:

View File

@@ -1,8 +1,8 @@
- type: entity
parent:
- TableBase
- CPBaseWooden
id: CPTableWooden
- CP14BaseWooden
id: CP14TableWooden
name: wooden table
description: A simple table made of boards.
components:
@@ -13,8 +13,8 @@
sprite: _CP14/Structures/Furniture/Tables/wood.rsi
state: full
- type: Construction
graph: CPTable
node: CPTableWooden
graph: CP14Table
node: CP14TableWooden
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood

View File

@@ -1,6 +1,6 @@
- type: entity
parent: BaseStructureDynamic
id: CPChestGeneric
id: CP14ChestGeneric
noSpawn: true
name: Chest
description: Chest.

View File

@@ -1,7 +1,7 @@
- type: entity
parent:
- CPChestGeneric
- CPBaseWooden
- CP14ChestGeneric
- CP14BaseWooden
id: CPWoodenChest
name: wooden chest
description: A simple wooden chest for easy storage of junk.

View File

@@ -1,16 +1,13 @@
- type: entity
id: CPCaveStoneWall
id: CP14CaveStoneWall
name: rock
parent: CPBaseWall
parent: CP14BaseWall
description: A solid stone natural wall. It has a cave-like coldness to it.
components:
- type: Sprite
sprite: _CP14/Structures/Walls/cave_stone.rsi
- type: Icon
sprite: _CP14/Structures/Walls/cave_stone.rsi
- type: IconSmooth
key: CPwall
base: stone
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Rock
@@ -29,10 +26,10 @@
volume: -6
- type: entity
id: CPCaveStoneWallCopperOre
id: CP14CaveStoneWallCopperOre
name: rock
suffix: copper ore
parent: CPCaveStoneWall
parent: CP14CaveStoneWall
description: A solid stone natural wall. You can see the sharp flecks of copper in it.
components:
- type: Sprite
@@ -62,10 +59,10 @@
max: 5
- type: entity
id: CPCaveStoneWallIronOre
id: CP14CaveStoneWallIronOre
name: rock
suffix: iron ore
parent: CPCaveStoneWall
parent: CP14CaveStoneWall
description: A solid stone natural wall. You can see the sharp flecks of iron in it.
components:
- type: Sprite
@@ -95,10 +92,10 @@
max: 5
- type: entity
id: CPCaveStoneWallSilverOre
id: CP14CaveStoneWallSilverOre
name: rock
suffix: silver ore
parent: CPCaveStoneWall
parent: CP14CaveStoneWall
description: A solid stone natural wall. You see the tantalizing particles of silver in it.
components:
- type: Sprite
@@ -128,10 +125,10 @@
max: 5
- type: entity
id: CPCaveStoneWallGoldOre
id: CP14CaveStoneWallGoldOre
name: rock
suffix: gold ore
parent: CPCaveStoneWall
parent: CP14CaveStoneWall
description: A solid stone natural wall. You see the tantalizing particles of gold in it.
components:
- type: Sprite

View File

@@ -1,50 +1,48 @@
- type: entity
abstract: true
parent: BaseWall
id: CPBaseWall
id: CP14BaseWall
name: стена
description: Достаточно прочная, чтобы прикрыть вас от угроз или холодного ветра.
placement:
mode: SnapgridCenter
snap:
- Wall
components:
- type: IconSmooth
key: CPwall
base: stone
- type: entity
id: CPDebugWall
id: CP14DebugWall
name: тестовая стена
suffix: DEBUG
parent: CPBaseWall
parent: CP14BaseWall
description: Ужасы
components:
- type: Sprite
sprite: _CP14/Structures/Walls/TEMPLATE.rsi
- type: Icon
sprite: _CP14/Structures/Walls/TEMPLATE.rsi
- type: IconSmooth
key: CPwallsbrick
base: brick
- type: entity
id: CPStoneRuinWall
id: CP14StoneRuinWall
name: stone wall ruin
suffix: Outdated sprite format!
parent: CPBaseWall
parent: CP14BaseWall
description: These walls have seen a lot, and they don't have long to live.
components:
- type: Sprite
sprite: _CP14/Structures/Walls/ruin_stone.rsi
- type: Icon
sprite: _CP14/Structures/Walls/ruin_stone.rsi
- type: IconSmooth
key: CPwallsbrick
base: brick
- type: entity
id: CPWoodFullWall
id: CP14WoodFullWall
name: wooden wall
parent:
- CPBaseWall
- CPBaseWooden
- CP14BaseWall
- CP14BaseWooden
description: Board to board, and together they form protection and comfort.
components:
- type: Sprite
@@ -52,9 +50,6 @@
- type: Icon
sprite: _CP14/Structures/Walls/wood_full.rsi
state: full
- type: IconSmooth
key: CPwallswood
base: wood
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood
@@ -89,7 +84,7 @@
normalState: full
- type: entity
id: CPStoneRuinFragment
id: CP14StoneRuinFragment
parent: BaseRock
name: stone wall fragments
description: It's all that's left of former greatness.

View File

@@ -1,5 +1,5 @@
- type: entity
id: CPBaseSharpeningStoneStructure
id: CP14BaseSharpeningStoneStructure
name: stationary sharpening stone
description: A strong, durable sharpening stone capable of sharpening weapons without much damage to them.
parent: BaseStructure
@@ -41,7 +41,7 @@
collection: GlassCrack
- !type:DoActsBehavior
acts: ["Destruction"]
- type: CPSharpeningStone
- type: CP14SharpeningStone
sharpnessHeal: 0.1
targetDamage:
types:

View File

@@ -1,5 +1,5 @@
- type: entity
id: CPBaseWooden
id: CP14BaseWooden
abstract: true
components:
- type: Damageable

View File

@@ -1,11 +1,11 @@
- type: entity
parent: BaseItem
id: BaseKeyRing
id: CP14BaseKeyRing
suffix: Пустое
name: кольцо для ключей
description: Позволяет комфортно хранить большое количество ключей в одном месте.
components:
- type: CPKeyRing
- type: CP14KeyRing
- type: Sprite
sprite: _CP14/Objects/keys.rsi
layers:
@@ -22,7 +22,7 @@
maxItemSize: Small
whitelist:
tags:
- CPKey
- CP14Key
- type: UserInterface
interfaces:
- key: enum.StorageUiKey.Key
@@ -32,10 +32,10 @@
storagebase: !type:Container
- type: entity
parent: BaseKeyRing
id: KeyRingInnkeeper
parent: CP14BaseKeyRing
id: CP14KeyRingInnkeeper
suffix: Трактирщик
components:
- type: StorageFill
contents:
- id: KeyTavern
- id: CP14KeyTavern

View File

@@ -1,18 +1,18 @@
- type: entity
parent: BaseItem
id: BaseKey
id: CP14BaseKey
abstract: true
name: ключ
description: Небольшая заковыристая железяка, открывающая определенные замки. Не отдавайте кому попало!
components:
- type: Tag
tags:
- CPKey
- CP14Key
- type: Item
size: Tiny
- type: Sprite
sprite: _CP14/Objects/keys.rsi
- type: CPKey
- type: CP14Key
autoGenerateShape: Debug
- type: EmitSoundOnLand
sound:
@@ -22,21 +22,21 @@
- type: entity
parent: BaseItem
id: BaseLockpick
id: CP14BaseLockpick
name: отмычка
description: Воровской инструмент, при должном умении и сноровке позволяющий взламывать любые замки.
components:
- type: Sprite
sprite: _CP14/Objects/keys.rsi
state: lockpick
- type: CPLockpick
- type: CP14Lockpick
- type: entity
parent: BaseKey
id: KeyTavern
parent: CP14BaseKey
id: CP14KeyTavern
name: ключ от таверны
components:
- type: Sprite
state: key1
- type: CPKey
- type: CP14Key
autoGenerateShape: Tavern

View File

@@ -1,11 +1,11 @@
- type: entity
parent: BaseItem
abstract: true
id: BaseLock
id: CP14BaseLock
name: стальной замок
description: Он запирает вещи. И вам потребуется ключ, чтобы открыть их обратно.
components:
- type: CPLock
- type: CP14Lock
lockPickDamageChance: 0.2
autoGenerateShape: Debug
- type: Sprite
@@ -14,9 +14,9 @@
- state: lock
- type: entity
parent: BaseLock
id: LockTavern
parent: CP14BaseLock
id: CP14LockTavern
name: замок от таверны
components:
- type: CPLock
- type: CP14Lock
autoGenerateShape: Tavern

View File

@@ -1,5 +1,5 @@
- type: inventoryTemplate
id: CPHuman
id: CP14Human
slots:
# Left hotbar
# 0, y

View File

@@ -1,28 +1,28 @@
# Cloak
- type: loadout
id: CPTestCloak
equipment: CPTestCloak
id: CP14TestCloak
equipment: CP14TestCloak
- type: startingGear
id: CPTestCloak
id: CP14TestCloak
equipment:
cloak: CPClothingCloakHoodieYellow
cloak: CP14ClothingCloakHoodieYellow
- type: loadout
id: CPTestCloak2
equipment: CPTestCloak2
id: CP14TestCloak2
equipment: CP14TestCloak2
- type: startingGear
id: CPTestCloak2
id: CP14TestCloak2
equipment:
cloak: CPClothingCloakArmoredRed
cloak: CP14ClothingCloakArmoredRed
- type: loadout
id: CPTestCloak3
equipment: CPTestCloak3
id: CP14TestCloak3
equipment: CP14TestCloak3
- type: startingGear
id: CPTestCloak3
id: CP14TestCloak3
equipment:
cloak: CPClothingCloakBlacksmithArpon
cloak: CP14ClothingCloakBlacksmithArpon

View File

@@ -1,7 +1,7 @@
- type: loadoutGroup
id: CPTestLoadout
id: CP14TestLoadout
name: job-name-adventurer
loadouts:
- CPTestCloak
- CPTestCloak2
- CPTestCloak3
- CP14TestCloak
- CP14TestCloak2
- CP14TestCloak3

View File

@@ -2,5 +2,5 @@
- type: roleLoadout
id: JobAdventurer
groups:
- CPTestLoadout
- CP14TestLoadout
- Trinkets

View File

@@ -1,7 +1,7 @@
- type: CPLockCategory
- type: CP14LockCategory
id: Debug
complexity: 10
- type: CPLockCategory
- type: CP14LockCategory
id: Tavern
complexity: 3

View File

@@ -1,16 +1,16 @@
- type: constructionGraph
id: CPBonfire
id: CP14Bonfire
start: start
graph:
- node: start
actions:
- !type:DestroyEntity {}
edges:
- to: CPBonfire
- to: CP14Bonfire
steps:
- material: WoodPlank
amount: 5
doAfter: 3
- node: CPBonfire
entity: CPBonfire
- node: CP14Bonfire
entity: CP14Bonfire

View File

@@ -1,16 +1,16 @@
- type: constructionGraph
id: CPWoodenChest
id: CP14WoodenChest
start: start
graph:
- node: start
actions:
- !type:DestroyEntity {}
edges:
- to: CPWoodenChest
- to: CP14WoodenChest
steps:
- material: WoodPlank
amount: 5
doAfter: 2
- node: CPWoodenChest
entity: CPWoodenChest
- node: CP14WoodenChest
entity: CP14WoodenChest

View File

@@ -1,16 +1,16 @@
- type: constructionGraph
id: CPSeat
id: CP14Seat
start: start
graph:
- node: start
actions:
- !type:DestroyEntity {}
edges:
- to: CPChairWooden
- to: CP14ChairWooden
steps:
- material: WoodPlank
amount: 4
doAfter: 2
- node: CPChairWooden
entity: CPChairWooden
- node: CP14ChairWooden
entity: CP14ChairWooden

View File

@@ -1,16 +1,16 @@
- type: constructionGraph
id: CPTable
id: CP14Table
start: start
graph:
- node: start
actions:
- !type:DestroyEntity {}
edges:
- to: CPTableWooden
- to: CP14TableWooden
steps:
- material: WoodPlank
amount: 3
doAfter: 2
- node: CPTableWooden
entity: CPTableWooden
- node: CP14TableWooden
entity: CP14TableWooden

View File

@@ -1,24 +1,24 @@
- type: constructionGraph
id: CPFloor
id: CP14Floor
start: start
graph:
- node: start
actions:
- !type:DestroyEntity {}
edges:
- to: CPFloorWood
- to: CP14FloorWood
steps:
- material: WoodPlank
amount: 2
doAfter: 1
- to: CPFloorWoodBig
- to: CP14FloorWoodBig
steps:
- material: WoodPlank
amount: 2
doAfter: 1
- node: CPFloorWood
entity: CPFloorWood
- node: CP14FloorWood
entity: CP14FloorWood
- node: CPFloorWoodBig
entity: CPFloorWoodBig
- node: CP14FloorWoodBig
entity: CP14FloorWoodBig

View File

@@ -2,10 +2,10 @@
crystallPunkAllowed: true
name: Wooden floor
description: Made of the most common planks. Simple and effective!
id: CPFloorWood
graph: CPFloor
id: CP14FloorWood
graph: CP14Floor
startNode: start
targetNode: CPFloorWood
targetNode: CP14FloorWood
category: construction-category-floor
icon:
sprite: _CP14/Structures/Floors/wood.rsi
@@ -18,10 +18,10 @@
crystallPunkAllowed: true
name: Wooden big floor
description: Made of the most common planks. Simple and effective!
id: CPFloorWoodBig
graph: CPFloor
id: CP14FloorWoodBig
graph: CP14Floor
startNode: start
targetNode: CPFloorWoodBig
targetNode: CP14FloorWoodBig
category: construction-category-floor
icon:
sprite: _CP14/Structures/Floors/wood_big.rsi

View File

@@ -2,10 +2,10 @@
crystallPunkAllowed: true
name: Wooden chair
description: Made of the most common planks. Simple and effective!
id: CPChairWooden
graph: CPSeat
id: CP14ChairWooden
graph: CP14Seat
startNode: start
targetNode: CPChairWooden
targetNode: CP14ChairWooden
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Furniture/chairs.rsi
@@ -20,10 +20,10 @@
crystallPunkAllowed: true
name: Wooden table
description: A simple table made of boards.
id: CPTableWooden
graph: CPTable
id: CP14TableWooden
graph: CP14Table
startNode: start
targetNode: CPTableWooden
targetNode: CP14TableWooden
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Furniture/Tables/wood.rsi
@@ -38,10 +38,10 @@
crystallPunkAllowed: true
name: Bonfire
description: A pile of logs stacked together, ready to burst into flames at the slightest spark.
id: CPBonfire
graph: CPBonfire
id: CP14Bonfire
graph: CP14Bonfire
startNode: start
targetNode: CPBonfire
targetNode: CP14Bonfire
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Decoration/bonfire.rsi
@@ -56,10 +56,10 @@
crystallPunkAllowed: true
name: Wooden chest
description: a simple wooden chest for easy storage of junk.
id: CPWoodenChest
graph: CPWoodenChest
id: CP14WoodenChest
graph: CP14WoodenChest
startNode: start
targetNode: CPWoodenChest
targetNode: CP14WoodenChest
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Storage/Crates/woodenchest.rsi

View File

@@ -3,13 +3,13 @@
name: job-name-adventurer
description: job-description-adventurer
playTimeTracker: JobAdventurer
startingGear: CPTestGear
startingGear: CP14TestGear
icon: "JobIconCargoTechnician" #TODO replace
supervisors: job-supervisors-everyone
- type: startingGear
id: CPTestGear
id: CP14TestGear
equipment:
shirt: CPClothingShirtHarlequineRed
pants: CPClothingPantsHarlequinRed
shoes: CPClothingShoesBlack
shirt: CP14ClothingShirtHarlequineRed
pants: CP14ClothingPantsHarlequinRed
shoes: CP14ClothingShoesBlack

View File

@@ -1,4 +1,4 @@
- type: soundCollection
id: CPLobbyMusic
id: CP14LobbyMusic
files:
- /Audio/_CP14/Lobby/crystal.ogg

View File

@@ -1,124 +1,124 @@
- type: species
id: CPHuman
id: CP14Human
name: species-name-human
roundStart: true
prototype: CPMobHuman
sprites: CPMobHumanSprites
prototype: CP14MobHuman
sprites: CP14MobHumanSprites
markingLimits: MobHumanMarkingLimits
dollPrototype: MobHumanDummy
skinColoration: HumanToned
- type: speciesBaseSprites
id: CPMobHumanSprites
id: CP14MobHumanSprites
sprites:
Head: CPMobHumanHead
Hair: CPMobHumanoidAnyMarking
FacialHair: CPMobHumanoidAnyMarking
Snout: CPMobHumanoidAnyMarking
Chest: CPMobHumanTorso
Eyes: CPMobHumanoidEyes
LArm: CPMobHumanLArm
RArm: CPMobHumanRArm
LHand: CPMobHumanLHand
RHand: CPMobHumanRHand
LLeg: CPMobHumanLLeg
RLeg: CPMobHumanRLeg
LFoot: CPMobHumanLFoot
RFoot: CPMobHumanRFoot
Head: CP14MobHumanHead
Hair: CP14MobHumanoidAnyMarking
FacialHair: CP14MobHumanoidAnyMarking
Snout: CP14MobHumanoidAnyMarking
Chest: CP14MobHumanTorso
Eyes: CP14MobHumanoidEyes
LArm: CP14MobHumanLArm
RArm: CP14MobHumanRArm
LHand: CP14MobHumanLHand
RHand: CP14MobHumanRHand
LLeg: CP14MobHumanLLeg
RLeg: CP14MobHumanRLeg
LFoot: CP14MobHumanLFoot
RFoot: CP14MobHumanRFoot
- type: humanoidBaseSprite
id: CPMobHumanoidEyes
id: CP14MobHumanoidEyes
baseSprite:
sprite: _CP14/Mobs/Customization/eyes.rsi
state: eyes
- type: humanoidBaseSprite
id: CPMobHumanoidAnyMarking
id: CP14MobHumanoidAnyMarking
- type: humanoidBaseSprite
id: CPMobHumanoidMarkingMatchSkin
id: CP14MobHumanoidMarkingMatchSkin
markingsMatchSkin: true
- type: humanoidBaseSprite
id: CPMobHumanHead
id: CP14MobHumanHead
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: head_m
- type: humanoidBaseSprite
id: CPMobHumanHeadMale
id: CP14MobHumanHeadMale
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: head_m
- type: humanoidBaseSprite
id: CPMobHumanHeadFemale
id: CP14MobHumanHeadFemale
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: head_f
- type: humanoidBaseSprite
id: CPMobHumanTorso
id: CP14MobHumanTorso
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: torso_m
- type: humanoidBaseSprite
id: CPMobHumanTorsoMale
id: CP14MobHumanTorsoMale
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: torso_m
- type: humanoidBaseSprite
id: CPMobHumanTorsoFemale
id: CP14MobHumanTorsoFemale
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: torso_f
- type: humanoidBaseSprite
id: CPMobHumanLLeg
id: CP14MobHumanLLeg
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: l_leg
- type: humanoidBaseSprite
id: CPMobHumanLArm
id: CP14MobHumanLArm
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: l_arm
- type: humanoidBaseSprite
id: CPMobHumanLHand
id: CP14MobHumanLHand
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: l_hand
- type: humanoidBaseSprite
id: CPMobHumanLFoot
id: CP14MobHumanLFoot
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: l_foot
- type: humanoidBaseSprite
id: CPMobHumanRLeg
id: CP14MobHumanRLeg
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: r_leg
- type: humanoidBaseSprite
id: CPMobHumanRArm
id: CP14MobHumanRArm
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: r_arm
- type: humanoidBaseSprite
id: CPMobHumanRHand
id: CP14MobHumanRHand
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: r_hand
- type: humanoidBaseSprite
id: CPMobHumanRFoot
id: CP14MobHumanRFoot
baseSprite:
sprite: _CP14/Mobs/Species/Human/parts.rsi
state: r_foot

View File

@@ -1,11 +1,11 @@
- type: species
id: CPTiefling
id: CP14Tiefling
name: species-name-tiefling
roundStart: true
prototype: CPMobTiefling
sprites: CPMobTieflingSprites
markingLimits: CPMobTieflingMarkingLimits
dollPrototype: CPMobTieflingDummy
prototype: CP14MobTiefling
sprites: CP14MobTieflingSprites
markingLimits: CP14MobTieflingMarkingLimits
dollPrototype: CP14MobTieflingDummy
skinColoration: Hues
# The lack of a layer means that
@@ -15,27 +15,27 @@
# in either the mob's starting marking prototype,
# or it has to be added in C#.
- type: speciesBaseSprites
id: CPMobTieflingSprites
id: CP14MobTieflingSprites
sprites:
Head: CPMobTieflingHead
HeadTop: CPMobTieflingMarkingMatchSkin
Hair: CPMobTieflingAnyMarking
FacialHair: CPMobTieflingAnyMarking
Snout: CPMobTieflingMarkingMatchSkin
Tail: CPMobTieflingMarkingMatchSkin
Chest: CPMobTieflingTorso
Eyes: CPMobTieflingEyes
LArm: CPMobTieflingLArm
RArm: CPMobTieflingRArm
LHand: CPMobTieflingLHand
RHand: CPMobTieflingRHand
LLeg: CPMobTieflingLLeg
RLeg: CPMobTieflingRLeg
LFoot: CPMobTieflingLFoot
RFoot: CPMobTieflingRFoot
Head: CP14MobTieflingHead
HeadTop: CP14MobTieflingMarkingMatchSkin
Hair: CP14MobTieflingAnyMarking
FacialHair: CP14MobTieflingAnyMarking
Snout: CP14MobTieflingMarkingMatchSkin
Tail: CP14MobTieflingMarkingMatchSkin
Chest: CP14MobTieflingTorso
Eyes: CP14MobTieflingEyes
LArm: CP14MobTieflingLArm
RArm: CP14MobTieflingRArm
LHand: CP14MobTieflingLHand
RHand: CP14MobTieflingRHand
LLeg: CP14MobTieflingLLeg
RLeg: CP14MobTieflingRLeg
LFoot: CP14MobTieflingLFoot
RFoot: CP14MobTieflingRFoot
- type: markingPoints
id: CPMobTieflingMarkingLimits
id: CP14MobTieflingMarkingLimits
points:
Hair:
points: 1
@@ -49,11 +49,11 @@
Tail:
points: 1
required: true
defaultMarkings: [ CPTieflingTail ]
defaultMarkings: [ CP14TieflingTail ]
HeadTop:
points: 1
required: true
defaultMarkings: [ CPTieflingHorns ]
defaultMarkings: [ CP14TieflingHorns ]
Chest:
points: 1
required: false
@@ -65,98 +65,98 @@
required: false
- type: humanoidBaseSprite
id: CPMobTieflingEyes
id: CP14MobTieflingEyes
baseSprite:
sprite: _CP14/Mobs/Customization/eyes.rsi
state: eyes
- type: humanoidBaseSprite
id: CPMobTieflingAnyMarking
id: CP14MobTieflingAnyMarking
- type: humanoidBaseSprite
id: CPMobTieflingMarkingMatchSkin
id: CP14MobTieflingMarkingMatchSkin
markingsMatchSkin: true
- type: humanoidBaseSprite
id: CPMobTieflingHead
id: CP14MobTieflingHead
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: head_m
- type: humanoidBaseSprite
id: CPMobTieflingHeadMale
id: CP14MobTieflingHeadMale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: head_m
- type: humanoidBaseSprite
id: CPMobTieflingHeadFemale
id: CP14MobTieflingHeadFemale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: head_f
- type: humanoidBaseSprite
id: CPMobTieflingTorso
id: CP14MobTieflingTorso
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: torso_m
- type: humanoidBaseSprite
id: CPMobTieflingTorsoMale
id: CP14MobTieflingTorsoMale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: torso_m
- type: humanoidBaseSprite
id: CPMobTieflingTorsoFemale
id: CP14MobTieflingTorsoFemale
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: torso_f
- type: humanoidBaseSprite
id: CPMobTieflingLLeg
id: CP14MobTieflingLLeg
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: l_leg
- type: humanoidBaseSprite
id: CPMobTieflingLArm
id: CP14MobTieflingLArm
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: l_arm
- type: humanoidBaseSprite
id: CPMobTieflingLHand
id: CP14MobTieflingLHand
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: l_hand
- type: humanoidBaseSprite
id: CPMobTieflingLFoot
id: CP14MobTieflingLFoot
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: l_foot
- type: humanoidBaseSprite
id: CPMobTieflingRLeg
id: CP14MobTieflingRLeg
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: r_leg
- type: humanoidBaseSprite
id: CPMobTieflingRArm
id: CP14MobTieflingRArm
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: r_arm
- type: humanoidBaseSprite
id: CPMobTieflingRHand
id: CP14MobTieflingRHand
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: r_hand
- type: humanoidBaseSprite
id: CPMobTieflingRFoot
id: CP14MobTieflingRFoot
baseSprite:
sprite: _CP14/Mobs/Species/Tiefling/parts.rsi
state: r_foot

View File

@@ -1,7 +1,7 @@
- type: stack
id: CPCopperCoin
id: CP14CopperCoin
name: copper crown
spawn: CPCopperCoin1
spawn: CP14CopperCoin1
icon:
sprite: /Textures/_CP14/Objects/Economy/cp_coin.rsi
state: coin1
@@ -9,9 +9,9 @@
itemSize: 1
- type: stack
id: CPSilverCoin
id: CP14SilverCoin
name: silver sovereign
spawn: CPSilverCoin1
spawn: CP14SilverCoin1
icon:
sprite: /Textures/_CP14/Objects/Economy/sp_coin.rsi
state: coin1
@@ -19,9 +19,9 @@
itemSize: 1
- type: stack
id: CPGoldCoin
id: CP14GoldCoin
name: gold galifar
spawn: CPGoldCoin1
spawn: CP14GoldCoin1
icon:
sprite: /Textures/_CP14/Objects/Economy/gp_coin.rsi
state: coin1
@@ -29,9 +29,9 @@
itemSize: 1
- type: stack
id: CPPlatinumCoin
id: CP14PlatinumCoin
name: platinum dragon
spawn: CPPlatinumCoin1
spawn: CP14PlatinumCoin1
icon:
sprite: /Textures/_CP14/Objects/Economy/pp_coin.rsi
state: coin1

View File

@@ -1,5 +1,5 @@
- type: tile
id: CPFloorPlanetGrass
id: CP14FloorPlanetGrass
name: cp-tiles-planet-grass
sprite: /Textures/Tiles/Planet/Grass/grass.png
variants: 4
@@ -27,7 +27,7 @@
indestructible: true
- type: tile
id: CPFloorPlanetStone
id: CP14FloorPlanetStone
name: cp-tiles-planet-stone
sprite: /Textures/_CP14/Tiles/cave.png
variants: 14
@@ -55,7 +55,7 @@
indestructible: true
- type: tile
id: CPFloorPlanetDirt
id: CP14FloorPlanetDirt
name: cp-tiles-planet-dirt
sprite: /Textures/_CP14/Tiles/cavedrought.png
variants: 16

View File

@@ -1,5 +1,5 @@
- type: Tag
id: CPKey
id: CP14Key
- type: Tag
id: CPCoin
id: CP14Coin

Binary file not shown.

After

Width:  |  Height:  |  Size: 906 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

View File

@@ -0,0 +1,38 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Created by Prazat, modified by TheShuEd",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "barrel"
},
{
"name": "barrel_open"
},
{
"name": "liq1"
},
{
"name": "liq2"
},
{
"name": "liq3"
},
{
"name": "liq4"
},
{
"name": "liq5"
},
{
"name": "liq6"
},
{
"name": "liq7"
}
]
}