Ed 01 12 2024 rapier (#623)

* Rapier blade

* file restruct

* golden garde

* iron sharp garde

* copper garde
This commit is contained in:
Ed
2024-12-02 00:08:23 +03:00
committed by GitHub
parent c6ac192dfb
commit 7e6e4709c4
131 changed files with 586 additions and 24 deletions

View File

@@ -126,7 +126,6 @@ public sealed class CP14ModularCraftSystem : CP14SharedModularCraftSystem
start.Comp.InstalledParts.Add(partProto);
var indexedPart = _proto.Index(partProto);
start.Comp.FreeSlots.AddRange(indexedPart.AddSlots);
foreach (var modifier in indexedPart.Modifiers)
{

View File

@@ -0,0 +1,25 @@
using Content.Shared._CP14.ModularCraft;
using Content.Shared._CP14.ModularCraft.Components;
using Content.Shared._CP14.ModularCraft.Prototypes;
using Robust.Shared.Prototypes;
namespace Content.Server._CP14.ModularCraft.Modifiers;
public sealed partial class EditModularSlots : CP14ModularCraftModifier
{
[DataField]
public HashSet<ProtoId<CP14ModularCraftSlotPrototype>> AddSlots = new();
[DataField]
public HashSet<ProtoId<CP14ModularCraftSlotPrototype>> RemoveSlots = new();
public override void Effect(EntityManager entManager, Entity<CP14ModularCraftStartPointComponent> start, Entity<CP14ModularCraftPartComponent>? part)
{
start.Comp.FreeSlots.AddRange(AddSlots);
foreach (var slot in RemoveSlots)
{
if (start.Comp.FreeSlots.Contains(slot))
start.Comp.FreeSlots.Remove(slot);
}
}
}

View File

@@ -4,7 +4,7 @@ using Robust.Shared.Prototypes;
namespace Content.Shared._CP14.ModularCraft.Components;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true), Access(typeof(CP14SharedModularCraftSystem))]
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)]
public sealed partial class CP14ModularCraftStartPointComponent : Component
{
/// <summary>

View File

@@ -25,9 +25,6 @@ public sealed partial class CP14ModularCraftPartPrototype : IPrototype
[DataField(serverOnly: true)]
public List<CP14ModularCraftModifier> Modifiers = new();
[DataField]
public HashSet<ProtoId<CP14ModularCraftSlotPrototype>> AddSlots = new();
[DataField]
public string? RsiPath;

View File

@@ -0,0 +1,3 @@
verb-categories-modular-craft = Forging
cp14-modular-craft-add-part-verb-text = Attach as {$slot}

View File

@@ -0,0 +1,2 @@
cp14-modular-slot-blade = blade
cp14-modular-slot-garde = garde

View File

@@ -1,2 +1,2 @@
cp14-modular-slot-blade = лезвие
cp14-modular-slot-jewerly1 = украшение (1)
cp14-modular-slot-garde = гарда

View File

@@ -17,7 +17,7 @@
name: iron dagger blade
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Dagger/iron_dagger.rsi
sprite: _CP14/Objects/ModularTools/Blade/Dagger/iron_dagger.rsi
state: icon
- type: CP14ModularCraftPart
possibleParts:
@@ -29,7 +29,7 @@
name: golden dagger blade
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Dagger/gold_dagger.rsi
sprite: _CP14/Objects/ModularTools/Blade/Dagger/gold_dagger.rsi
state: icon
- type: CP14ModularCraftPart
possibleParts:
@@ -41,7 +41,7 @@
name: copper dagger blade
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Dagger/copper_dagger.rsi
sprite: _CP14/Objects/ModularTools/Blade/Dagger/copper_dagger.rsi
state: icon
- type: CP14ModularCraftPart
possibleParts:

View File

@@ -18,7 +18,7 @@
name: iron pickaxe head
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Pickaxe/iron_pickaxe.rsi
sprite: _CP14/Objects/ModularTools/Blade/Pickaxe/iron_pickaxe.rsi
state: icon
- type: CP14ModularCraftPart
possibleParts:
@@ -31,7 +31,7 @@
name: golden pickaxe head
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Pickaxe/gold_pickaxe.rsi
sprite: _CP14/Objects/ModularTools/Blade/Pickaxe/gold_pickaxe.rsi
state: icon
- type: CP14ModularCraftPart
possibleParts:
@@ -44,7 +44,7 @@
name: copper pickaxe head
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Pickaxe/copper_pickaxe.rsi
sprite: _CP14/Objects/ModularTools/Blade/Pickaxe/copper_pickaxe.rsi
state: icon
- type: CP14ModularCraftPart
possibleParts:

View File

@@ -0,0 +1,51 @@
- type: entity
parent: BaseItem
id: CP14ModularBladeRapierBase
categories: [ ForkFiltered ]
abstract: true
description: A rapier blade without a hilt. A blacksmith can use it as a spare part to create a weapon.
components:
- type: Item
storedRotation: 45
shape:
- 0,0,0,1
storedOffset: 0, 10
- type: entity
parent: CP14ModularBladeRapierBase
id: CP14ModularBladeIronRapier
categories: [ ForkFiltered ]
name: iron rapier blade
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Blade/Rapier/iron_rapier.rsi
state: icon
- type: CP14ModularCraftPart
possibleParts:
- BladeIronRapier
- type: entity
parent: CP14ModularBladeRapierBase
id: CP14ModularBladeGoldRapier
categories: [ ForkFiltered ]
name: golden rapier blade
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Blade/Rapier/gold_rapier.rsi
state: icon
- type: CP14ModularCraftPart
possibleParts:
- BladeGoldRapier
- type: entity
parent: CP14ModularBladeRapierBase
id: CP14ModularBladeCopperRapier
categories: [ ForkFiltered ]
name: copper rapier blade
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Blade/Rapier/copper_rapier.rsi
state: icon
- type: CP14ModularCraftPart
possibleParts:
- BladeCopperRapier

View File

@@ -0,0 +1,51 @@
- 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: CP14ModularGardeSharpGold
categories: [ ForkFiltered ]
name: sharp gold garde
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Garde/gold_sharp.rsi
state: icon
- type: CP14ModularCraftPart
possibleParts:
- GardeSharpGold
- type: entity
parent: CP14ModularGardeBase
id: CP14ModularGardeSharpIron
categories: [ ForkFiltered ]
name: sharp iron garde
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Garde/iron_sharp.rsi
state: icon
- type: CP14ModularCraftPart
possibleParts:
- GardeSharpIron
- type: entity
parent: CP14ModularGardeBase
id: CP14ModularGardeSharpCopper
categories: [ ForkFiltered ]
name: sharp copper garde
components:
- type: Sprite
sprite: _CP14/Objects/ModularTools/Garde/copper_sharp.rsi
state: icon
- type: CP14ModularCraftPart
possibleParts:
- GardeSharpCopper

View File

@@ -7,7 +7,7 @@
- type: Sprite
layers:
- state: icon
- sprite: _CP14/Objects/ModularTools/Dagger/iron_dagger.rsi
- sprite: _CP14/Objects/ModularTools/Blade/Dagger/iron_dagger.rsi
state: icon
- type: CP14ModularCraftAutoAssemble
details:

View File

@@ -7,7 +7,7 @@
- type: Sprite
layers:
- state: icon
- sprite: _CP14/Objects/ModularTools/Pickaxe/iron_pickaxe.rsi
- sprite: _CP14/Objects/ModularTools/Blade/Pickaxe/iron_pickaxe.rsi
state: icon
- type: CP14ModularCraftAutoAssemble
details:

View File

@@ -28,12 +28,15 @@
newSize: Normal
adjustShape: 0, 1
storedOffsetBonus: 0, 5
- !type:EditModularSlots
addSlots:
- Garde
- type: modularPart
id: BladeIronDagger
targetSlot: Blade
sourcePart: CP14ModularBladeIronDagger
rsiPath: _CP14/Objects/ModularTools/Dagger/iron_dagger.rsi
rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/iron_dagger.rsi
modifiers:
- !type:Inherit
copyFrom:
@@ -44,7 +47,7 @@
id: BladeGoldDagger
targetSlot: Blade
sourcePart: CP14ModularBladeGoldDagger
rsiPath: _CP14/Objects/ModularTools/Dagger/gold_dagger.rsi
rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/gold_dagger.rsi
modifiers:
- !type:Inherit
copyFrom:
@@ -55,7 +58,7 @@
id: BladeCopperDagger
targetSlot: Blade
sourcePart: CP14ModularBladeCopperDagger
rsiPath: _CP14/Objects/ModularTools/Dagger/copper_dagger.rsi
rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/copper_dagger.rsi
modifiers:
- !type:Inherit
copyFrom:

View File

@@ -16,12 +16,15 @@
newSize: Normal
adjustShape: 1, 1
storedOffsetBonus: 0, 5
- !type:EditModularSlots
addSlots:
- Garde
- type: modularPart
id: BladeIronPickaxe
targetSlot: Blade
sourcePart: CP14ModularBladeIronPickaxe
rsiPath: _CP14/Objects/ModularTools/Pickaxe/iron_pickaxe.rsi
rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/iron_pickaxe.rsi
modifiers:
- !type:Inherit
copyFrom:
@@ -32,7 +35,7 @@
id: BladeGoldPickaxe
targetSlot: Blade
sourcePart: CP14ModularBladeGoldPickaxe
rsiPath: _CP14/Objects/ModularTools/Pickaxe/gold_pickaxe.rsi
rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/gold_pickaxe.rsi
modifiers:
- !type:Inherit
copyFrom:
@@ -43,7 +46,7 @@
id: BladeCopperPickaxe
targetSlot: Blade
sourcePart: CP14ModularBladeCopperPickaxe
rsiPath: _CP14/Objects/ModularTools/Pickaxe/copper_pickaxe.rsi
rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/copper_pickaxe.rsi
modifiers:
- !type:Inherit
copyFrom:

View File

@@ -0,0 +1,69 @@
#Concept:
# + Additional range
# + High Damage! And speed
# - Required Warcraft skill
- type: modularPart
id: BaseBladeRapier
modifiers:
- !type:Inherit
copyFrom:
- BaseWeaponChemical
- BaseWeaponSharp
- !type:AddComponents
components:
- type: CP14SkillRequirement
fuckupChance: 0.5
requiredSkills:
- Warcraft
- !type:EditMeleeWeapon
newWideAnimation: CP14WeaponArcThrust
resetOnHandSelected: true # Disable fast swap
bonusRange: 0.2
angleMultiplier: 0
attackRateMultiplier: 1.5
bonusDamage:
types:
Piercing: 14
- !type:EditItem
newSize: Large
adjustShape: 0, 2
storedOffsetBonus: 0, 10
- !type:EditModularSlots
addSlots:
- Garde
- !type:EditDamageableModifier # Only 1 ingot t craft, so less health
multiplier: 2
- type: modularPart
id: BladeIronRapier
targetSlot: Blade
sourcePart: CP14ModularBladeIronRapier
rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/iron_rapier.rsi
modifiers:
- !type:Inherit
copyFrom:
- BaseBladeRapier
- BaseWeaponIron
- type: modularPart
id: BladeGoldRapier
targetSlot: Blade
sourcePart: CP14ModularBladeGoldRapier
rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/gold_rapier.rsi
modifiers:
- !type:Inherit
copyFrom:
- BaseBladeRapier
- BaseWeaponGold
- type: modularPart
id: BladeCopperRapier
targetSlot: Blade
sourcePart: CP14ModularBladeCopperRapier
rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/copper_rapier.rsi
modifiers:
- !type:Inherit
copyFrom:
- BaseBladeRapier
- BaseWeaponCopper

View File

@@ -0,0 +1,43 @@
# Concept
# + Damage
- type: modularPart
id: BaseGardeSharp
modifiers:
- !type:EditMeleeWeapon
bonusDamage:
types:
Piercing: 3
- type: modularPart
id: GardeSharpGold
targetSlot: Garde
sourcePart: CP14ModularGardeSharpGold
rsiPath: _CP14/Objects/ModularTools/Garde/gold_sharp.rsi
modifiers:
- !type:Inherit
copyFrom:
- BaseGardeSharp
- BaseWeaponGold
- type: modularPart
id: GardeSharpIron
targetSlot: Garde
sourcePart: CP14ModularGardeSharpIron
rsiPath: _CP14/Objects/ModularTools/Garde/iron_sharp.rsi
modifiers:
- !type:Inherit
copyFrom:
- BaseGardeSharp
- BaseWeaponIron
- type: modularPart
id: GardeSharpCopper
targetSlot: Garde
sourcePart: CP14ModularGardeSharpCopper
rsiPath: _CP14/Objects/ModularTools/Garde/copper_sharp.rsi
modifiers:
- !type:Inherit
copyFrom:
- BaseGardeSharp
- BaseWeaponCopper

View File

@@ -87,6 +87,6 @@
id: BaseWeaponGold
modifiers:
- !type:EditDamageableModifier
multiplier: 3
multiplier: 2
- !type:EditSharpened
sharpnessDamageMultiplier: 3

View File

@@ -22,6 +22,9 @@
newSize: Normal
adjustShape: 0, 1
storedOffsetBonus: 0, 5
- !type:EditModularSlots
addSlots:
- Garde
#Concept:
# + High Throwable damage
@@ -60,6 +63,9 @@
newSize: Normal
adjustShape: 0, 1
storedOffsetBonus: 0, 5
- !type:EditModularSlots
addSlots:
- Garde
#Concept:
# + High Wielded damage
@@ -127,6 +133,9 @@
newSize: Large
adjustShape: 0, 2
storedOffsetBonus: 0, 10
- !type:EditModularSlots
addSlots:
- Garde
- type: modularPart
id: BladeIronShovel
@@ -159,4 +168,7 @@
- !type:EditItem
newSize: Normal
adjustShape: 0, 1
storedOffsetBonus: 0, 5
storedOffsetBonus: 0, 5
- !type:EditModularSlots
addSlots:
- Garde

View File

@@ -1,3 +1,7 @@
- type: modularSlot
id: Blade
name: cp14-modular-slot-blade
name: cp14-modular-slot-blade
- type: modularSlot
id: Garde
name: cp14-modular-slot-garde

View File

@@ -239,4 +239,52 @@
craftTime: 4
stacks:
CP14CopperBar: 1
result: CP14ModularBladeCopperDagger
result: CP14ModularBladeCopperDagger
- type: CP14Recipe
id: CP14ModularGardeSharpCopper
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14CopperBar: 1
result: CP14ModularGardeSharpCopper
- type: CP14Recipe
id: CP14ModularGardeSharpIron
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 1
result: CP14ModularGardeSharpIron
- type: CP14Recipe
id: CP14ModularGardeSharpGold
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14GoldBar: 1
result: CP14ModularGardeSharpGold
- type: CP14Recipe
id: CP14ModularBladeIronRapier
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14IronBar: 1
result: CP14ModularBladeIronRapier
- type: CP14Recipe
id: CP14ModularBladeGoldRapier
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14GoldBar: 1
result: CP14ModularBladeGoldRapier
- type: CP14Recipe
id: CP14ModularBladeCopperRapier
tag: CP14RecipeAnvil
craftTime: 4
stacks:
CP14CopperBar: 1
result: CP14ModularBladeCopperRapier

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 B

View File

@@ -0,0 +1,42 @@
{
"version": 1,
"size": {
"x": 48,
"y": 48
},
"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: 468 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 B

View File

@@ -0,0 +1,42 @@
{
"version": 1,
"size": {
"x": 48,
"y": 48
},
"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: 458 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 469 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 B

View File

@@ -0,0 +1,42 @@
{
"version": 1,
"size": {
"x": 48,
"y": 48
},
"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
}
]
}

Some files were not shown because too many files have changed in this diff Show More