Modular arrows (#906)
* arrow * sprite * slots * migration * fix * fix2 * del --------- Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
@@ -1,3 +1,5 @@
|
||||
cp14-modular-slot-blade = blade
|
||||
cp14-modular-slot-garde = garde
|
||||
cp14-modular-slot-blade-inlay = blade inlay
|
||||
cp14-modular-slot-blade-inlay = blade inlay
|
||||
cp14-modular-slot-rod = rod
|
||||
cp14-modular-slot-arrow-tip = arrow tip
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
cp14-modular-slot-blade = лезвие
|
||||
cp14-modular-slot-garde = гарда
|
||||
cp14-modular-slot-blade-inlay = инкрустация лезвия
|
||||
cp14-modular-slot-blade-inlay = инкрустация лезвия
|
||||
cp14-modular-slot-rod = древко
|
||||
cp14-modular-slot-arrow-tip = наконечник стрелы
|
||||
|
||||
@@ -33,13 +33,24 @@
|
||||
|
||||
- type: entity
|
||||
parent: CP14ClothingBeltQuiver
|
||||
id: CP14ClothingBeltQuiverArrow
|
||||
id: CP14ClothingBeltQuiverIronArrow
|
||||
categories: [ ForkFiltered ]
|
||||
suffix: Full. Arrow
|
||||
suffix: Full. Iron. Arrow
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: CP14Arrow
|
||||
- id: CP14ModularIronArrow
|
||||
amount: 16
|
||||
|
||||
- type: entity
|
||||
parent: CP14ClothingBeltQuiver
|
||||
id: CP14ClothingBeltQuiverMithrilArrow
|
||||
categories: [ ForkFiltered ]
|
||||
suffix: Full. Mithril. Arrow
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: CP14ModularMithrilArrow
|
||||
amount: 16
|
||||
|
||||
- type: entity
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
id: CP14ModularBladeTipBase
|
||||
categories: [ ForkFiltered ]
|
||||
abstract: true
|
||||
description: The tip on an arrow shaft, a well-finished little piece of metal.
|
||||
components:
|
||||
- type: Item
|
||||
storedRotation: 0
|
||||
|
||||
- type: entity
|
||||
parent: CP14ModularBladeTipBase
|
||||
id: CP14ModularTipIronArrow
|
||||
name: iron tip
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/ModularTools/Tip/arrow.rsi
|
||||
layers:
|
||||
- state: icon
|
||||
- state: solution1
|
||||
map: ["enum.SolutionContainerLayers.Fill"]
|
||||
visible: false
|
||||
- type: CP14ModularCraftPart
|
||||
possibleParts:
|
||||
- TipIronArrow
|
||||
- type: CP14Material
|
||||
materials:
|
||||
CP14Iron: 2
|
||||
|
||||
- type: entity
|
||||
parent: CP14ModularBladeTipBase
|
||||
id: CP14ModularTipGoldArrow
|
||||
name: golden tip
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/ModularTools/Tip/arrow.rsi
|
||||
layers:
|
||||
- state: icon
|
||||
color: "#ffaf47"
|
||||
- state: solution1
|
||||
map: ["enum.SolutionContainerLayers.Fill"]
|
||||
visible: false
|
||||
- type: CP14ModularCraftPart
|
||||
possibleParts:
|
||||
- TipGoldArrow
|
||||
- type: CP14Material
|
||||
materials:
|
||||
CP14Gold: 2
|
||||
|
||||
- type: entity
|
||||
parent: CP14ModularBladeTipBase
|
||||
id: CP14ModularTipCopperArrow
|
||||
name: copper tip
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/ModularTools/Tip/arrow.rsi
|
||||
layers:
|
||||
- state: icon
|
||||
color: "#bd712f"
|
||||
- state: solution1
|
||||
map: ["enum.SolutionContainerLayers.Fill"]
|
||||
visible: false
|
||||
- type: CP14ModularCraftPart
|
||||
possibleParts:
|
||||
- TipCopperArrow
|
||||
- type: CP14Material
|
||||
materials:
|
||||
CP14Copper: 2
|
||||
|
||||
- type: entity
|
||||
parent: CP14ModularBladeTipBase
|
||||
id: CP14ModularTipMithrilArrow
|
||||
name: mithril tip
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/ModularTools/Tip/arrow.rsi
|
||||
layers:
|
||||
- state: icon
|
||||
color: "#45d2a4"
|
||||
- state: solution1
|
||||
map: ["enum.SolutionContainerLayers.Fill"]
|
||||
visible: false
|
||||
- type: CP14ModularCraftPart
|
||||
possibleParts:
|
||||
- TipMithrilArrow
|
||||
- type: CP14Material
|
||||
materials:
|
||||
CP14Mithril: 2
|
||||
@@ -387,4 +387,4 @@
|
||||
collection: MetalBreak
|
||||
- !type:CP14ModularDisassembleBehavior
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
acts: ["Destruction"]
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
- type: entity
|
||||
parent: CP14ModularGripBase
|
||||
id: CP14ModularRod
|
||||
abstract: true
|
||||
description: A thin shaft of wood, the most important part of the future arrow.
|
||||
components:
|
||||
- type: CP14ModularCraftStartPoint
|
||||
startSlots:
|
||||
- ArrowTip
|
||||
- type: Item
|
||||
storedRotation: 0
|
||||
- type: MeleeWeapon
|
||||
resetOnHandSelected: false #Fast swap
|
||||
range: 1.0 # 1.5 standart
|
||||
cPAnimationOffset: -0.75 #-1 standart
|
||||
attackRate: 1 # 1 standart
|
||||
- type: Clothing
|
||||
slots:
|
||||
- belt
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
shape: !type:PhysShapeCircle
|
||||
radius: 0.2
|
||||
density: 5
|
||||
mask:
|
||||
- ItemMask
|
||||
restitution: 0.3
|
||||
friction: 0.2
|
||||
projectile:
|
||||
shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.1,-0.1,0.1,0.1"
|
||||
hard: false
|
||||
mask:
|
||||
- Impassable
|
||||
- BulletImpassable
|
||||
- type: EmbeddableProjectile
|
||||
sound: /Audio/Weapons/star_hit.ogg
|
||||
embedOnThrow: false
|
||||
- type: ThrowingAngle
|
||||
angle: 0
|
||||
- type: Ammo
|
||||
muzzleFlash: null
|
||||
- type: Tag
|
||||
tags:
|
||||
- CP14Arrow
|
||||
|
||||
# Rod
|
||||
- type: entity
|
||||
parent: CP14ModularRod
|
||||
id: CP14ModularRodWooden
|
||||
name: wooden grip
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/ModularTools/Rod/arrow.rsi
|
||||
layers:
|
||||
- state: tail
|
||||
- state: icon
|
||||
- type: CP14ModularCraftStartPoint
|
||||
startProtoPart: CP14ModularRodWooden
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 30
|
||||
behaviors:
|
||||
- !type:PlaySoundBehavior
|
||||
sound:
|
||||
collection: MetalBreak
|
||||
- !type:CP14ModularDisassembleBehavior
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
|
||||
- type: entity
|
||||
parent: CP14ModularRod
|
||||
id: CP14ModularRodLucens
|
||||
name: lucens grip
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/ModularTools/Rod/arrow.rsi
|
||||
layers:
|
||||
- state: tail
|
||||
- state: icon
|
||||
color: "#0398fc"
|
||||
- type: CP14ModularCraftStartPoint
|
||||
startProtoPart: CP14ModularRodLucens
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 45
|
||||
behaviors:
|
||||
- !type:PlaySoundBehavior
|
||||
sound:
|
||||
collection: MetalBreak
|
||||
- !type:CP14ModularDisassembleBehavior
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
@@ -0,0 +1,33 @@
|
||||
- type: entity
|
||||
id: CP14ModularIronArrow
|
||||
parent: CP14ModularRodWooden
|
||||
name: iron arrow
|
||||
description: Standard arrow, balance between damage and reliability.
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: icon
|
||||
- state: tail
|
||||
- sprite: _CP14/Objects/ModularTools/Tip/arrow.rsi
|
||||
state: icon
|
||||
- type: CP14ModularCraftAutoAssemble
|
||||
details:
|
||||
- TipIronArrow
|
||||
|
||||
- type: entity
|
||||
id: CP14ModularMithrilArrow
|
||||
parent: CP14ModularRodLucens
|
||||
name: mithril arrow
|
||||
description: An arrow made of expensive wood and magical iron, you shoot money, but the damage matches.
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: icon
|
||||
color: "#0398fc"
|
||||
- state: tail
|
||||
- sprite: _CP14/Objects/ModularTools/Tip/arrow.rsi
|
||||
state: icon
|
||||
color: "#45d2a4"
|
||||
- type: CP14ModularCraftAutoAssemble
|
||||
details:
|
||||
- TipMithrilArrow
|
||||
@@ -1,31 +0,0 @@
|
||||
- type: entity
|
||||
parent: BaseArrow
|
||||
id: CP14BaseArrow
|
||||
categories: [ ForkFiltered ]
|
||||
abstract: true
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
- CP14Arrow
|
||||
|
||||
- type: entity
|
||||
id: CP14Arrow
|
||||
parent: CP14BaseArrow
|
||||
name: arrow
|
||||
description: Wooden rod with iron tip and plumage. Simple and dangerous.
|
||||
components:
|
||||
- type: Projectile
|
||||
deleteOnCollide: false
|
||||
onlyCollideWhenShot: true
|
||||
damage:
|
||||
types:
|
||||
Piercing: 25
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/Weapons/Ranged/Projectiles/arrows.rsi
|
||||
layers:
|
||||
- state: tail
|
||||
- state: rod
|
||||
- state: tip
|
||||
- state: solution1
|
||||
map: ["enum.SolutionContainerLayers.Fill"]
|
||||
visible: false
|
||||
96
Resources/Prototypes/_CP14/ModularCraft/Tip/arrow.yml
Normal file
@@ -0,0 +1,96 @@
|
||||
- type: modularPart
|
||||
id: BaseTipArrow
|
||||
modifiers:
|
||||
- !type:Inherit
|
||||
copyFrom:
|
||||
- BaseWeaponRangedChemical
|
||||
- !type:EditMeleeWeapon
|
||||
resetOnHandSelected: true # Disable fast swap
|
||||
attackRateMultiplier: 1.4
|
||||
bonusDamage:
|
||||
types:
|
||||
Piercing: 3
|
||||
- !type:EditItem
|
||||
newSize: Small
|
||||
- !type:EditModularSlots
|
||||
addSlots:
|
||||
- Rod
|
||||
|
||||
- type: modularPart
|
||||
id: TipIronArrow
|
||||
slots:
|
||||
- ArrowTip
|
||||
rsiPath: _CP14/Objects/ModularTools/Tip/arrow.rsi
|
||||
modifiers:
|
||||
- !type:Inherit
|
||||
copyFrom:
|
||||
- BaseTipArrow
|
||||
- BaseBladeIron
|
||||
- !type:AddComponents
|
||||
components:
|
||||
- type: Projectile
|
||||
deleteOnCollide: false
|
||||
onlyCollideWhenShot: true
|
||||
damage:
|
||||
types:
|
||||
Piercing: 25
|
||||
|
||||
- type: modularPart
|
||||
id: TipGoldArrow
|
||||
slots:
|
||||
- ArrowTip
|
||||
rsiPath: _CP14/Objects/ModularTools/Tip/arrow.rsi
|
||||
color: "#ffaf47"
|
||||
modifiers:
|
||||
- !type:Inherit
|
||||
copyFrom:
|
||||
- BaseTipArrow
|
||||
- BaseBladeGold
|
||||
- !type:AddComponents
|
||||
components:
|
||||
- type: Projectile
|
||||
deleteOnCollide: false
|
||||
onlyCollideWhenShot: true
|
||||
damage:
|
||||
types:
|
||||
Piercing: 15
|
||||
|
||||
- type: modularPart
|
||||
id: TipCopperArrow
|
||||
slots:
|
||||
- ArrowTip
|
||||
rsiPath: _CP14/Objects/ModularTools/Tip/arrow.rsi
|
||||
color: "#bd712f"
|
||||
modifiers:
|
||||
- !type:Inherit
|
||||
copyFrom:
|
||||
- BaseTipArrow
|
||||
- BaseBladeCopper
|
||||
- !type:AddComponents
|
||||
components:
|
||||
- type: Projectile
|
||||
deleteOnCollide: false
|
||||
onlyCollideWhenShot: true
|
||||
damage:
|
||||
types:
|
||||
Piercing: 15
|
||||
|
||||
- type: modularPart
|
||||
id: TipMithrilArrow
|
||||
slots:
|
||||
- ArrowTip
|
||||
rsiPath: _CP14/Objects/ModularTools/Tip/arrow.rsi
|
||||
color: "#45d2a4"
|
||||
modifiers:
|
||||
- !type:Inherit
|
||||
copyFrom:
|
||||
- BaseTipArrow
|
||||
- BaseBladeMithril
|
||||
- !type:AddComponents
|
||||
components:
|
||||
- type: Projectile
|
||||
deleteOnCollide: false
|
||||
onlyCollideWhenShot: true
|
||||
damage:
|
||||
types:
|
||||
Piercing: 30
|
||||
@@ -65,4 +65,28 @@
|
||||
- type: Utensil
|
||||
types:
|
||||
- Knife
|
||||
- type: CP14WallpaperRemover
|
||||
- type: CP14WallpaperRemover
|
||||
|
||||
- type: modularPart
|
||||
id: BaseWeaponRangedChemical
|
||||
modifiers:
|
||||
- !type:AddComponents
|
||||
components:
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
ammo:
|
||||
maxVol: 2
|
||||
- type: MeleeChemicalInjector
|
||||
solution: ammo
|
||||
- type: RefillableSolution
|
||||
solution: ammo
|
||||
- type: InjectableSolution
|
||||
solution: ammo
|
||||
- type: SolutionInjectOnEmbed
|
||||
transferAmount: 2
|
||||
solution: ammo
|
||||
- type: SolutionTransfer
|
||||
maxTransferAmount: 2
|
||||
- type: SolutionContainerVisuals
|
||||
maxFillLevels: 1
|
||||
fillBaseName: solution
|
||||
|
||||
@@ -8,4 +8,12 @@
|
||||
|
||||
- type: modularSlot
|
||||
id: BladeInlay
|
||||
name: cp14-modular-slot-blade-inlay
|
||||
name: cp14-modular-slot-blade-inlay
|
||||
|
||||
- type: modularSlot
|
||||
id: Rod
|
||||
name: cp14-modular-slot-rod
|
||||
|
||||
- type: modularSlot
|
||||
id: ArrowTip
|
||||
name: cp14-modular-slot-arrow-tip
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
|
||||
# Tip
|
||||
|
||||
- type: CP14Recipe
|
||||
id: CP14ModularTipIronArrow
|
||||
tag: CP14RecipeAnvil
|
||||
craftTime: 2
|
||||
requirements:
|
||||
- !type:StackResource
|
||||
stack: CP14IronBar
|
||||
count: 1
|
||||
- !type:KnowledgeRequired
|
||||
knowledge: MetallForging
|
||||
result: CP14ModularTipIronArrow
|
||||
resultCount: 4
|
||||
|
||||
- type: CP14Recipe
|
||||
id: CP14ModularTipGoldArrow
|
||||
tag: CP14RecipeAnvil
|
||||
craftTime: 4
|
||||
requirements:
|
||||
- !type:StackResource
|
||||
stack: CP14GoldBar
|
||||
count: 1
|
||||
- !type:KnowledgeRequired
|
||||
knowledge: MetallForging
|
||||
result: CP14ModularTipGoldArrow
|
||||
resultCount: 4
|
||||
|
||||
- type: CP14Recipe
|
||||
id: CP14ModularTipCopperArrow
|
||||
tag: CP14RecipeAnvil
|
||||
craftTime: 4
|
||||
requirements:
|
||||
- !type:StackResource
|
||||
stack: CP14CopperBar
|
||||
count: 1
|
||||
- !type:KnowledgeRequired
|
||||
knowledge: MetallForging
|
||||
result: CP14ModularTipCopperArrow
|
||||
resultCount: 4
|
||||
|
||||
- type: CP14Recipe
|
||||
id: CP14ModularTipMithrilArrow
|
||||
tag: CP14RecipeAnvil
|
||||
craftTime: 2
|
||||
requirements:
|
||||
- !type:StackResource
|
||||
stack: CP14MithrilBar
|
||||
count: 1
|
||||
- !type:KnowledgeRequired
|
||||
knowledge: MetallForging
|
||||
result: CP14ModularTipMithrilArrow
|
||||
resultCount: 4
|
||||
@@ -127,17 +127,25 @@
|
||||
result: CP14BowCombat
|
||||
|
||||
- type: CP14Recipe
|
||||
id: CP14Arrow
|
||||
id: CP14ModularRodWooden
|
||||
tag: CP14RecipeWorkbench
|
||||
craftTime: 3
|
||||
requirements:
|
||||
- !type:StackResource
|
||||
stack: CP14WoodenPlanks
|
||||
count: 1
|
||||
result: CP14ModularRodWooden
|
||||
resultCount: 4
|
||||
|
||||
- type: CP14Recipe
|
||||
id: CP14ModularRodLucens
|
||||
tag: CP14RecipeWorkbench
|
||||
craftTime: 3
|
||||
requirements:
|
||||
- !type:StackResource
|
||||
stack: CP14IronBar
|
||||
stack: CP14LucensWoodenPlanks
|
||||
count: 1
|
||||
result: CP14Arrow
|
||||
result: CP14ModularRodLucens
|
||||
resultCount: 4
|
||||
|
||||
- type: CP14Recipe
|
||||
|
||||
|
After Width: | Height: | Size: 219 B |
|
After Width: | Height: | Size: 241 B |
|
After Width: | Height: | Size: 244 B |
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Created by odlieerr (discord)",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "tail"
|
||||
},
|
||||
{
|
||||
"name": "icon"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 209 B |
|
After Width: | Height: | Size: 224 B |
|
After Width: | Height: | Size: 241 B |
|
After Width: | Height: | Size: 244 B |
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Created by odlieerr (discord)",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "icon"
|
||||
},
|
||||
{
|
||||
"name": "solution1"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 131 B |
@@ -253,6 +253,10 @@ CP14WoodenClosetBankerFilled: CP14WoodenClosetMerchantFilled
|
||||
C14IronCabinet: CP14IronCabinet
|
||||
C14IronCabinetCargo: CP14IronCabinetCargo
|
||||
|
||||
#2025-16-02
|
||||
CP14Arrow: CP14ModularIronArrow
|
||||
CP14ClothingBeltQuiverArrow: CP14ClothingBeltQuiverIronArrow
|
||||
|
||||
#2025-17-02
|
||||
CP14Crossbolt: CP14CrossboltIron
|
||||
|
||||
|
||||