From 3c2f19856709a768958d7ae8c68c5572a0e00caf Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Thu, 4 Apr 2024 00:56:54 +0300 Subject: [PATCH] Setup melee. Add Zweichender (#34) * Setup melee. Add Zweichender * Update base.yml * Update base.yml --- .../Weapons/Melee/MeleeWeaponComponent.cs | 5 ++ .../Weapons/Melee/SharedMeleeWeaponSystem.cs | 5 ++ .../Entities/Objects/Weapons/Melee/base.yml | 57 ++++++++++++++++++ .../Objects/Weapons/Melee/twoHandedSword.yml | 17 ++++++ .../Entities/Objects/Weapons/Ranged/base.yml | 14 +++++ .../Mobs/Species/Human/parts.rsi/full.png | Bin 700 -> 639 bytes .../zweichhender.rsi/equipped-BACKPACK.png | Bin 0 -> 1237 bytes .../Weapons/Melee/zweichhender.rsi/icon.png | Bin 0 -> 780 bytes .../Melee/zweichhender.rsi/inhand-left.png | Bin 0 -> 802 bytes .../Melee/zweichhender.rsi/inhand-right.png | Bin 0 -> 785 bytes .../Weapons/Melee/zweichhender.rsi/meta.json | 34 +++++++++++ .../zweichhender.rsi/wielded-inhand-left.png | Bin 0 -> 586 bytes .../zweichhender.rsi/wielded-inhand-right.png | Bin 0 -> 598 bytes 13 files changed, 132 insertions(+) create mode 100644 Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/twoHandedSword.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/base.yml create mode 100644 Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/equipped-BACKPACK.png create mode 100644 Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/icon.png create mode 100644 Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/inhand-left.png create mode 100644 Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/inhand-right.png create mode 100644 Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/meta.json create mode 100644 Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/wielded-inhand-left.png create mode 100644 Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/wielded-inhand-right.png diff --git a/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs b/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs index 85d2e4675f..2027c2d2c6 100644 --- a/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs +++ b/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs @@ -113,6 +113,11 @@ public sealed partial class MeleeWeaponComponent : Component [ViewVariables(VVAccess.ReadWrite), DataField] public bool SwingLeft; + /// + /// CrystallPunk Melee improvment. Allows each attack to take turns being either left or right + /// + [DataField] + public bool CPSwingBeverage = true; // Sounds diff --git a/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs b/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs index e59b4a13fe..8fe0dc6e59 100644 --- a/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs +++ b/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs @@ -428,6 +428,11 @@ public abstract class SharedMeleeWeaponSystem : EntitySystem var attackEv = new MeleeAttackEvent(weaponUid); RaiseLocalEvent(user, ref attackEv); + //CrystallPun melee improvment + if (weapon.CPSwingBeverage) + weapon.SwingLeft = !weapon.SwingLeft; + //CrystallPun melee improvment end + weapon.Attacking = true; return true; } diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml new file mode 100644 index 0000000000..01e9806cef --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml @@ -0,0 +1,57 @@ +# Simple melee weapons + +# Battle Staff +# Mace +# Stick +# Dagger +# Spear +# Light Hammer +# Throwing spear +# Hand axe +# Sickle + +# Military melee weapons + +# Halberd +# Battle pick +# Warhammer +# Battle axe +# Glaive + +- type: entity + name: двуручный меч + abstract: true + parent: BaseItem + id: CPBaseTwoHandedSword + description: Мощное оружие, требующее огромной силы и умения для эффективного использования. + components: + - type: Sharp + - type: MeleeWeapon + attackRate: 0.75 + damage: + types: + Slash: 10 + Structural: 5 + soundHit: + collection: MetalThud + - type: Wieldable + - type: IncreaseDamageOnWield + damage: + types: + Slash: 30 + Structural: 5 + - type: Item + size: Ginormous + +# Long spear +# Long sword +# Whip +# Short sword +# Hammer +# Morgenstern +# Pika +# Rapier +# Axe +# Scimitar +# Trident +# Chain \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/twoHandedSword.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/twoHandedSword.yml new file mode 100644 index 0000000000..4d50550d63 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/twoHandedSword.yml @@ -0,0 +1,17 @@ + +- type: entity + name: цвайхендер + parent: CPBaseTwoHandedSword + id: CPZweichender + components: + - type: MeleeWeapon + wideAnimationRotation: 225 + - type: Sprite + sprite: CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi + state: icon + - type: Clothing + sprite: CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi + quickEquip: false + slots: + - back + #TODO двуручный хват требует перчаток чтобы не получать урона самому \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/base.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/base.yml new file mode 100644 index 0000000000..fd817a5aa7 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/base.yml @@ -0,0 +1,14 @@ +# Simple ranged weapon + +# Crossbow +# Dart +# Short bow +# Slingshot + +# Military ranged weapon + +# Handheld crossbow +# Heavy Crossbow +# Longbow +# Blowpipe +# Net \ No newline at end of file diff --git a/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/full.png b/Resources/Textures/CrystallPunk/Mobs/Species/Human/parts.rsi/full.png index 27ed4871786d8cb6febe44f9d627fdc5a131df2a..a0e572d045c74397a1a720af8b5b8a634cd3d2a7 100644 GIT binary patch delta 601 zcmV-f0;c`E1^)z)F@HHpL_t(oh0RwnXxl&(eNF?V6hSD(ZI(zugTd}(XrUB3WX+(^ z$(XL0vK10MXlTGgNT6G$tRZwVbs%eoEQJO<$p#Gqc{0^1N|w;eVE@ZWK1+A9L-Llh z?*F^@{=d6_XW)@hDl+J7Z=0q2nujNa=F%Q?wztjdH4~O?@PEEAh|%j03yIJgAS0hw z#FCCP04aG^|3U@SYvx?`xdn)5A6+KeqIjm`yuys{Yj0m;<<)b1{o0t%loNgc-pxJ*>!|0tCACGeL|LoXa~Sl zMdUh(A_ zB^R5{n6`jle}0!5-@xd%>o{y2wTag81@}AH*@R^qc(+hNcyIxa`X-!3R+Jo2EJPw?sV*s{>`xYV-oz2*f#XzM00000NkvXXu0mjfRJI^e delta 663 zcmV;I0%-mJ1iS^1F@JVRL_t(og~e9CYui8=eQs--#kDDw(++Z6Ol0F^a_Lmml*F=6@1_&1-g0tGARyNG0&d z#}#o$CKv#hJjy;%0j0T_vHW8TU{U^Z5E@l+S0*?`5}z`UA0hSdK3=|f3IM_AH9Od@ zoZ_eJewLY2ssiO|HS&Os^79~^U|SX`=F@1nKHj}~e(f4=S586wGD7Z&l2g)Bk8BXE z9{>>*F*1lHr+@IeBq8uBA|gVl0(5e(*+Dj!7<%VN`FV&ugmm>3wR$Tc8YE`@KzB=Q z%ewYvNC^P?tFP=iXt;jJHW<@zeN^@wZj7=3N=|z`Z~s~Q^7>|sikO%H%}5GQC>t*% zz%1z4-&!S3+YjwCTa8-11*h#}e`}SP1%0vtyk-aNq<@r{y&bIBVcWz*eUs=HJ$#LxMdl33E)i;rhtt642wRkX?_bkj*86R()dvD2BZSDiC^(f$qz=usF-z0%}`W zoCRPB|BMI=uq}(w=5qAw92aMoA%Csj3VK1WV+xB9-U7Nxv!FvWl0lbq+I~RJ#)(3x x0)ONG@Nwf?$VQt@ZzLOxPs>b6iMUn#2UT|+&Ja_qZ6^Q#002ovPDHLkV1l&OI2!-} diff --git a/Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/equipped-BACKPACK.png b/Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000000000000000000000000000000000..73e424ea6540a182faecc751089c0cef6cf1434c GIT binary patch literal 1237 zcmV;`1SPx(bxA})RCt{2nonrkRvgE_Z*=LOVX&2fyHYn~8?=zjxQC{3Iv1LlHn1`nEZb;s zPuZp5xfEx|Ko8xe(4NK^yA4*_wX|$(#f)?Zcfnc0pg0QjP*%3mtuSf?cI{0H{B{^J zlB+*YiWF&yKA?lGr{DX%uYSMZd(smS5fKp)5fNcTsaU4-a~B8zh$s*rh{*8)0O#i} zP@ynm>-09OlMP8iLy|Bxk)!GS2qPl2ItnU3{)~6udb8W^#`izzuA3Y`3;>Aj>f;_{ zFN`tW@5R{^0ATduBU3xm`4IrX)I^Q|K#0d}`(}0xvY9mX$6mtDzHRt=zRFYq0GNv4 zr2ux3#~ACjna+bL>*S!Jamsp(C$7cV0Vatr#1{>C+$T z!dyG}OZf)lNn2ZmdW~o!K*cB$CdUu^9sy@Rnx%#$;q}2mhzk{H2M_$0F1@MrTt7~o zGZFwW7GdgS&d$7H9{_&}tgf!m7oUF#A(24k+iSQn_X-;?-NXIgpXltE!6iVi5hCI$ zN_L%V?U`Ns*OO~_Ir*OMT&trH0K|6nF6HB_VLXVy8mm{h3-jNmZ?@`b!a$YEOn9^X9S-cujY4t{9p zjqYI88ON$7dB#T80PTO;oY&R_BEt3W?z-~9HUiwz>L{MtGrRMnxv_QSsI36KirS@w zIz@Sj+2Fmv@?l8J;%o~0#)d50FvcK?bpW8@;j|}?sy6)?Jm4S&w8e!nW_SRAI`C#& z=8gm-TWbEQb_QNOz*-#zX2(Ek4{vwQa9i9&u})4zFrwL(NfhhBE=JZ<-PIMEn|{@5 z-)zfnF6YMa!w?Ys;)wSq@c8N5H28mE%L`yT4F(LY-zF0;;saU3lB;k)+le+Du zASe~fBqS1;&X2IK=9fIPYZ(DTA^{;D$JtNYq<(x5Bo7`w#FabC@X{Ac0gksnV@r2` zKu2DKf*pa0P%H1n2ivc*2P;cBnah%wB3LF>t-KciaBg1cekJlE{$^M1EPK+q7PY_` zD0s_oSHbaKBE?W*-_0z zU-N8d%61{7erPcH_WLLv{FBS58+h(kLy`ahpB(?kH$QZ!N~+4QUe1JK%iPPoNv@@^ zs{CezOMo-U3R}IL@!OX`;1Xc;;v>Wdl86r^{q|?Wv8+5{eHe;1Mm%KG3BVXbtD_Ka zlx{i!M6pi4{d%9fy(Px%tVu*cR9J=WmO)4qQ5eU6Pf|n>cNP(fE=!9AX)L013nGI+i4LKMx)^nhI&>;f z6zbHW=oA%E&=Pg(uuJDaj2SGEP0}(VI=Q&BArU-+*I}9I&Cbs5%(PyjKRgCzKHl&D zz4yNF4g43Nl-l)CC=@6Z3IIqcRjIV90QST&YTI_A1jok40GOPdL`tbPHa_rm^Bb`Y z6pO`3apiKk;rn{{#OVnU%RnoQA9w-4v+^E18AD2Z^>P_Wm)8MIl8*Kyx5M&vxb18!29?13xHfMM?RnT z#V6W=M&MR(DP;f-305EpyqO{y*nGUdrKu!vh_MCj&fHa`DzI%k)Ic-1X_{D;1=J3p zE4>Q-st>fv+=aVZSy>6p5$h1@w^%)V%h`&&?7AYafD0TNIwBf188@yz>$VtJTU(>2 zr@JLQi2?=|=5DHNCd0Y&XN6MA*Mi%bxvLHUA%r(7jzh(9c={->gb`{a8XP=C zBlyzm#fBwhnr3L_1Pti9bN7}2JQJnTY5;B+eE<|+7FBP$H&N!U0{eGmr1soCd{JdH z834{qpYomd0b@V`7)BrKpFaxs?zb$fS-%_mf!l9u&naV_Pe3}A;{LrSoIG*d zD>dyID_i&9P*>AF;Cy*crCJ5RUVaz&u4kU~5H>8Ksqv%gr~JkC&JO^x!zSreinL)c zw{TrZDMKgJ+pI1rC7qp}HK_Q54H(ejODn71_sf^ADuA?MFgt%OwD$GMb?Ntw9^>1B zFgVnzqf)I>ahx!A02D<6V1D+7DlNVu4DRar1(TF0000< KMNUMnLSTYZDqy<+ literal 0 HcmV?d00001 diff --git a/Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/inhand-left.png b/Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..65a012c1e13cd9c3d3f9c78715159ce8ccc991d0 GIT binary patch literal 802 zcmV+-1Ks?IP)Px%!bwCyRCt{2nz3u!KorKmD%(=3xT9S1qOXmIHKo-{dy^nYA z&Uz1E7=~e(nY0>BTC@#eaR$SQ&q21|2s5dXH{cA0nGnHPT^V0HgCQAtL(Rmt-KMOF z0F0cs?Y3Hb(;xy7!5IvFheV6>l0}O^L^H?H$FGs*3zY-h6bh#3UR`7+Cj@bGo`;;C zgDyrQ7^^EnwNVnH6l>gSG|9UhRBx9-;qEuQ+n`qbL{Paj+>TuzZ{qrRGf;r2M9u+j ztc{XzdJc5u1R+MN>)ZaV(9a|u1%Q7f?Cd;JB8WE%R4;>A5g^yRUnJynxj0kLjSynu zG^m~WNuBB^bprlHLbX!Uk_Y_m#mxcAX*HTk1=zl`KAx*usZpwupdas!KH%B&rvjKX zejW~9y`e&B3s%u20J!XQRG2t{ashh%J^;Wfn)K`UAH<1FD7!0vArhAVm9EnuigspIZx>yB)lQhw z_0ozErEb4;BFxjYkc0?{Btd5|r0&%PoSqZuxg>fKvKQC$Q zMexNcnzUQqBUK$DZglq|#735}lR|YbLgtXw=Qu3v@30DFFM`A>niRDuBU9DkAgrQE zTlXI#pUa{APx%u}MThRCt{2n!jt?P!Pwzuapb{L-5}Jz?f{UapR#G64IedGkVJ!vZPbN!2x$^ z2^5p9Tb34=l$6wTP8wXgBp44KLX2rMR=7OSpyfI=ulR@ZELnPz?A!;m82h;U-o1B5 zcL2jM48w#@?>NWCJl>_Xu=F$;UTk+$$D0V$ZzS^7oT{z+(lZ7Z#KgBbkp{h}bBXDg&9XAJwUTRF5opKbM`K z3b^mbiT=#5JzGm$&nF`6?z|##bMV)fmk5B?&#_0~#t3$HUyAp&PoX$!lFLp90FYbE zQYOEO>fXM#47382OBMR{`ww!9Spop7*9*;2Qyd(;6GVi@MN?dMI%9p-mdDoSHUYrf z>YLch-D?XJLV$=ox4+l}^NLOY)$<>{{yDn>)Q(R90MDO3{{Pv>FW*MKxBBGabi6oW z7=~dOhG7`yZWH%AMI+=!U0LHwO2Mm&x(Wir{B#K64^WvNI612)^b5 zewcJ;Kw1)AwEyiH&CeNsWoK+jYSNv7Tp=%{CDFZV4|IpP+ocv0I|GfAGa5b)iM$_7 z?hFizkZ1u+jm_OEArY9~8R)mAL@1Xkp^Gr_C1`qQAXmr>HG)?cW8#QvXP{Wzpsmeq zQbXFrP%c#>UzJIm2x@{nt@yeF)|Zz?%5WNX26TA-t6AOKC#%=P*Uul&xM)tzRCyep zE8xfZIRMO5@C?H+48z=Q{sP+P@sO=Mll1@q01jnXNoGw=04e|g00;m8000000Mb*F P00000NkvXXu0mjfBoSx{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/meta.json b/Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/meta.json new file mode 100644 index 0000000000..5b9a69edac --- /dev/null +++ b/Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/meta.json @@ -0,0 +1,34 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Created by Hemo (Discord) for CrystallPunk", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/wielded-inhand-left.png b/Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..3047bb47cc164bf13ddfebb2e24583b88153a8a8 GIT binary patch literal 586 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zUwOJXhE&XX zd&@BUwu1=!hvh;|nk`l*Z>e6mDB;h@Kac4z+sCvW2crdr9Oo+rWVBE4pLp@1!Axe= z1uHptRcFj{x~`_jq_|}d&$BbJYi@MD4R-nQU(H+HcJFr;zQeMDKD{~cogFV8|7&;cubgPVzh3hAE7z5eb!!t$cEw8M+^i4`J#)YQ|I0k1g%>Mg zD(-GFf3uTu{U^~EN25$-cxGnITG9Js+p}rC0Y`;HZ2}=40Fw=yR5H&6o!Y*;K&b6u zOrhtj;z`eB+7!im^&jtKTzz$!*IKL6-LcA&do4o0Shc>kF@I3D`sB82vf)ZC29q?k zs_q^tJ?<_$Eojp|$;VfJ?#thrvGn@u&Cl6njti=1o-33&D`hCd6B$2e>#H9tl5I|W z|GRV1(ka)}t*(~r6}-l&7;*otqe-rVCcplIeQiNfiY*V8ch%ZRPJ8<7*YP_`qF;#z zx>hOAtM<42o$fVliRJ3EflJ>Cu3BXN|GY2*LxL?o*At(MAKmtM0R6(38sVAd>&u`8 WWOG1$cqw=?h~??(=d#Wzp$Pz1#RKX9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/wielded-inhand-right.png b/Resources/Textures/CrystallPunk/Objects/Weapons/Melee/zweichhender.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..91c02785e5d3b3c28951762186b56ecb069d5d8f GIT binary patch literal 598 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zzj?YihE&XX zd&}N~DNu&}L%yJ*W5_mFfh{6}kHq+Vbsq*yHo1FEOE0f6P=KXX;L){fH$*y|FHCB= zB63_=Nkw;&u4&VRY1d0Wy?e8%d|76VefQzL_1|}YujAOyE+7a7f$NQXN>^UqcmMSR zrx{VgrCs$UA*=s3Oh4Fa@bpj30{`q~@>SLUSFo2=WCT?AHDB4c)?Y(nMgR6ao7#$& zCS@mcJ7~?E)|w<3zB8D?;oq$-ywBvNo!5p&~Feiac(Ig%K`0qt=%9=;)q$ym?OU!PY}_uQAPeyZ^TB{*9}XF761~ zzhT$EKU;79dcZKj_GH=9pX^^IFL-`%wR0?Tx!%6+UUz8SFm zdTMCb)ozKrrZYGlZ17RN{5G=x zw)p?mXWmTvvrWiaSN$Q|+*_~aUNfm&!FlfV+O_k(>HnJvjFO47{bes2y(^CJ%>gC{ gzSIcMG+$o^Eg+i%h(X{|@MI9>>FVdQ&MBb@0NtnyH~;_u literal 0 HcmV?d00001