@@ -6,7 +6,7 @@ namespace Content.Server.EntityEffects.Effects;
|
||||
|
||||
public sealed partial class Electrocute : EntityEffect
|
||||
{
|
||||
[DataField] public int ElectrocuteTime = 2;
|
||||
[DataField] public float ElectrocuteTime = 2; //CP14 - float
|
||||
|
||||
[DataField] public int ElectrocuteDamageScale = 5;
|
||||
|
||||
|
||||
@@ -1,12 +1,17 @@
|
||||
using Content.Server._CP14.MagicEnergy;
|
||||
using Content.Server.Atmos.Components;
|
||||
using Content.Server.Chat.Systems;
|
||||
using Content.Shared._CP14.MagicEnergy.Components;
|
||||
using Content.Shared._CP14.MagicSpell;
|
||||
using Content.Shared._CP14.MagicSpell.Components;
|
||||
using Content.Shared._CP14.MagicSpell.Events;
|
||||
using Content.Shared._CP14.MagicSpell.Spells;
|
||||
using Content.Shared.Projectiles;
|
||||
using Content.Shared.Throwing;
|
||||
using Content.Shared.Weapons.Melee.Events;
|
||||
using Content.Shared.Whitelist;
|
||||
using Robust.Server.GameObjects;
|
||||
using Robust.Shared.Random;
|
||||
|
||||
namespace Content.Server._CP14.MagicSpell;
|
||||
|
||||
@@ -17,12 +22,17 @@ public sealed partial class CP14MagicSystem : CP14SharedMagicSystem
|
||||
[Dependency] private readonly CP14MagicEnergySystem _magicEnergy = default!;
|
||||
[Dependency] private readonly EntityLookupSystem _lookup = default!;
|
||||
[Dependency] private readonly EntityWhitelistSystem _whitelist = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<CP14AreaEntityEffectComponent, MapInitEvent>(OnAoEMapInit);
|
||||
|
||||
SubscribeLocalEvent<CP14SpellEffectOnHitComponent, MeleeHitEvent>(OnMeleeHit);
|
||||
SubscribeLocalEvent<CP14SpellEffectOnHitComponent, ThrowDoHitEvent>(OnProjectileHit);
|
||||
|
||||
SubscribeLocalEvent<CP14MagicEffectVerbalAspectComponent, CP14VerbalAspectSpeechEvent>(OnSpellSpoken);
|
||||
|
||||
SubscribeLocalEvent<CP14MagicEffectCastingVisualComponent, CP14StartCastMagicEffectEvent>(OnSpawnMagicVisualEffect);
|
||||
@@ -31,6 +41,37 @@ public sealed partial class CP14MagicSystem : CP14SharedMagicSystem
|
||||
SubscribeLocalEvent<CP14MagicEffectManaCostComponent, CP14MagicEffectConsumeResourceEvent>(OnManaConsume);
|
||||
}
|
||||
|
||||
private void OnProjectileHit(Entity<CP14SpellEffectOnHitComponent> ent, ref ThrowDoHitEvent args)
|
||||
{
|
||||
if (!_random.Prob(ent.Comp.Prob))
|
||||
return;
|
||||
|
||||
if (ent.Comp.Whitelist is not null && !_whitelist.IsValid(ent.Comp.Whitelist, args.Target))
|
||||
return;
|
||||
|
||||
foreach (var effect in ent.Comp.Effects)
|
||||
{
|
||||
effect.Effect(EntityManager, new CP14SpellEffectBaseArgs(args.Thrown, ent, args.Target, Transform(args.Target).Coordinates));
|
||||
}
|
||||
}
|
||||
|
||||
private void OnMeleeHit(Entity<CP14SpellEffectOnHitComponent> ent, ref MeleeHitEvent args)
|
||||
{
|
||||
if (!_random.Prob(ent.Comp.Prob))
|
||||
return;
|
||||
|
||||
foreach (var entity in args.HitEntities)
|
||||
{
|
||||
if (ent.Comp.Whitelist is not null && !_whitelist.IsValid(ent.Comp.Whitelist, entity))
|
||||
continue;
|
||||
|
||||
foreach (var effect in ent.Comp.Effects)
|
||||
{
|
||||
effect.Effect(EntityManager, new CP14SpellEffectBaseArgs(args.User, ent, entity, Transform(entity).Coordinates));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnAoEMapInit(Entity<CP14AreaEntityEffectComponent> ent, ref MapInitEvent args)
|
||||
{
|
||||
var entitiesAround = _lookup.GetEntitiesInRange(ent, ent.Comp.Range, LookupFlags.Uncontained);
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
using Content.Shared._CP14.MagicSpell.Spells;
|
||||
using Content.Shared.Whitelist;
|
||||
|
||||
namespace Content.Server._CP14.MagicSpell;
|
||||
|
||||
/// <summary>
|
||||
/// Component that allows an meleeWeapon to apply effects to other entities on melee attacks.
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
public sealed partial class CP14SpellEffectOnHitComponent : Component
|
||||
{
|
||||
[DataField(required: true, serverOnly: true)]
|
||||
public List<CP14SpellEffect> Effects = new();
|
||||
|
||||
[DataField]
|
||||
public EntityWhitelist? Whitelist;
|
||||
|
||||
[DataField]
|
||||
public float Prob = 1f;
|
||||
}
|
||||
@@ -119,16 +119,19 @@ public sealed class CP14ModularCraftSystem : CP14SharedModularCraftSystem
|
||||
if (!_proto.TryIndex(partProto, out var partIndexed))
|
||||
continue;
|
||||
|
||||
if (partIndexed.TargetSlot is null)
|
||||
if (partIndexed.Slots.Count == 0)
|
||||
continue;
|
||||
|
||||
if (!start.Comp.FreeSlots.Contains(partIndexed.TargetSlot.Value))
|
||||
continue;
|
||||
|
||||
if (TryAddPartToSlot(start, part, partProto, partIndexed.TargetSlot.Value))
|
||||
foreach (var slot in partIndexed.Slots)
|
||||
{
|
||||
QueueDel(part);
|
||||
return true;
|
||||
if (!start.Comp.FreeSlots.Contains(slot))
|
||||
continue;
|
||||
|
||||
if (TryAddPartToSlot(start, part, partProto, slot))
|
||||
{
|
||||
QueueDel(part);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,13 +144,18 @@ public sealed class CP14ModularCraftSystem : CP14SharedModularCraftSystem
|
||||
if (!_proto.TryIndex(partProto, out var partIndexed))
|
||||
return false;
|
||||
|
||||
if (partIndexed.TargetSlot is null)
|
||||
if (partIndexed.Slots.Count == 0)
|
||||
return false;
|
||||
|
||||
if (!start.Comp.FreeSlots.Contains(partIndexed.TargetSlot.Value))
|
||||
return false;
|
||||
foreach (var slot in partIndexed.Slots)
|
||||
{
|
||||
if (!start.Comp.FreeSlots.Contains(slot))
|
||||
continue;
|
||||
|
||||
return TryAddPartToSlot(start, null, partProto, partIndexed.TargetSlot.Value);
|
||||
return TryAddPartToSlot(start, null, partProto, slot);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool TryAddPartToSlot(Entity<CP14ModularCraftStartPointComponent> start,
|
||||
|
||||
@@ -10,7 +10,7 @@ public sealed partial class CP14ModularCraftPartPrototype : IPrototype
|
||||
public string ID { get; private set; } = default!;
|
||||
|
||||
[DataField]
|
||||
public ProtoId<CP14ModularCraftSlotPrototype>? TargetSlot;
|
||||
public List<ProtoId<CP14ModularCraftSlotPrototype>> Slots = new();
|
||||
|
||||
/// <summary>
|
||||
/// An entity that can drop out of the final modular item when destroyed.
|
||||
@@ -20,7 +20,7 @@ public sealed partial class CP14ModularCraftPartPrototype : IPrototype
|
||||
public EntProtoId? SourcePart;
|
||||
|
||||
[DataField]
|
||||
public float DestroyProb = 0.0f;
|
||||
public float DestroyProb;
|
||||
|
||||
[DataField(serverOnly: true)]
|
||||
public List<CP14ModularCraftModifier> Modifiers = new();
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Content.Shared._CP14.ModularCraft.Prototypes;
|
||||
|
||||
@@ -10,4 +11,7 @@ public sealed partial class CP14ModularCraftSlotPrototype : IPrototype
|
||||
|
||||
[DataField(required: true)]
|
||||
public LocId Name = string.Empty;
|
||||
|
||||
[DataField]
|
||||
public SpriteSpecifier? IconDisplacement { get; private set; }
|
||||
}
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
cp14-modular-slot-blade = blade
|
||||
cp14-modular-slot-garde = garde
|
||||
cp14-modular-slot-garde = garde
|
||||
cp14-modular-slot-blade-inlay = blade inlay
|
||||
@@ -1,2 +1,3 @@
|
||||
cp14-modular-slot-blade = лезвие
|
||||
cp14-modular-slot-garde = гарда
|
||||
cp14-modular-slot-garde = гарда
|
||||
cp14-modular-slot-blade-inlay = инкрустация лезвия
|
||||
@@ -0,0 +1,12 @@
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
id: CP14ModularGardeBase
|
||||
categories: [ ForkFiltered ]
|
||||
abstract: true
|
||||
description: Garde? Garde!
|
||||
components:
|
||||
- type: Item
|
||||
storedRotation: 45
|
||||
shape:
|
||||
- 0,0,0,0
|
||||
storedOffset: 0, 5
|
||||
@@ -1,16 +1,3 @@
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
id: CP14ModularGardeBase
|
||||
categories: [ ForkFiltered ]
|
||||
abstract: true
|
||||
description: Garde? Garde!
|
||||
components:
|
||||
- type: Item
|
||||
storedRotation: 45
|
||||
shape:
|
||||
- 0,0,0,0
|
||||
storedOffset: 0, 5
|
||||
|
||||
- type: entity
|
||||
parent: CP14ModularGardeBase
|
||||
id: CP14ModularGardeSharpIron
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
id: CP14ModularInlayBase
|
||||
categories: [ ForkFiltered ]
|
||||
description: A small piece that can be inlaid into your weapon or tool.
|
||||
abstract: true
|
||||
components:
|
||||
- type: Item
|
||||
storedRotation: 45
|
||||
shape:
|
||||
- 0,0,0,0
|
||||
storedOffset: 0, 5
|
||||
@@ -0,0 +1,102 @@
|
||||
- type: entity
|
||||
parent: CP14ModularInlayBase
|
||||
id: CP14ModularInlayQuartzBase
|
||||
abstract: true
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/ModularTools/Inlay/quartz.rsi
|
||||
|
||||
- type: entity
|
||||
parent: CP14ModularInlayQuartzBase
|
||||
id: CP14ModularInlayQuartzWater
|
||||
name: water quartz inlay
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/ModularTools/Inlay/quartz.rsi
|
||||
layers:
|
||||
- state: item
|
||||
color: "#5eabeb"
|
||||
- state: frame
|
||||
- type: CP14ModularCraftPart
|
||||
possibleParts:
|
||||
- InlayQuartzWater
|
||||
|
||||
- type: entity
|
||||
parent: CP14ModularInlayQuartzBase
|
||||
id: CP14ModularInlayQuartzHealing
|
||||
name: healing quartz inlay
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/ModularTools/Inlay/quartz.rsi
|
||||
layers:
|
||||
- state: item
|
||||
color: "#79b330"
|
||||
- state: frame
|
||||
- type: CP14ModularCraftPart
|
||||
possibleParts:
|
||||
- InlayQuartzHealing
|
||||
|
||||
- type: entity
|
||||
parent: CP14ModularInlayQuartzBase
|
||||
id: CP14ModularInlayQuartzFire
|
||||
name: fire quartz inlay
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/ModularTools/Inlay/quartz.rsi
|
||||
layers:
|
||||
- state: item
|
||||
color: "#ed731c"
|
||||
- state: frame
|
||||
- type: CP14ModularCraftPart
|
||||
possibleParts:
|
||||
- InlayQuartzFire
|
||||
|
||||
- type: entity
|
||||
parent: CP14ModularInlayQuartzBase
|
||||
id: CP14ModularInlayQuartzLight
|
||||
name: light quartz inlay
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/ModularTools/Inlay/quartz.rsi
|
||||
layers:
|
||||
- state: item
|
||||
color: "#f1c7ff"
|
||||
shader: unshaded
|
||||
- state: frame
|
||||
- type: CP14ModularCraftPart
|
||||
possibleParts:
|
||||
- InlayQuartzLight
|
||||
- type: PointLight
|
||||
radius: 2
|
||||
color: "#f1c7ff"
|
||||
netsync: false
|
||||
|
||||
- type: entity
|
||||
parent: CP14ModularInlayQuartzBase
|
||||
id: CP14ModularInlayQuartzElectric
|
||||
name: electric quartz inlay
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/ModularTools/Inlay/quartz.rsi
|
||||
layers:
|
||||
- state: item
|
||||
color: "#e6ff6b"
|
||||
- state: frame
|
||||
- type: CP14ModularCraftPart
|
||||
possibleParts:
|
||||
- InlayQuartzElectric
|
||||
|
||||
- type: entity
|
||||
parent: CP14ModularInlayQuartzBase
|
||||
id: CP14ModularInlayQuartzDarkness
|
||||
name: darkness quartz inlay
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/ModularTools/Inlay/quartz.rsi
|
||||
layers:
|
||||
- state: item
|
||||
color: "#391c57"
|
||||
- state: frame
|
||||
- type: CP14ModularCraftPart
|
||||
possibleParts:
|
||||
- InlayQuartzDarkness
|
||||
@@ -26,10 +26,14 @@
|
||||
newSize: Normal
|
||||
adjustShape: 0, 1
|
||||
storedOffsetBonus: 0, 5
|
||||
- !type:EditModularSlots
|
||||
addSlots:
|
||||
- BladeInlay
|
||||
|
||||
- type: modularPart
|
||||
id: BladeIronAxe
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapIron
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Axe/metall_axe.rsi
|
||||
modifiers:
|
||||
@@ -40,7 +44,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeGoldAxe
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapGold
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Axe/metall_axe.rsi
|
||||
color: "#ffaf47"
|
||||
@@ -52,7 +57,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeCopperAxe
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapCopper
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Axe/metall_axe.rsi
|
||||
color: "#bd712f"
|
||||
@@ -64,7 +70,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeMithrilAxe
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapMithril
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Axe/metall_axe.rsi
|
||||
color: "#45d2a4"
|
||||
|
||||
@@ -31,10 +31,12 @@
|
||||
- !type:EditModularSlots
|
||||
addSlots:
|
||||
- Garde
|
||||
- BladeInlay
|
||||
|
||||
- type: modularPart
|
||||
id: BladeIronDagger
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapIron
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/metall_dagger.rsi
|
||||
modifiers:
|
||||
@@ -45,7 +47,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeGoldDagger
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapGold
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/metall_dagger.rsi
|
||||
color: "#ffaf47"
|
||||
@@ -57,7 +60,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeCopperDagger
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapCopper
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/metall_dagger.rsi
|
||||
color: "#bd712f"
|
||||
@@ -69,7 +73,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeMithrilDagger
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapMithril
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/metall_dagger.rsi
|
||||
color: "#45d2a4"
|
||||
|
||||
@@ -43,10 +43,14 @@
|
||||
storedOffsetBonus: 0, 5
|
||||
- !type:EditDamageableModifier # How you can break a hammer?
|
||||
multiplier: 0.8
|
||||
- !type:EditModularSlots
|
||||
addSlots:
|
||||
- BladeInlay
|
||||
|
||||
- type: modularPart
|
||||
id: BladeIronHammer
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapIron
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi
|
||||
modifiers:
|
||||
@@ -57,7 +61,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeGoldHammer
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapGold
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi
|
||||
color: "#ffaf47"
|
||||
@@ -69,7 +74,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeCopperHammer
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapCopper
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi
|
||||
color: "#bd712f"
|
||||
@@ -81,7 +87,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeMithrilHammer
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapMithril
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi
|
||||
color: "#45d2a4"
|
||||
|
||||
@@ -27,7 +27,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeIronMace
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapIron
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Mace/metall_mace.rsi
|
||||
modifiers:
|
||||
@@ -38,7 +39,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeGoldMace
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapGold
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Mace/metall_mace.rsi
|
||||
color: "#ffaf47"
|
||||
@@ -50,7 +52,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeCopperMace
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapCopper
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Mace/metall_mace.rsi
|
||||
color: "#bd712f"
|
||||
@@ -62,7 +65,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeMithrilMace
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapMithril
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Mace/metall_mace.rsi
|
||||
color: "#45d2a4"
|
||||
|
||||
@@ -19,10 +19,12 @@
|
||||
- !type:EditModularSlots
|
||||
addSlots:
|
||||
- Garde
|
||||
- BladeInlay
|
||||
|
||||
- type: modularPart
|
||||
id: BladeIronPickaxe
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapIron
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi
|
||||
modifiers:
|
||||
@@ -33,7 +35,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeGoldPickaxe
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapGold
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi
|
||||
color: "#ffaf47"
|
||||
@@ -45,7 +48,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeCopperPickaxe
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapCopper
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi
|
||||
color: "#bd712f"
|
||||
@@ -57,7 +61,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeMithrilPickaxe
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapMithril
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi
|
||||
color: "#45d2a4"
|
||||
|
||||
@@ -28,12 +28,14 @@
|
||||
- !type:EditModularSlots
|
||||
addSlots:
|
||||
- Garde
|
||||
- BladeInlay
|
||||
- !type:EditDamageableModifier # Only 1 ingot t craft, so less health
|
||||
multiplier: 2
|
||||
|
||||
- type: modularPart
|
||||
id: BladeIronRapier
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapIron
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/metall_rapier.rsi
|
||||
modifiers:
|
||||
@@ -44,7 +46,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeGoldRapier
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapGold
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/metall_rapier.rsi
|
||||
color: "#ffaf47"
|
||||
@@ -56,7 +59,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeCopperRapier
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapCopper
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/metall_rapier.rsi
|
||||
color: "#bd712f"
|
||||
@@ -68,7 +72,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeMithrilRapier
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapMithril
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/metall_rapier.rsi
|
||||
color: "#45d2a4"
|
||||
|
||||
@@ -28,10 +28,14 @@
|
||||
newSize: Normal
|
||||
adjustShape: 0, 1
|
||||
storedOffsetBonus: 0, 5
|
||||
- !type:EditModularSlots
|
||||
addSlots:
|
||||
- BladeInlay
|
||||
|
||||
- type: modularPart
|
||||
id: BladeIronShovel
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapIron
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Shovel/metall_shovel.rsi
|
||||
modifiers:
|
||||
@@ -42,7 +46,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeGoldShovel
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapGold
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Shovel/metall_shovel.rsi
|
||||
color: "#ffaf47"
|
||||
@@ -54,7 +59,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeCopperShovel
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapCopper
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Shovel/metall_shovel.rsi
|
||||
color: "#bd712f"
|
||||
@@ -66,7 +72,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeMithrilShovel
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapMithril
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Shovel/metall_shovel.rsi
|
||||
color: "#45d2a4"
|
||||
|
||||
@@ -21,10 +21,12 @@
|
||||
- !type:EditModularSlots
|
||||
addSlots:
|
||||
- Garde
|
||||
- BladeInlay
|
||||
|
||||
- type: modularPart
|
||||
id: BladeIronSickle
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapIron
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Sickle/metall_sickle.rsi
|
||||
modifiers:
|
||||
@@ -35,7 +37,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeGoldSickle
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapGold
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Sickle/metall_sickle.rsi
|
||||
color: "#ffaf47"
|
||||
@@ -47,7 +50,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeCopperSickle
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapCopper
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Sickle/metall_sickle.rsi
|
||||
color: "#bd712f"
|
||||
@@ -59,7 +63,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeMithrilSickle
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapMithril
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Sickle/metall_sickle.rsi
|
||||
color: "#45d2a4"
|
||||
|
||||
@@ -36,10 +36,12 @@
|
||||
- !type:EditModularSlots
|
||||
addSlots:
|
||||
- Garde
|
||||
- BladeInlay
|
||||
|
||||
- type: modularPart
|
||||
id: BladeIronSpear
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapIron
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Spear/metall_spear.rsi
|
||||
modifiers:
|
||||
@@ -50,7 +52,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeGoldSpear
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapGold
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Spear/metall_spear.rsi
|
||||
color: "#ffaf47"
|
||||
@@ -62,7 +65,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeCopperSpear
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapCopper
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Spear/metall_spear.rsi
|
||||
color: "#bd712f"
|
||||
@@ -74,7 +78,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeMithrilSpear
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapMithril
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Spear/metall_spear.rsi
|
||||
color: "#45d2a4"
|
||||
|
||||
@@ -32,10 +32,12 @@
|
||||
- !type:EditModularSlots
|
||||
addSlots:
|
||||
- Garde
|
||||
- BladeInlay
|
||||
|
||||
- type: modularPart
|
||||
id: BladeIronSword
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapIron
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Sword/metall_sword.rsi
|
||||
modifiers:
|
||||
@@ -46,7 +48,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeGoldSword
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapGold
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Sword/metall_sword.rsi
|
||||
color: "#ffaf47"
|
||||
@@ -58,7 +61,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeCopperSword
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapCopper
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Sword/metall_sword.rsi
|
||||
color: "#bd712f"
|
||||
@@ -70,7 +74,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeMithrilSword
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ScrapMithril
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Sword/metall_sword.rsi
|
||||
color: "#45d2a4"
|
||||
@@ -82,7 +87,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: BladeBoneSword
|
||||
targetSlot: Blade
|
||||
slots:
|
||||
- Blade
|
||||
sourcePart: CP14ModularBladeBoneSword
|
||||
rsiPath: _CP14/Objects/ModularTools/Blade/Sword/bone_sword.rsi
|
||||
modifiers:
|
||||
|
||||
@@ -11,7 +11,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: GardeSharpIron
|
||||
targetSlot: Garde
|
||||
slots:
|
||||
- Garde
|
||||
sourcePart: CP14ScrapIron
|
||||
rsiPath: _CP14/Objects/ModularTools/Garde/metall_sharp.rsi
|
||||
modifiers:
|
||||
@@ -21,7 +22,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: GardeSharpGold
|
||||
targetSlot: Garde
|
||||
slots:
|
||||
- Garde
|
||||
sourcePart: CP14ScrapGold
|
||||
rsiPath: _CP14/Objects/ModularTools/Garde/metall_sharp.rsi
|
||||
color: "#ffaf47"
|
||||
@@ -32,7 +34,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: GardeSharpCopper
|
||||
targetSlot: Garde
|
||||
slots:
|
||||
- Garde
|
||||
sourcePart: CP14ScrapCopper
|
||||
rsiPath: _CP14/Objects/ModularTools/Garde/metall_sharp.rsi
|
||||
color: "#bd712f"
|
||||
@@ -43,7 +46,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: GardeSharpMithril
|
||||
targetSlot: Garde
|
||||
slots:
|
||||
- Garde
|
||||
sourcePart: CP14ScrapMithril
|
||||
rsiPath: _CP14/Objects/ModularTools/Garde/metall_sharp.rsi
|
||||
color: "#45d2a4"
|
||||
|
||||
@@ -11,7 +11,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: GardeSturdyIron
|
||||
targetSlot: Garde
|
||||
slots:
|
||||
- Garde
|
||||
sourcePart: CP14ScrapIron
|
||||
rsiPath: _CP14/Objects/ModularTools/Garde/metall_sturdy.rsi
|
||||
modifiers:
|
||||
@@ -21,7 +22,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: GardeSturdyGold
|
||||
targetSlot: Garde
|
||||
slots:
|
||||
- Garde
|
||||
sourcePart: CP14ScrapGold
|
||||
rsiPath: _CP14/Objects/ModularTools/Garde/metall_sturdy.rsi
|
||||
color: "#ffaf47"
|
||||
@@ -32,7 +34,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: GardeSturdyCopper
|
||||
targetSlot: Garde
|
||||
slots:
|
||||
- Garde
|
||||
sourcePart: CP14ScrapCopper
|
||||
rsiPath: _CP14/Objects/ModularTools/Garde/metall_sturdy.rsi
|
||||
color: "#bd712f"
|
||||
@@ -43,7 +46,8 @@
|
||||
|
||||
- type: modularPart
|
||||
id: GardeSturdyMithril
|
||||
targetSlot: Garde
|
||||
slots:
|
||||
- Garde
|
||||
sourcePart: CP14ScrapMithril
|
||||
rsiPath: _CP14/Objects/ModularTools/Garde/metall_sturdy.rsi
|
||||
color: "#45d2a4"
|
||||
|
||||
129
Resources/Prototypes/_CP14/ModularCraft/Inlay/quartz.yml
Normal file
129
Resources/Prototypes/_CP14/ModularCraft/Inlay/quartz.yml
Normal file
@@ -0,0 +1,129 @@
|
||||
- type: modularPart
|
||||
id: InlayQuartzWater
|
||||
slots:
|
||||
- BladeInlay
|
||||
rsiPath: _CP14/Objects/ModularTools/Inlay/quartz.rsi
|
||||
color: "#5eabeb"
|
||||
modifiers:
|
||||
- !type:AddComponents
|
||||
components:
|
||||
- type: CP14SpellEffectOnHit
|
||||
effects:
|
||||
- !type:CP14SpellSpawnEntityOnTarget
|
||||
spawns:
|
||||
- CP14ImpactEffectFreeze
|
||||
- !type:CP14SpellApplyEntityEffect
|
||||
effects:
|
||||
- !type:MovespeedModifier
|
||||
walkSpeedModifier: 0.75
|
||||
sprintSpeedModifier: 0.75
|
||||
statusLifetime: 2
|
||||
- !type:AdjustTemperature
|
||||
amount: -6000
|
||||
- !type:ExtinguishReaction
|
||||
|
||||
- type: modularPart
|
||||
id: InlayQuartzHealing
|
||||
slots:
|
||||
- BladeInlay
|
||||
rsiPath: _CP14/Objects/ModularTools/Inlay/quartz.rsi
|
||||
color: "#79b330"
|
||||
modifiers:
|
||||
- !type:AddComponents
|
||||
components:
|
||||
- type: CP14SpellEffectOnHit
|
||||
effects:
|
||||
- !type:CP14SpellApplyEntityEffect
|
||||
effects:
|
||||
- !type:HealthChange
|
||||
damage:
|
||||
types:
|
||||
Slash: -0.5
|
||||
Blunt: -0.5
|
||||
Piercing: -0.5
|
||||
Poison: -0.5
|
||||
Bloodloss: -0.5
|
||||
Caustic: -0.5
|
||||
Cold: -0.5
|
||||
Heat: -0.5
|
||||
Shock: -0.5
|
||||
- !type:Jitter
|
||||
- !type:CP14SpellSpawnEntityOnTarget
|
||||
spawns:
|
||||
- CP14ImpactEffectCureWounds
|
||||
|
||||
- type: modularPart
|
||||
id: InlayQuartzFire
|
||||
slots:
|
||||
- BladeInlay
|
||||
rsiPath: _CP14/Objects/ModularTools/Inlay/quartz.rsi
|
||||
color: "#ed731c"
|
||||
modifiers:
|
||||
- !type:AddComponents
|
||||
components:
|
||||
- type: CP14SpellEffectOnHit
|
||||
whitelist:
|
||||
components:
|
||||
- MobState #Please dont burn all map
|
||||
effects:
|
||||
- !type:CP14SpellApplyEntityEffect
|
||||
effects:
|
||||
- !type:FlammableReaction
|
||||
multiplier: 0.5
|
||||
- !type:AdjustTemperature
|
||||
amount: 6000
|
||||
- !type:Ignite
|
||||
- !type:CP14SpellSpawnEntityOnTarget
|
||||
spawns:
|
||||
- CP14ImpactEffectFlameCreation
|
||||
|
||||
- type: modularPart
|
||||
id: InlayQuartzLight
|
||||
slots:
|
||||
- BladeInlay
|
||||
rsiPath: _CP14/Objects/ModularTools/Inlay/quartz.rsi
|
||||
color: "#f1c7ff"
|
||||
modifiers:
|
||||
- !type:AddComponents
|
||||
components:
|
||||
- type: PointLight
|
||||
color: "#f1c7ff"
|
||||
radius: 3
|
||||
|
||||
- type: modularPart
|
||||
id: InlayQuartzElectric
|
||||
slots:
|
||||
- BladeInlay
|
||||
rsiPath: _CP14/Objects/ModularTools/Inlay/quartz.rsi
|
||||
color: "#e6ff6b"
|
||||
modifiers:
|
||||
- !type:AddComponents
|
||||
components:
|
||||
- type: CP14SpellEffectOnHit
|
||||
prob: 0.15
|
||||
effects:
|
||||
- !type:CP14SpellApplyEntityEffect
|
||||
effects:
|
||||
- !type:Electrocute
|
||||
electrocuteTime: 0.5
|
||||
electrocuteDamageScale: 1
|
||||
- !type:CP14SpellSpawnEntityOnTarget
|
||||
spawns:
|
||||
- CP14ElectrifiedEffect
|
||||
|
||||
- type: modularPart
|
||||
id: InlayQuartzDarkness
|
||||
slots:
|
||||
- BladeInlay
|
||||
rsiPath: _CP14/Objects/ModularTools/Inlay/quartz.rsi
|
||||
color: "#391c57"
|
||||
modifiers:
|
||||
- !type:AddComponents
|
||||
components:
|
||||
- type: CP14SpellEffectOnHit
|
||||
effects:
|
||||
- !type:CP14SpellThrowFromUser
|
||||
throwPower: 9
|
||||
- !type:CP14SpellSpawnEntityOnTarget
|
||||
spawns:
|
||||
- CP14ImpactEffectShadowGrab
|
||||
@@ -4,4 +4,8 @@
|
||||
|
||||
- type: modularSlot
|
||||
id: Garde
|
||||
name: cp14-modular-slot-garde
|
||||
name: cp14-modular-slot-garde
|
||||
|
||||
- type: modularSlot
|
||||
id: BladeInlay
|
||||
name: cp14-modular-slot-blade-inlay
|
||||
@@ -8,6 +8,8 @@
|
||||
- !type:StackResource
|
||||
stack: CP14CopperBar
|
||||
count: 1
|
||||
- !type:KnowledgeRequired
|
||||
knowledge: MetallForging
|
||||
result: CP14ModularGardeSharpCopper
|
||||
|
||||
- type: CP14Recipe
|
||||
@@ -18,6 +20,8 @@
|
||||
- !type:StackResource
|
||||
stack: CP14IronBar
|
||||
count: 1
|
||||
- !type:KnowledgeRequired
|
||||
knowledge: MetallForging
|
||||
result: CP14ModularGardeSharpIron
|
||||
|
||||
- type: CP14Recipe
|
||||
@@ -28,6 +32,8 @@
|
||||
- !type:StackResource
|
||||
stack: CP14GoldBar
|
||||
count: 1
|
||||
- !type:KnowledgeRequired
|
||||
knowledge: MetallForging
|
||||
result: CP14ModularGardeSharpGold
|
||||
|
||||
- type: CP14Recipe
|
||||
@@ -38,6 +44,8 @@
|
||||
- !type:StackResource
|
||||
stack: CP14MithrilBar
|
||||
count: 1
|
||||
- !type:KnowledgeRequired
|
||||
knowledge: MetallForging
|
||||
result: CP14ModularGardeSharpMithril
|
||||
|
||||
# Sturdy garde
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
- type: CP14Recipe
|
||||
id: CP14ModularInlayQuartzWater
|
||||
tag: CP14RecipeAnvil
|
||||
craftTime: 4
|
||||
requirements:
|
||||
- !type:StackResource
|
||||
stack: CP14MithrilBar
|
||||
count: 2
|
||||
- !type:ProtoIdResource
|
||||
protoId: CP14CrystalShardWater
|
||||
count: 4
|
||||
- !type:KnowledgeRequired
|
||||
knowledge: MetallForging
|
||||
result: CP14ModularInlayQuartzWater
|
||||
|
||||
- type: CP14Recipe
|
||||
id: CP14ModularInlayQuartzHealing
|
||||
tag: CP14RecipeAnvil
|
||||
craftTime: 4
|
||||
requirements:
|
||||
- !type:StackResource
|
||||
stack: CP14MithrilBar
|
||||
count: 2
|
||||
- !type:ProtoIdResource
|
||||
protoId: CP14CrystalShardHealing
|
||||
count: 4
|
||||
- !type:KnowledgeRequired
|
||||
knowledge: MetallForging
|
||||
result: CP14ModularInlayQuartzHealing
|
||||
|
||||
- type: CP14Recipe
|
||||
id: CP14ModularInlayQuartzFire
|
||||
tag: CP14RecipeAnvil
|
||||
craftTime: 4
|
||||
requirements:
|
||||
- !type:StackResource
|
||||
stack: CP14MithrilBar
|
||||
count: 2
|
||||
- !type:ProtoIdResource
|
||||
protoId: CP14CrystalShardFire
|
||||
count: 4
|
||||
- !type:KnowledgeRequired
|
||||
knowledge: MetallForging
|
||||
result: CP14ModularInlayQuartzFire
|
||||
|
||||
- type: CP14Recipe
|
||||
id: CP14ModularInlayQuartzLight
|
||||
tag: CP14RecipeAnvil
|
||||
craftTime: 4
|
||||
requirements:
|
||||
- !type:StackResource
|
||||
stack: CP14MithrilBar
|
||||
count: 2
|
||||
- !type:ProtoIdResource
|
||||
protoId: CP14CrystalShardLight
|
||||
count: 4
|
||||
- !type:KnowledgeRequired
|
||||
knowledge: MetallForging
|
||||
result: CP14ModularInlayQuartzLight
|
||||
|
||||
- type: CP14Recipe
|
||||
id: CP14ModularInlayQuartzElectric
|
||||
tag: CP14RecipeAnvil
|
||||
craftTime: 4
|
||||
requirements:
|
||||
- !type:StackResource
|
||||
stack: CP14MithrilBar
|
||||
count: 2
|
||||
- !type:ProtoIdResource
|
||||
protoId: CP14CrystalShardElectric
|
||||
count: 4
|
||||
- !type:KnowledgeRequired
|
||||
knowledge: MetallForging
|
||||
result: CP14ModularInlayQuartzElectric
|
||||
|
||||
- type: CP14Recipe
|
||||
id: CP14ModularInlayQuartzDarkness
|
||||
tag: CP14RecipeAnvil
|
||||
craftTime: 4
|
||||
requirements:
|
||||
- !type:StackResource
|
||||
stack: CP14MithrilBar
|
||||
count: 2
|
||||
- !type:ProtoIdResource
|
||||
protoId: CP14CrystalShardDarkness
|
||||
count: 4
|
||||
- !type:KnowledgeRequired
|
||||
knowledge: MetallForging
|
||||
result: CP14ModularInlayQuartzDarkness
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 254 B |
Binary file not shown.
|
After Width: | Height: | Size: 163 B |
Binary file not shown.
|
After Width: | Height: | Size: 280 B |
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-4.0",
|
||||
"copyright": "Created by TheShuEd (Github)",
|
||||
"states": [
|
||||
{
|
||||
"name": "icon"
|
||||
},
|
||||
{
|
||||
"name": "item"
|
||||
},
|
||||
{
|
||||
"name": "frame"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user