From f0a25ddef656dd03a1f9ff5e630b51debdf394d4 Mon Sep 17 00:00:00 2001 From: Nim <128169402+Nimfar11@users.noreply.github.com> Date: Tue, 10 Jun 2025 11:08:07 +0300 Subject: [PATCH] Two-handed crossbow (#1315) * Crossbow * bow * size * size crossbow * PhysicalComposition --- .../Ranged/Ammunition/crossbowBolts.yml | 97 ++++++++++++++++++ .../Entities/Objects/Weapons/Ranged/bow.yml | 4 +- .../Objects/Weapons/Ranged/crossbow.yml | 62 +++++++++++ .../_CP14/Recipes/Workbench/Anvil/misc.yml | 77 ++++++++++++++ Resources/Prototypes/_CP14/tags.yml | 3 + .../Projectiles/crossbolt.rsi/big_rod.png | Bin 0 -> 142 bytes .../Projectiles/crossbolt.rsi/meta.json | 3 + .../Ranged/crossbow.rsi/equipped-NECK.png | Bin 0 -> 360 bytes .../Ranged/crossbow.rsi/inhand-left.png | Bin 0 -> 612 bytes .../Ranged/crossbow.rsi/inhand-right.png | Bin 0 -> 578 bytes .../Weapons/Ranged/crossbow.rsi/meta.json | 43 ++++++++ .../Ranged/crossbow.rsi/unwielded-arrow.png | Bin 0 -> 147 bytes .../Weapons/Ranged/crossbow.rsi/unwielded.png | Bin 0 -> 407 bytes .../Ranged/crossbow.rsi/wielded-arrow.png | Bin 0 -> 146 bytes .../crossbow.rsi/wielded-inhand-left.png | Bin 0 -> 769 bytes .../crossbow.rsi/wielded-inhand-right.png | Bin 0 -> 775 bytes .../Weapons/Ranged/crossbow.rsi/wielded.png | Bin 0 -> 384 bytes 17 files changed, 288 insertions(+), 1 deletion(-) create mode 100644 Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/crossbow.yml create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Ranged/Projectiles/crossbolt.rsi/big_rod.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/equipped-NECK.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/inhand-left.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/inhand-right.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/unwielded-arrow.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/unwielded.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/wielded-arrow.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/wielded-inhand-left.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/wielded-inhand-right.png create mode 100644 Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/wielded.png diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/Ammunition/crossbowBolts.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/Ammunition/crossbowBolts.yml index c36d4ea830..fd9cee09f4 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/Ammunition/crossbowBolts.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/Ammunition/crossbowBolts.yml @@ -12,6 +12,20 @@ tags: - CP14CrossbowBolt +- type: entity + parent: BaseArrow + id: CP14BaseBigCrossbolt + categories: [ ForkFiltered ] + abstract: true + components: + - type: Item + size: Small + shape: + - 0,0,0,1 + - type: Tag + tags: + - CP14BigCrossbowBolt + - type: entity id: CP14CrossboltIron parent: CP14BaseCrossbolt @@ -106,3 +120,86 @@ - type: PhysicalComposition materialComposition: CP14Mithril: 3 + +- type: entity + id: CP14BigCrossboltIron + parent: CP14BaseBigCrossbolt + name: iron big crossbow bolt + description: A large rod without plumage, for large crossbows. + components: + - type: Projectile + deleteOnCollide: false + onlyCollideWhenShot: true + damage: + types: + Piercing: 35 + - type: Sprite + sprite: _CP14/Objects/Weapons/Ranged/Projectiles/crossbolt.rsi + layers: + - state: big_rod + - type: PhysicalComposition + materialComposition: + CP14Iron: 5 + +- type: entity + id: CP14BigCrossboltGold + parent: CP14BaseBigCrossbolt + name: gold big crossbow bolt + description: A large rod without plumage, for large crossbows. + components: + - type: Projectile + deleteOnCollide: false + onlyCollideWhenShot: true + damage: + types: + Piercing: 25 + - type: Sprite + sprite: _CP14/Objects/Weapons/Ranged/Projectiles/crossbolt.rsi + layers: + - state: big_rod + color: "#ffe269" + - type: PhysicalComposition + materialComposition: + CP14Gold: 5 + +- type: entity + id: CP14BigCrossboltCopper + parent: CP14BaseBigCrossbolt + name: copper big crossbow bolt + description: A large rod without plumage, for large crossbows. + components: + - type: Projectile + deleteOnCollide: false + onlyCollideWhenShot: true + damage: + types: + Piercing: 25 + - type: Sprite + sprite: _CP14/Objects/Weapons/Ranged/Projectiles/crossbolt.rsi + layers: + - state: big_rod + color: "#e28f08" + - type: PhysicalComposition + materialComposition: + CP14Copper: 5 + +- type: entity + id: CP14BigCrossboltMithril + parent: CP14BaseBigCrossbolt + name: mithril big crossbow bolt + description: A large rod without plumage, for large crossbows. + components: + - type: Projectile + deleteOnCollide: false + onlyCollideWhenShot: true + damage: + types: + Piercing: 40 + - type: Sprite + sprite: _CP14/Objects/Weapons/Ranged/Projectiles/crossbolt.rsi + layers: + - state: big_rod + color: "#38f0b3" + - type: PhysicalComposition + materialComposition: + CP14Mithril: 5 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/bow.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/bow.yml index e8770c9cd6..60c6b8d329 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/bow.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/bow.yml @@ -7,7 +7,9 @@ - type: Sprite sprite: _CP14/Objects/Weapons/Ranged/bow.rsi - type: Item - size: Normal + size: Huge + shape: + - 0,0,1,3 - type: Clothing equipDelay: 0.45 unequipDelay: 0.45 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/crossbow.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/crossbow.yml new file mode 100644 index 0000000000..b4c6ed1569 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/crossbow.yml @@ -0,0 +1,62 @@ +- type: entity + id: CP14BaseCrossbow + name: crossbow + parent: BaseItem + categories: [ ForkFiltered ] + description: The standard crossbow, is a great threat, although many may not find it convenient. But that kind of strength may be worth it. + components: + - type: Sprite + sprite: _CP14/Objects/Weapons/Ranged/crossbow.rsi + layers: + - state: unwielded + map: [ base ] + - type: Item + size: Huge + shape: + - 0,0,1,3 + - type: Clothing + equipDelay: 0.45 + unequipDelay: 0.45 + sprite: _CP14/Objects/Weapons/Ranged/crossbow.rsi + quickEquip: false + breakOnMove: false + slots: + - neck + - type: Wieldable + - type: GunRequiresWield + - type: SpeedModifiedOnWield + walkModifier: 0.7 + sprintModifier: 0.7 + - type: UseDelay + delay: 3 + - type: Gun + fireRate: 0.3 + minAngle: 15 + maxAngle: 30 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + collection: BulletMiss + soundEmpty: null + - type: ItemSlots + slots: + projectiles: + name: Projectiles + startingItem: null + insertSound: /Audio/Weapons/Guns/Misc/arrow_nock.ogg + whitelist: + tags: + - CP14BigCrossbowBolt + - type: ContainerContainer + containers: + projectiles: !type:ContainerSlot + - type: ContainerAmmoProvider + container: projectiles + - type: Appearance + - type: ItemMapper + mapLayers: + unwielded-arrow: + whitelist: + tags: + - CP14BigCrossbowBolt diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml index 727eebc8e5..af67557339 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml @@ -162,6 +162,66 @@ result: CP14CrossboltMithril resultCount: 3 +- type: CP14Recipe + id: CP14BigCrossboltCopper + tag: CP14RecipeAnvil + category: Weapon + craftTime: 1 + requirements: + - !type:SkillRequired + skills: + - CopperMelting + - !type:StackResource + stack: CP14CopperBar + count: 1 + result: CP14BigCrossboltCopper + resultCount: 2 + +- type: CP14Recipe + id: CP14BigCrossboltIron + tag: CP14RecipeAnvil + category: Weapon + craftTime: 1 + requirements: + - !type:SkillRequired + skills: + - IronMelting + - !type:StackResource + stack: CP14IronBar + count: 1 + result: CP14BigCrossboltIron + resultCount: 2 + +- type: CP14Recipe + id: CP14BigCrossboltGold + tag: CP14RecipeAnvil + category: Weapon + craftTime: 1 + requirements: + - !type:SkillRequired + skills: + - GoldMelting + - !type:StackResource + stack: CP14GoldBar + count: 1 + result: CP14BigCrossboltGold + resultCount: 2 + +- type: CP14Recipe + id: CP14BigCrossboltMithril + tag: CP14RecipeAnvil + category: Weapon + craftTime: 1 + requirements: + - !type:SkillRequired + skills: + - MithrilMelting + - !type:StackResource + stack: CP14MithrilBar + count: 1 + result: CP14BigCrossboltMithril + resultCount: 2 + - type: CP14Recipe id: CP14BaseLockpick tag: CP14RecipeAnvil @@ -211,6 +271,23 @@ count: 1 result: CP14BaseLightCrossbow +- type: CP14Recipe + id: CP14BaseCrossbow + tag: CP14RecipeAnvil + category: Weapon + craftTime: 4 + requirements: + - !type:SkillRequired + skills: + - IronMelting + - !type:StackResource + stack: CP14IronBar + count: 5 + - !type:ProtoIdResource + protoId: CP14String + count: 2 + result: CP14BaseCrossbow + - type: CP14Recipe id: CP14ClothingMaskSteelMask tag: CP14RecipeAnvil diff --git a/Resources/Prototypes/_CP14/tags.yml b/Resources/Prototypes/_CP14/tags.yml index 174eb7d7b5..d01219b63a 100644 --- a/Resources/Prototypes/_CP14/tags.yml +++ b/Resources/Prototypes/_CP14/tags.yml @@ -151,5 +151,8 @@ - type: Tag id: CP14EnergyCrystal +- type: Tag + id: CP14BigCrossbowBolt + - type: Tag id: CP14Sandwich diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/Projectiles/crossbolt.rsi/big_rod.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/Projectiles/crossbolt.rsi/big_rod.png new file mode 100644 index 0000000000000000000000000000000000000000..e19c9deb68abf818fb338a05920f1a57096c3abb GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}9-c0aArY-_ zFKpywP!wSa+{i1u@xMpQ>t|OESZ(RxtTWP&moQWH6uNS}{G{FGhA{41j~PxeF!LN> o{BO09QKUZM-3ke^T&E5I=7SK!vPgg&ebxsLQ05Z!jEC2ui literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/Projectiles/crossbolt.rsi/meta.json b/Resources/Textures/_CP14/Objects/Weapons/Ranged/Projectiles/crossbolt.rsi/meta.json index ad390e53d5..5caf4ef3a7 100644 --- a/Resources/Textures/_CP14/Objects/Weapons/Ranged/Projectiles/crossbolt.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Weapons/Ranged/Projectiles/crossbolt.rsi/meta.json @@ -10,6 +10,9 @@ { "name": "rod" }, + { + "name": "big_rod" + }, { "name": "solution1" } diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/equipped-NECK.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/equipped-NECK.png new file mode 100644 index 0000000000000000000000000000000000000000..9cdee405c439fd2a22ae6004b528d24faf4dbd29 GIT binary patch literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zl{{S>Ln`LH zy=v=yI6&ms$K{XW?!0|)`;peQX&icw#5r_Jrs!QddqFeUzJIn}Q_0JKjzv2gAs|8JkdFJ|Xn z%v!Uj`Pt1oKfL2tZ~T-kz~ina(Kk)6Xl;*y*`1jCxB3#!FVe3MJm=>y=Uk5ahR56Q w$ALJirB#1};^T`7n9hXVE@J@(5Hc{YVUqI+`E)a-?lef))78&qol`;+03NBJ82|tP literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..80e6acbb293000564cc640ed7a5632408935d17a GIT binary patch literal 612 zcmV-q0-ODbP)Px%9!W$&RCt{2+CNX*P!t95WdJ4=J3wC{ZK_qlP8XP69N1;jsfI)DH z&;@@A0MI=>RG9@T4S4tF6+V93JL;YudJ;`AlM@oL?xoUz#kKE8JD)#PMy=D>ZCc>w zF3=#}fW~gq9&fBxTzun*sX=XHS0yv^qh1IP}GNn7B@XHwb!NeEm{a8G@okU1;MQO#81#4($f0 z))PR5_SaV;A|fIpA|fK9(SC(e`)6pJMp>eG77YN>?<72n252u)5IvIAPQW;?D>?(D zb^?+pm8-TN#n9X$d9+q1XajoN9K+moTAiT%zwW*}YI8Fd7=Ht5b2HX8KPk~8;8xl+ zH#={0*D3f@INn&TxP^)&RNe#9>;$B}j$54QM=|OvH81U*kXf5s4ZDAEX5H}vk{!Y9 y{O|sN&8>$075zpSg}68mv$ankg?kA^saydOA=#q8h+lUA0000Px${7FPXRCt{2+A&YUKo|z#uf{mbW`bRy17XE95RAbEoF!poAu$Xty2&4414kAe z82JGNSTHOaft7Rs9BLCcTv%Mr!ITiCw59cE$@`4t=)L)J*Wh=jLiM}c^=lXu^&!C0G-`uXK3 z5N|(uXWNbeyP=d#vP4Ak)hdvPNUW4iI$s51a+-}bf6XO*`E#6Ge^6_nbgfp?D_k1^ zL`09*m#MS6hbPCWI1&#JEVnf*fd1o03I?cGE~IMphHplJ6buj%k(JDb1(;4$YPS1} z`Bcp3gw{amx|Z^vtjN6fWnfr<;cG`wMngKix?g;DaS}QA`o3UA=D@nlg4qKr)f#)( zK1kJ6nod+2zIIH%vu&-Rm|gfZy&5tYdmV zU=^Id1JJfkjNR^cqnBVJBC)YHBi>7)XYMPMvPq^Nl=3RV@_hv!{jJp+DBWB<%82+E zK=0Qrwx>X?-eA3QA*G+e^SVT-_tSV8xq3Kjs{pNm(kI^ctp21MbF|(psRw44$rjF6*2UngDboGK>HK literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/unwielded.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/unwielded.png new file mode 100644 index 0000000000000000000000000000000000000000..3966edae69a895cced1c067aa3f7c419ee7d5f0e GIT binary patch literal 407 zcmV;I0cie-P)Px$QAtEWR9J=Wl)Xy=VI0RlPee;gZGpOEQ>!3RQBFqCR9$csEeHJp(bQCP1pNap zEkZW5L}r8O;DzWKH{989NnN5R!1Q|tZyqbE<|wM>gu+p$*V&<;NGK7HiIQalu)BBAHIZR2g8OT8 z4S{QWl*wR#l4Y|Lr~>eGd(pC|PL=tc69D|a35xmD*Am#6nRcdp;{cfDX8^2MKZ^^q zWU@JeLywqcSYF@e>iiS{yHab>c)7VGlg+WIu68W0tw|JBbHsy=U8xZm8{zEkUMQ;8 zsL);04O1iwM*47TB?6!urfAl1uc4b6+jgLS&`;4w3H^O85s!5g`5gE|qkHhaY3Ke> zIO@s$E}l&2g-|%^eCO@=)t=@`f9=zeNF3Fe%|jwW*5IHw>su9 rbY#|;Ki#9Tm2rb!@ppfq^l9e3KY5vc^y}^gn#gTe~DWM4fBOo#L literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..ab3c36b133a1d71e37a35dd143bd9ecf47e3abb5 GIT binary patch literal 769 zcmV+c1OEJpP)Px%yGcYrRCt{2+COL$aTEve?*(yjaT75&*i;B{DhEf>NTbV%pdg+p1jVHwjv6wQ zNFkF`iH;(;6hWwUQfs3_Y|y0Gc1$?%lI7P7nUY12EI)_#m)u?cG;J&S_B2ToqO0M+#sqzF*);)GfzoY=QS` zg2#HGs2YzaQXBv(Wrh#$-%6uN^JG=Z3;+;Mq&ga5D=_`?HTMS;0Km^TPdfr#3Ejb; z!Y2SghMmKdPe!H8a8v%j#Kr4(f2?kmB-Uuc z=h*|RGEDho@XH~rZj~gnT1WPvdCoQDIIJ<8h4sQ3P1~_|CW6ge-d1B@imLHp7eWzZ zpp0G8Zvi}3F4jgIcB64~<}_&G9czHq?(c60KbQSL?c>R&s2Z=783xJsNCjEDd0Lu5 z2qAW8#_ien@gMpK6g1Dh5zS}t>Q8ydVYb0-N!hA3=+D1fU3w;Z> za&vRUAhARvM!GhPW7o$~OnQEV5JCtcWRm;`Y<7RU$aHO000000NkvXXu0mjfCJ|=q literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..7897b282b72d8f18624731ecb7ab41b02e2bcaad GIT binary patch literal 775 zcmV+i1Ni)jP)Px%!AV3xRCt{2+COL$aTEve?-e&ECzT|FNrn)oa&jb%GzxkuI!Mn1Ld7K@jv6wQ zNFkF`Db9k62trkG(3;fYnxIKZlQAVjlI0pCQ?nE#gFlDzt4Yki>-{cNcpnI)&E5OG z-wS!ey&pgbA%qY@2q8p_Ou42k2ORYN-D|1YFaQ9FWO{5NWJP6(WSRj0zsGK8%-)dFLdP4(8fW45xX^4ExaB$o z0Q}tk)OXF1LtK6Q5&+ZMY-#LT ztE-=K%m_roWR2IUvF3fKF`%dbN#W ztuC#vrG+KAzLu7XwYsEN+i+?tBTtabTuKYElon$AWJl2FWrKrDtHaUWzcb~U9`tz` zKWW0(KWThRQd)>b1AfL6>P?cr7u5rX#pVT%2K=)v0$-4Ce%LiUQIQ20H4^VFLNwsF zw-Aw7eC)=1iP*fESiBIn_6Dm59_)77^CN^1LI@$J$sb*!diHPn)f4~#002ovPDHLk FV1j@|UGD$@ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/wielded.png b/Resources/Textures/_CP14/Objects/Weapons/Ranged/crossbow.rsi/wielded.png new file mode 100644 index 0000000000000000000000000000000000000000..df636041e67e4608bfada61c42b0669e3ad796b3 GIT binary patch literal 384 zcmV-`0e}99P)Px$I!Q!9R9J=Wlrc-gKp2Lfh(o}?U>ED)tRPrL1woxEC>??*NI?WA9R+`a;-Ejm zv4evOLJPJaba0UlNgU43b`g#ap3{{yi-ZSOy^4Y{q+HX&p`{x#jhXJ^*yOZ>8#jC2k5~+*PP*a$Rg~d$;u(n#F-e?*{i~>^1 znhw3#TUL7hQA{yYED#2Qt-?>L#LDpv0G*FE=VvF0S(B#X!}a;{`|FFkzrMupeghEv zP7h90ocO};4%diYfA|p357Zk?_Pt%BWTI8Yt19QSh3NIUy1S*cvF+%41<-4)j_&|0 z&CM!cFxGp7fdEMDgTw`Wf4WfjLY_W|Hegn`QNTo&NZwPAED#ro%EZ4~UdH+n>CjPv eEf$N#qWJ?>PmL(4wR|oB0000