Modular hammers (#792)

* modular hammer

* QoL modular assemble

* remove gattle big hammer

* crossbow crafting
This commit is contained in:
Ed
2025-01-22 23:53:36 +03:00
committed by GitHub
parent fc14c111aa
commit 2962085b9a
22 changed files with 516 additions and 343 deletions

View File

@@ -27,7 +27,8 @@ public sealed class CP14ModularCraftSystem : CP14SharedModularCraftSystem
base.Initialize();
SubscribeLocalEvent<CP14ModularCraftStartPointComponent, MapInitEvent>(OnStartPointMapInit);
SubscribeLocalEvent<CP14ModularCraftStartPointComponent, CP14ModularCraftAddPartDoAfter>(OnAddedPart);
SubscribeLocalEvent<CP14ModularCraftStartPointComponent, CP14ModularCraftAddPartDoAfter>(OnAddedToStart);
SubscribeLocalEvent<CP14ModularCraftPartComponent, CP14ModularCraftAddPartDoAfter>(OnAddedToPart);
SubscribeLocalEvent<CP14ModularCraftStartPointComponent, GetVerbsEvent<ExamineVerb>>(OnVerbExamine);
}
@@ -62,7 +63,7 @@ public sealed class CP14ModularCraftSystem : CP14SharedModularCraftSystem
return msg;
}
private void OnAddedPart(Entity<CP14ModularCraftStartPointComponent> ent, ref CP14ModularCraftAddPartDoAfter args)
private void OnAddedToStart(Entity<CP14ModularCraftStartPointComponent> start, ref CP14ModularCraftAddPartDoAfter args)
{
if (args.Cancelled || args.Handled)
return;
@@ -70,7 +71,23 @@ public sealed class CP14ModularCraftSystem : CP14SharedModularCraftSystem
if (!TryComp<CP14ModularCraftPartComponent>(args.Used, out var partComp))
return;
if (!TryAddPartToFirstSlot(ent, (args.Used.Value, partComp)))
if (!TryAddPartToFirstSlot(start, (args.Used.Value, partComp)))
return;
//TODO: Sound
args.Handled = true;
}
private void OnAddedToPart(Entity<CP14ModularCraftPartComponent> part, ref CP14ModularCraftAddPartDoAfter args)
{
if (args.Cancelled || args.Handled)
return;
if (!TryComp<CP14ModularCraftStartPointComponent>(args.Used, out var startComp))
return;
if (!TryAddPartToFirstSlot((args.Used.Value, startComp), part))
return;
//TODO: Sound
@@ -89,7 +106,7 @@ public sealed class CP14ModularCraftSystem : CP14SharedModularCraftSystem
{
foreach (var detail in autoAssemble.Details)
{
TryAddPartToFirstSlot(ent, detail, false); // we want auto assemble when spawned in crates
TryAddPartToFirstSlot(ent, detail);
}
}
}
@@ -119,8 +136,7 @@ public sealed class CP14ModularCraftSystem : CP14SharedModularCraftSystem
}
private bool TryAddPartToFirstSlot(Entity<CP14ModularCraftStartPointComponent> start,
ProtoId<CP14ModularCraftPartPrototype> partProto,
bool blockStorage = true)
ProtoId<CP14ModularCraftPartPrototype> partProto)
{
if (!_proto.TryIndex(partProto, out var partIndexed))
return false;
@@ -131,24 +147,18 @@ public sealed class CP14ModularCraftSystem : CP14SharedModularCraftSystem
if (!start.Comp.FreeSlots.Contains(partIndexed.TargetSlot.Value))
return false;
return TryAddPartToSlot(start, null, partProto, partIndexed.TargetSlot.Value, blockStorage);
return TryAddPartToSlot(start, null, partProto, partIndexed.TargetSlot.Value);
}
private bool TryAddPartToSlot(Entity<CP14ModularCraftStartPointComponent> start,
Entity<CP14ModularCraftPartComponent>? part,
ProtoId<CP14ModularCraftPartPrototype> partProto,
ProtoId<CP14ModularCraftSlotPrototype> slot,
bool blockStorage = true)
ProtoId<CP14ModularCraftSlotPrototype> slot)
{
if (!start.Comp.FreeSlots.Contains(slot))
return false;
if (blockStorage)
{
var xform = Transform(start);
if (xform.GridUid != xform.ParentUid)
return false;
}
//TODO: Size changing broken in gridstorage
AddPartToSlot(start, part, partProto, slot);
return true;

View File

@@ -17,6 +17,7 @@ public abstract class CP14SharedModularCraftSystem : EntitySystem
{
base.Initialize();
SubscribeLocalEvent<CP14ModularCraftStartPointComponent, AfterInteractEvent>(OnAfterInteractStart);
SubscribeLocalEvent<CP14ModularCraftPartComponent, AfterInteractEvent>(OnAfterInteractPart);
SubscribeLocalEvent<CP14LabeledRenamingComponent, CP14LabeledEvent>(OnLabelRenaming);
}
@@ -29,7 +30,35 @@ public abstract class CP14SharedModularCraftSystem : EntitySystem
_label.Label(ent, null);
}
private void OnAfterInteractPart(Entity<CP14ModularCraftPartComponent> start, ref AfterInteractEvent args)
private void OnAfterInteractStart(Entity<CP14ModularCraftStartPointComponent> start, ref AfterInteractEvent args)
{
if (args.Handled || args.Target is null)
return;
if (!TryComp<CP14ModularCraftPartComponent>(args.Target, out var part))
return;
var xform = Transform(args.Target.Value);
if (xform.GridUid != xform.ParentUid)
return;
_doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager,
args.User,
part.DoAfter,
new CP14ModularCraftAddPartDoAfter(),
args.Target,
args.Target,
start)
{
BreakOnDamage = true,
BreakOnMove = true,
BreakOnDropItem = true,
});
args.Handled = true;
}
private void OnAfterInteractPart(Entity<CP14ModularCraftPartComponent> part, ref AfterInteractEvent args)
{
if (args.Handled || args.Target is null)
return;
@@ -43,11 +72,11 @@ public abstract class CP14SharedModularCraftSystem : EntitySystem
_doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager,
args.User,
start.Comp.DoAfter,
part.Comp.DoAfter,
new CP14ModularCraftAddPartDoAfter(),
args.Target,
args.Target,
start)
part)
{
BreakOnDamage = true,
BreakOnMove = true,

View File

@@ -0,0 +1,67 @@
- type: entity
parent: BaseItem
id: CP14ModularBladeHammerBase
categories: [ ForkFiltered ]
abstract: true
description: A hammerhead without a hilt. A blacksmith can use it as a spare part to create a tool.
components:
- type: Item
storedRotation: 45
shape:
- 0,0,0,0
storedOffset: 0, 5
- type: entity
parent: CP14ModularBladeHammerBase
id: CP14ModularBladeIronHammer
name: iron hammerhead
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi
layers:
- state: icon
- type: CP14ModularCraftPart
possibleParts:
- BladeIronHammer
- type: entity
parent: CP14ModularBladeHammerBase
id: CP14ModularBladeGoldHammer
name: golden hammerhead
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi
layers:
- state: icon
color: "#ffaf47"
- type: CP14ModularCraftPart
possibleParts:
- BladeGoldHammer
- type: entity
parent: CP14ModularBladeHammerBase
id: CP14ModularBladeCopperHammer
name: copper hammerhead
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi
layers:
- state: icon
color: "#bd712f"
- type: CP14ModularCraftPart
possibleParts:
- BladeCopperHammer
- type: entity
parent: CP14ModularBladeHammerBase
id: CP14ModularBladeMithrilHammer
name: mithril hammerhead
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi
layers:
- state: icon
color: "#45d2a4"
- type: CP14ModularCraftPart
possibleParts:
- BladeMithrilHammer

View File

@@ -1,59 +0,0 @@
- type: entity
id: CP14BaseBattleHammer
parent:
- BaseItem
- CP14BaseWeaponDestructible
- CP14BaseWeaponSelfDamage
name: battle hammer
description: A big heavy hammer. You better not get in his way!
components:
- type: Sprite
sprite: _CP14/Objects/Weapons/Melee/BattleHammer/battleHammer.rsi
layers:
- state: icon
- type: Clothing
equipDelay: 1
unequipDelay: 1
sprite: _CP14/Objects/Weapons/Melee/BattleHammer/battleHammer.rsi
quickEquip: false
breakOnMove: false
slots:
- neck
- type: MeleeWeapon
angle: 120
attackRate: 0.7
range: 1.6
wideAnimationRotation: 135
wideAnimation: CP14WeaponArcSlash
damage:
types:
Blunt: 7
Structural: 4
soundHit:
collection: MetalThud
cPAnimationLength: 0.6
- type: Wieldable
- type: IncreaseDamageOnWield
damage:
types:
Blunt: 8
Structural: 10
- type: StaminaDamageOnHit
damage: 10
- type: Item
size: Ginormous
- type: ClothingSpeedModifier
walkModifier: 0.9
sprintModifier: 0.8
- type: HeldSpeedModifier
- type: MeleeThrowOnHit
lifetime: 0.05
speed: 5
- type: Tool
qualities:
- CP14Hammering
useSound:
path: /Audio/_CP14/Effects/thud.ogg
params:
variation: 0.03
volume: 2

View File

@@ -1,56 +0,0 @@
- type: entity
id: CP14BaseLightHammer
parent:
- BaseItem
- CP14BaseWeaponDestructible
- CP14BaseWeaponThrowable
- CP14BaseWeaponLight
- CP14BaseWeaponShort
- CP14BaseWeaponSelfDamage
name: light hammer
description: A small hammer. Good for carpentry work as well as for cracking skulls.
components:
- type: Item
size: Normal
storedRotation: -45
- type: Sprite
sprite: _CP14/Objects/Weapons/Melee/LightHammer/lightHammer.rsi
layers:
- state: icon
- type: Clothing
equipDelay: 0.25
unequipDelay: 0.25
#sprite: _CP14/Objects/Weapons/Melee/Dagger/dagger.rsi
quickEquip: false
breakOnMove: false
slots:
- belt
- type: MeleeWeapon
attackRate: 1.7
range: 1
wideAnimationRotation: 225
wideAnimation: CP14WeaponArcSlash
cPAnimationLength: 0.18
damage:
types:
Blunt: 9
soundHit:
collection: MetalThud
- type: StaminaDamageOnHit
damage: 4
- type: DamageOtherOnHit
damage:
types:
Blunt: 10
- type: DamageOnLand
damage:
types:
Blunt: 10
- type: Tool
qualities:
- CP14Hammering
useSound:
collection: CP14Hammering
params:
variation: 0.03
volume: 2

View File

@@ -0,0 +1,14 @@
- type: entity
id: CP14ModularIronHammer
parent: CP14ModularGripWooden
name: iron hammer
description: A small hammer. Good for carpentry work as well as for cracking skulls.
components:
- type: Sprite
layers:
- state: icon
- sprite: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi
state: icon
- type: CP14ModularCraftAutoAssemble
details:
- BladeIronHammer

View File

@@ -0,0 +1,92 @@
#Concept:
# hammer tool!
# High blunt damage
# Loow speed
- type: modularPart
id: BaseBladeHammer
modifiers:
- !type:Inherit
copyFrom:
- BaseWeaponThrowable
- !type:AddComponents
components:
- type: Tool
qualities:
- CP14Hammering
useSound:
collection: CP14Hammering
params:
variation: 0.03
volume: 2
- type: DamageOtherOnHit
damage:
types:
Blunt: 9
- type: DamageOnLand
damage:
types:
Blunt: 9
- type: StaminaDamageOnHit
damage: 4
- !type:EditMeleeWeapon
bonusDamage:
types:
Blunt: 9
- !type:EditIncreaseDamageOnWield
bonusDamage:
types:
Blunt: 3
- !type:EditItem
newSize: Normal
adjustShape: 0, 1
storedOffsetBonus: 0, 5
- !type:EditDamageableModifier # How you can break a hammer?
multiplier: 0.8
- type: modularPart
id: BladeIronHammer
targetSlot: Blade
sourcePart: CP14ModularBladeIronHammer
rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi
modifiers:
- !type:Inherit
copyFrom:
- BaseBladeHammer
- BaseBladeIron
- type: modularPart
id: BladeGoldHammer
targetSlot: Blade
sourcePart: CP14ModularBladeGoldHammer
rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi
color: "#ffaf47"
modifiers:
- !type:Inherit
copyFrom:
- BaseBladeHammer
- BaseBladeGold
- type: modularPart
id: BladeCopperHammer
targetSlot: Blade
sourcePart: CP14ModularBladeCopperHammer
rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi
color: "#bd712f"
modifiers:
- !type:Inherit
copyFrom:
- BaseBladeHammer
- BaseBladeCopper
- type: modularPart
id: BladeMithrilHammer
targetSlot: Blade
sourcePart: CP14ModularBladeMithrilHammer
rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi
color: "#45d2a4"
modifiers:
- !type:Inherit
copyFrom:
- BaseBladeHammer
- BaseBladeMithril

View File

@@ -20,7 +20,7 @@
attackRateMultiplier: 1.4
bonusDamage:
types:
Piercing: 16
Piercing: 14
- !type:EditItem
newSize: Large
adjustShape: 0, 2

View File

@@ -17,7 +17,7 @@
- type: DamageOtherOnHit
damage:
types:
Piercing: 23
Piercing: 16
- type: ThrowingAngle
angle: 135
- type: EmbeddableProjectile

View File

@@ -0,0 +1,150 @@
- type: CP14Recipe
id: CP14BaseShield
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14WoodenPlanks: 2
CP14IronBar: 2
result: CP14BaseShield
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14BaseCrowbar
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 2
result: CP14BaseCrowbar
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14BaseWrench
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 2
result: CP14BaseWrench
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ClothingOuterClothingCuirass
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 5
result: CP14ClothingOuterClothingCuirass
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ClothingOuterClothingInfantryCuirass
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 6
result: CP14ClothingOuterClothingInfantryCuirass
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ClothingOuterClothingCuirassLoincloth
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 6
result: CP14ClothingOuterClothingCuirassLoincloth
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ClothingOuterClothingCuirassLeg
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 7
result: CP14ClothingOuterClothingCuirassLeg
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14Nail10
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 2
result: CP14Nail10
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14CrystalLampBlueEmpty
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14CopperBar: 2
CP14IronBar: 1
result: CP14CrystalLampBlueEmpty
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14CrystalLampOrangeEmpty
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14CopperBar: 2
CP14IronBar: 1
result: CP14CrystalLampOrangeEmpty
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14Scissors
tag: CP14RecipeAnvil
craftTime: 2
stacks:
CP14IronBar: 1
result: CP14Scissors
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ClothingOuterClothingCopperArmor
tag: CP14RecipeAnvil
craftTime: 2
stacks:
CP14CopperBar: 6
result: CP14ClothingOuterClothingCopperArmor
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14Crossbolt
tag: CP14RecipeAnvil
craftTime: 1
stacks:
CP14CopperBar: 1
result: CP14Crossbolt
resultCount: 3
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14BaseLockpick
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 1
result: CP14BaseLockpick
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ClothingHeadCapellina
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 3
result: CP14ClothingHeadCapellina
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14BaseLightCrossbow
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14CopperBar: 1
CP14IronBar: 3
entities:
CP14String: 1
result: CP14BaseLightCrossbow
knowledgeRequired: MetallForging

View File

@@ -1,141 +1,3 @@
- type: CP14Recipe
id: CP14BaseShield
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14WoodenPlanks: 2
CP14IronBar: 2
result: CP14BaseShield
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14BaseCrowbar
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 2
result: CP14BaseCrowbar
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14BaseWrench
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 2
result: CP14BaseWrench
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ClothingOuterClothingCuirass
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 5
result: CP14ClothingOuterClothingCuirass
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ClothingOuterClothingInfantryCuirass
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 6
result: CP14ClothingOuterClothingInfantryCuirass
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ClothingOuterClothingCuirassLoincloth
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 6
result: CP14ClothingOuterClothingCuirassLoincloth
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ClothingOuterClothingCuirassLeg
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 7
result: CP14ClothingOuterClothingCuirassLeg
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14Nail10
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 2
result: CP14Nail10
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14CrystalLampBlueEmpty
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14CopperBar: 2
CP14IronBar: 1
result: CP14CrystalLampBlueEmpty
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14CrystalLampOrangeEmpty
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14CopperBar: 2
CP14IronBar: 1
result: CP14CrystalLampOrangeEmpty
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14Scissors
tag: CP14RecipeAnvil
craftTime: 2
stacks:
CP14IronBar: 1
result: CP14Scissors
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ClothingOuterClothingCopperArmor
tag: CP14RecipeAnvil
craftTime: 2
stacks:
CP14CopperBar: 6
result: CP14ClothingOuterClothingCopperArmor
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14Crossbolt
tag: CP14RecipeAnvil
craftTime: 1
stacks:
CP14CopperBar: 1
result: CP14Crossbolt
resultCount: 3
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14BaseLockpick
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 1
result: CP14BaseLockpick
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ClothingHeadCapellina
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 3
result: CP14ClothingHeadCapellina
knowledgeRequired: MetallForging
# Dagger
@@ -556,78 +418,41 @@
result: CP14ModularBladeMithrilAxe
knowledgeRequired: MetallForging
# Sharp garde
# Hammer
- type: CP14Recipe
id: CP14ModularGardeSharpCopper
id: CP14ModularBladeIronHammer
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14CopperBar: 1
result: CP14ModularGardeSharpCopper
CP14IronBar: 2
result: CP14ModularBladeIronHammer
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ModularGardeSharpIron
id: CP14ModularBladeCopperHammer
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 1
result: CP14ModularGardeSharpIron
CP14CopperBar: 2
result: CP14ModularBladeCopperHammer
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ModularGardeSharpGold
id: CP14ModularBladeGoldHammer
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14GoldBar: 1
result: CP14ModularGardeSharpGold
CP14GoldBar: 2
result: CP14ModularBladeGoldHammer
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ModularGardeSharpMithril
id: CP14ModularBladeMithrilHammer
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14MithrilBar: 1
result: CP14ModularGardeSharpMithril
CP14MithrilBar: 2
result: CP14ModularBladeMithrilHammer
knowledgeRequired: MetallForging
# Sturdy garde
- type: CP14Recipe
id: CP14ModularGardeSturdyCopper
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14CopperBar: 1
result: CP14ModularGardeSturdyCopper
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ModularGardeSturdyIron
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 1
result: CP14ModularGardeSturdyIron
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ModularGardeSturdyGold
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14GoldBar: 1
result: CP14ModularGardeSturdyGold
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ModularGardeSturdyMithril
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14MithrilBar: 1
result: CP14ModularGardeSturdyMithril
knowledgeRequired: MetallForging

View File

@@ -0,0 +1,75 @@
# Sharp garde
- type: CP14Recipe
id: CP14ModularGardeSharpCopper
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14CopperBar: 1
result: CP14ModularGardeSharpCopper
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ModularGardeSharpIron
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 1
result: CP14ModularGardeSharpIron
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ModularGardeSharpGold
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14GoldBar: 1
result: CP14ModularGardeSharpGold
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ModularGardeSharpMithril
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14MithrilBar: 1
result: CP14ModularGardeSharpMithril
knowledgeRequired: MetallForging
# Sturdy garde
- type: CP14Recipe
id: CP14ModularGardeSturdyCopper
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14CopperBar: 1
result: CP14ModularGardeSturdyCopper
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ModularGardeSturdyIron
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 1
result: CP14ModularGardeSturdyIron
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ModularGardeSturdyGold
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14GoldBar: 1
result: CP14ModularGardeSturdyGold
knowledgeRequired: MetallForging
- type: CP14Recipe
id: CP14ModularGardeSturdyMithril
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14MithrilBar: 1
result: CP14ModularGardeSturdyMithril
knowledgeRequired: MetallForging

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

View File

@@ -0,0 +1,42 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CLA",
"copyright": "Created by TheShuEd (Github) ",
"states": [
{
"name": "equipped-BELT1",
"directions": 4
},
{
"name": "equipped-BELT2",
"directions": 4
},
{
"name": "equipped-NECK",
"directions": 4
},
{
"name": "icon"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "wielded-inhand-left",
"directions": 4
},
{
"name": "wielded-inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 434 B

View File

@@ -1,24 +1,5 @@
# <---> CrystallEdge migration zone
# 2024-05-24
CP14CardboardWall: CP14WallCardboard
# 2024-06-06
CP14CaveStoneWall: CP14WallStone
CP14CaveStoneWallSilverOre: null
CP14CaveStoneWallGoldOre: CP14WallStoneGoldOre
# 2024-06-10
CP14ClothingCloakHoodieYellow: null
CP14ClothingPantsHarlequinRed: CP14ClothingPantsTrouserDarkBlue
CP14ClothingShirtHarlequineRed: CP14ClothingShirtCottonBlack
# 2024-07-18
CP14ClothingShirtCottonBlueDark: CP14ClothingShirtCottonBlack
CP14Shovel: CP14ModularIronShovel
CP14Hoe: CP14BaseHoe
CP14WallStoneSilverOre: CP14WallStoneGoldOre
# 2024-08-22
CP14PloughedGround: CP14SeedbedWooden
CP14SeedbedDefault: CP14SeedbedWooden
@@ -230,6 +211,9 @@ CP14PlateWooden2: CP14Plate
CP14PlateCeramic: CP14Plate
CP14PlateIron: CP14Plate
#2025-22-01
CP14BaseLightHammer: CP14ModularIronHammer
CP14BaseBattleHammer: CP14ModularIronHammer