From fee25d7d8f4ae72bfafe78a972ee970f7f854b64 Mon Sep 17 00:00:00 2001 From: jshipsey Date: Thu, 23 Sep 2021 22:13:21 -0400 Subject: [PATCH 1/9] headbands --- .../common/items/armor/misc/head/headband.ron | 17 ++++ .../armor/misc/head/headband/danari_f.vox | Bin 0 -> 1192 bytes .../armor/misc/head/headband/danari_m.vox | Bin 0 -> 1200 bytes .../armor/misc/head/headband/dwarf_f.vox | Bin 0 -> 1208 bytes .../armor/misc/head/headband/dwarf_m.vox | Bin 0 -> 1192 bytes .../voxel/armor/misc/head/headband/elf_f.vox | Bin 0 -> 1216 bytes .../voxel/armor/misc/head/headband/elf_m.vox | Bin 0 -> 1216 bytes .../armor/misc/head/headband/human_f.vox | Bin 0 -> 1216 bytes .../armor/misc/head/headband/human_m.vox | Bin 0 -> 1216 bytes .../voxel/armor/misc/head/headband/orc_f.vox | Bin 0 -> 1208 bytes .../voxel/armor/misc/head/headband/orc_m.vox | Bin 0 -> 1208 bytes .../armor/misc/head/headband/undead_f.vox | Bin 0 -> 1204 bytes .../armor/misc/head/headband/undead_m.vox | Bin 0 -> 1200 bytes .../voxel/humanoid_armor_head_manifest.ron | 76 ++++++++++++++---- voxygen/src/scene/figure/load.rs | 9 ++- 15 files changed, 86 insertions(+), 16 deletions(-) create mode 100644 assets/common/items/armor/misc/head/headband.ron create mode 100644 assets/voxygen/voxel/armor/misc/head/headband/danari_f.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/headband/danari_m.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/headband/dwarf_f.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/headband/dwarf_m.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/headband/elf_f.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/headband/elf_m.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/headband/human_f.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/headband/human_m.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/headband/orc_f.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/headband/orc_m.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/headband/undead_f.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/headband/undead_m.vox diff --git a/assets/common/items/armor/misc/head/headband.ron b/assets/common/items/armor/misc/head/headband.ron new file mode 100644 index 0000000000..6024571501 --- /dev/null +++ b/assets/common/items/armor/misc/head/headband.ron @@ -0,0 +1,17 @@ +ItemDef( + name: "Headband", + description: "yep.", + kind: Armor(( + kind: Head("Headband"), + stats: ( + protection: Normal(0.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [], +) diff --git a/assets/voxygen/voxel/armor/misc/head/headband/danari_f.vox b/assets/voxygen/voxel/armor/misc/head/headband/danari_f.vox new file mode 100644 index 0000000000000000000000000000000000000000..9586c7f63cc7bf293090405d88ef00788fd150bd GIT binary patch literal 1192 zcmaizZ%o@|5XW!h&pL312^3l;)XE$!W|Kb_5w;bfvNG7#p}2LEOv4;aL!6DNtZ7KL zx z=egf=PtX2Cws8^ZYVqzd;3%yQfhqGNm|xRdSjNP z*NddHa#brdHl1zg97&th-k`QgZLO2un5~=dWZQ9oC8t`TF@)Y=EzpJ`D( zBfsDMoL^tzFMN}?36e?X=escEs`rckMSYlNXR?Bto7*TkDpa1<+T%j=oFLEX{t*)re-N1|VtCtTCZ8zg-p(@Uc!VYq zyozrXKPlpa!qj`h{G@Q}n)+^G!XtcnP*^@8_|+fm5ytv-JuI|3gx;rwaGP*R*M0R? z0v?FCIhJmGNPd1k zrG=ZZ*=*D}?6|f+#?!S9Jk2%if3}gaH@7hLk)7{uIa$6_%?G+?DkOTwAoTOvRf0FHXO~*H>O+_Wk~U^iMhgD+_D(?<%+AbyjBj z54APo+1X5ITPwaj?V0}T>gqV(kYGp61Wm(du*59f{8+emL^5;ga5xBu!*uSML1Gb# zL&eNqynly7R-K*la?YQPv#aR>eIw^6?JeQXXIq)|TezVA?BDwvaYn7f-M0z#!>Nmt z#6C&!&dd!O2je_>a+qCb670P^NB8s+Znv8s^eAFd@Eci6!pc|o&$puUwHB|BF!Rn< Y)z_2%%_(E#teW>Hmr4Gcy-KY70iUWq1ONa4 literal 0 HcmV?d00001 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/danari_m.vox b/assets/voxygen/voxel/armor/misc/head/headband/danari_m.vox new file mode 100644 index 0000000000000000000000000000000000000000..28c453aabc256f53b54948a0f5c831a18f2ae6d1 GIT binary patch literal 1200 zcmaizZA_b06vq$pR>2u2P}VY`R_16io4i;=*j9wf%3xcE;?_+v&E{w-aWLujti~ft(pid0xnGfN zN#~2&s*)q=Ji}I%TvbK#RF$lJN#AFnaV?k5RZQyVE7@vitL7=WN{+Ix z^Eto1!e4w-unv+*=I6UH#ue`u|4WhEjODNm+fWUTL=)o4MS=y$#6!q}nWAo?Y(UsJ zCOkeZn1aH(m{6>~`BR~xyO7R-BK#+dd1v-v+M|LmF1$P?oLJOcpOuP$ovNr4SISL! zs090{6=$-N+8diGJ0w({)V0TjmN`M5)A|t;5`PexDPef?dM2MJMOn8JZ_X*3#1i$)&y~5ZLeIFLu975kyLbzSHpznPRRstS7 z5nnaqN9%|_-^h4>8}o0!z|YA5HIJHUsjFnyj%tqfHWKU)|C8SU6as&6a)y{!Zf?~xUSLWYf-E^{iyM~KeGnEu>T@!x1BSZq#T!_`P zaHWl3zV9J4QpD)x60R;NQ&?gaZhS1Toy+hr@L3oIzp{N<*d0 zp1=1Ghpc*bDk?a8I?ndya~v5t!-l>xZhy9kS-*vI`py1b-m|(GvsLw4 W^1ovmF>+ST`!kkF{+qqZT=@gPR6ouD literal 0 HcmV?d00001 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/dwarf_f.vox b/assets/voxygen/voxel/armor/misc/head/headband/dwarf_f.vox new file mode 100644 index 0000000000000000000000000000000000000000..a4ab558dbadda2a16ac58ac6c936ca4e109999a3 GIT binary patch literal 1208 zcmaize@xVM7{?!e36pFnaCis7bzyQx)A-R5fqDcN9)fyOsHZV&n%r(IySWQ*H#WU= z5hKxV=vsNA-I!|<(#2~2!I(qO%^5@I+!|x8wf=4W(O+$^o;zHtM)7Q~y+6c&s@XbE$xgty0q6LVVYHc{%eP#&^jk2@&# z7hoAOVT+Yfb!Q_*2Zi#Jy7q|BI4#KQx_>YSi9C%=7BH}JEn_bh@^DKrv^`6M2rlK3 z^0N}@6UILgX2yiOH`I3sqfX)5J;K6K!J~d(moR)-;{l=BDs;ar1X_fP8h6*4@H#C7 z-4%=+sV4MB9V0!>%zU_)Ut(S=pEJ-{UB-@W6&&fR!`CK+-xQ+9h3T_GXj?m%cE80z z`zCrFcDif^ytTy)wQeBZy&2E$CVYo>5;}H(!TzHJ-}Nwj+DCls4D+`>CpR~j_4#Wt zo6S^NE!a0b&nwkdoQ+lNdaa(}4@wxnY~k@;8w>X<`AqkW$Ao(~g`XY>L2m^Y!!^ua zZ|2t@I`I$YF?6kf8*@e$C|j}rxrz6=eeFG_KJEEO|0JTYIJ;v1_EHlrTY0K~e@i{i zEseCdG~?dhn(Du%riOEMQ8rhN(lBreW7x=@E5gGAlDel>tCc_?K>PMdBpjsBU&z#j zrGMCO(z{by%DK}KwlrQ8in8Osn}5vWIS;UTCeMS2>uhRN;5vRk|Gc4N~^ z7cmm;hOVU-wHtFyL_C?zKNxf5xjAF#T3chRwbs9_Kl-cf({rb5)hM3rv*-8wzR&mj zzTJEFTgF7Bv)R2{l|-{dy4+sZ6Dda}_c0l&_aE@Ods9J`62*`uNl`SHT%%+v+Mdi- z44InCR;@^mY9+%U$sEl|hSsYsT4PwFeQIYZ*@{7PqOlyc_qDy;tm~)cj|bQJ?QQ-}qnhokmQDEm#Jtu*Dh>S2p5bi;O>o%p1w?6pH(W4Wq(yQ$ns^ zSQilr)Hi-5)OF_3-k*>6L;)YoJWXp@@I-~TCWYe*+Uqe>=Ce`}w&O@RDGd~29Wi5% zms5RbGsTC5iW9o_n9wvU$g8@4C>M!7iA)zVw0S)f&lmAdg3DRzjXi#*Wkw zeyyIdz82;_e4St7KB_hvX{sq_*N#e#bl2l=7b0&6vG;`8GeUSr2bcD~$sxxU`kfBC z?M8fcrHr&~BGI!I@7`wohj$Y`c97x0qlDh^GJ48SV&XK5w=a^Hmq$s#dMp+T)ix`R zEzj~&jSW{*HG5uZVDy6xOnz?V`@43Q?pN`d?wN=S_ihP4JrF{^N-jidnZMG)uRnAV z7|v(pav|3iOe|5p>ii2+@AJ*&cbWOL?;rD%jKT8!s`ER_%((3p>G=b#4Y;;7(b3w1 zXJ=b_{@U7F&eq4+T0KtV&`C@Y6L-E49v+nRJ+;|v1cO03c1|Oa5JiC^X3jtQhl6Il zJ7r~@Jr!kp<2ibVPgBxU%>ApInDLr8r{C<~`={zsYaQsiN1zXmpPwM|WrB~VZ__Xk z<%MHIY(E)e*QHsyrWSEJo&2arkz9q}$y^kczkYPSWxZdk<@FJ!-`R@#R{Xznno0Gn P*!MV>ZvLCSLaqD>fY3et literal 0 HcmV?d00001 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/elf_f.vox b/assets/voxygen/voxel/armor/misc/head/headband/elf_f.vox new file mode 100644 index 0000000000000000000000000000000000000000..4792f1545de854c1518eb4007b2ecec42346f1f6 GIT binary patch literal 1216 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 bJ6loTNc?w9Bk7tI>;8;oivPA=Ay@tYFTz76 literal 0 HcmV?d00001 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/orc_f.vox b/assets/voxygen/voxel/armor/misc/head/headband/orc_f.vox new file mode 100644 index 0000000000000000000000000000000000000000..620fe21975477dae95b247197941eb380fffcef6 GIT binary patch literal 1208 zcmaizZ%mt26vhwZ&&p84RHk)oSx{BJ6#S9riqS*&R7F?Gs3&F*h7($FOel>pZ>(BFcYMjAvk|*b$=bY!< zd*1inuKkCsaS`z~d-ti6&$C22y#dc-MxeGqVNzr$4jm47PpdbqOtDTRm95ClmXv9| zq?AZWrlfL|Td#4B!DVSaM}3B*v~?=e$Qc@g*VpXdT*$FYaW1-iKi~yk9*6BWKk7&F8y|F(0#H9jwNlXh1yK zNbd$@{7Gb?n0%j5(kGOS30tQGQ?KxNR4CB6_zR)Vmq&YFK7pYE-kW`j)&apE6W*8< z&MvCfZ=pPBqjJE3YsO7!s1Vzz1xK=inmb!4IVw~RY45nuG$+W*x_`uk#GXK=3mM+B zk%{Muc(Ah++MlLT1h3+I#V?9jzcBfMFh3#Oy{WNV821QY9~72P3IUD#yM(dh%7=v( zyU_iD5N;K&D(|ne5cJrH_^XJYsAb@ldg47T%)k38zb1oJKT}LoZ3TOGS8<}Np5AsL z`kIh9EzG?y4D9aU+JVe@!1+eMe7m|$Hgqivg+>E2G@Kr_9^_Azkk2qS|hiM$nH z?0hdX6Bk&z{V{oYd2A}!h}CMP#%{y4?OArz+VM2iu>Yk7#@;Do@)H|B+;y;gznYJ9 z&zYof@0RfMcS0ms#nq^jg&QsW_G2fZk$gt47jkpa%rX^g&c8TyhHtOG&FqIgkIYXh z0V@k@&hIL>;B{1{=MS|u;Mv(kM{5iIJ#FdvolYm0>Jx0Q8K-gh9OkH*JD&;P0rjclbqEHdDS04VuL5tp<@^UVnkFl%qGRH?Qu&KL*`(JKmHelwmezX7X zZ`2vR4tL%o)B|U)Oc4EShKtj;Y3Psf{HbAfolCIy+8muzOSs)`e$u0eNx>gvE(t5& mJUriu-mkUt`UunSY*l|N`Tsf17@Adef92BRf2~)kl|KPonLS+q literal 0 HcmV?d00001 diff --git a/assets/voxygen/voxel/armor/misc/head/headband/orc_m.vox b/assets/voxygen/voxel/armor/misc/head/headband/orc_m.vox new file mode 100644 index 0000000000000000000000000000000000000000..1b7730ec70c87f3aa4691d58ca257c4f39205262 GIT binary patch literal 1208 zcmbW0ZEVwZ5XWy%v{E%ww$65St7Vh6BjDEAG1#zktI%P=QXNomAqKKF%_3>Ygr=F< zs>HcW$7~8D${4yVN|>oua%h)H?ZCiLO;%qFnM^^NW@5 z-SK>z@)c}eBrlf(U##G_b8G+RfBEvd)Mv(W*p7Xm z4%b98;x9pBYmv#vkwr75L7}2gu#E{DuL#DN@JLEnr?&Z$&=@q)*;h(ra2@Z?JxNDW z2&IMBW`vWsG&f|WD(avn>BgJ&Q5i48F>1vIvA1Jnr%%D}KVmYOFc}Tl?RM&24!oP5W^02Be@i`kUT9|QEgLfz9Q<(I&GOAU zKGdGsDdEP~!oBZ=MAXUIl!wL3?fm*vnD|I3qo0;>^_GQYs{i-?@15`Y&--t-+g9Db z$K&C2(*&FAC)qYUge7I++C|~^LE)0qiOc1pcYQxE?wmzZ3CiQ;%$>P^hXYo9J5^P@ zS(|42wsDS(oZ^Y@3T}R0%Us05xSrWR&;PTKhuM8z4uo$I?}d|Rrb&IA<-OT&Irq&H z&mJ3Q`_Kft&d(FRvV_m)CNF{r+ltV!GT7FkxOJ0EvpJfEh>fYNX-KxZ zMI=l%8@3p?4oyQAGh|qaW*-Pya9y%Y!WLs<2rAO1L_ScRdO;VnJ$vdP}Z%J zq)ExikYtv|**eZrGL2lek|xPCC0lDI^%76v)>A^6&qhVq zL4CqWX`m3>XbFyZIn}qfP<%wFIHhZk3(a$ayr}z!Oi1)mWTueeEgP78ricgIOQGWl znnZ9b-zq;T(LrJA17UtrxN}2er!e6XzC0i-pAftn5B3OS$21=lTJ1vbb3(99xTJYc zT?syyjgY63@#8gwUus~yua)_CU*_kykE$olG}n}~XJ;kHdm8X}2$5HW*jvKf`$BkU zCs+2r%8~l5^gHY6ahUPdl``7CnMCh4y!%`5AKgoM;4mXYCkVaaW$cWf#N=6)Ze1oX zFOQ7{8?aifRNHOTZ+(jAYwWn1tJ$}!k+F9+F?H3(cXu2t->c#y-7^sv?%ouByf1`& zm0XI{vT(hXU%u}qFp|&cwL)$zT3Duh&Hfjs-{$LUZ!-H~-#_{%8H1IDHT$nGE5Yrk zNcA6RYs9s^na;LWJiFUd{nyska=szPw(1F*hEHROSh)SM@Zhkd?y22wCm0OUxqAkQ zgeVFWF?;dhKO8F2yHi%i`7=>=G+p4>$XPb_7IW{j&CGf&T+na!@BNK=##)EE?-J;P zlNTq6e3IbY%q%#PDB_FS2xdwL0{)5#Bd6fr6MM#hq`^3}uht?2z)tFDhQ b_0CrHH{<_Z(~6;4RrhBtCH~uZmAUchomW308-zpX#|1K3_YclJ+>;@RHc=llG4KhNj+ zexFa%!6UXo5oxIM9#AFMl0+K4e$QhuLnT#VQWz9Rj{3cCs*Z_Ou^~xTj7C{WGD`l2 zWLY+)$V!S)mPOwaRT~VloS<<-f-GyubV25QY6E440QPe9H`5uLIkhk2gR?7aECDRkuW_h+#6HdEev^tuMP`~rv<;-9ZkZ(N%aSX zYKPGLoDi%LuBzX+%Sx-qPN%Ps!BZu4yFk#~ft4~4G1_1rl08pmBbXmh)0a++z~l|z5+HYS>P;y+YH;KTvC&K#q!`!tr8X(^Y=BJ3<4qN3+KmXL+Jp9&9; z>F(&BIvfsy!65bf#*t7bS?yU&UU~EnyREuAxw%}r5N1!sWlr{8WOH*i55CyOq~F42 z{bv8}AIpo?I@)-j_7*sMWth-s6MQg!hw_dv&z|XF&-n=ZZ%olRI*;4!=4U;Mm=yd; v;=Hi*^`rAG>3*#j*Gm|`18eHr(f^KVB*s~j_jfE#*2nDZEWN$GYvsycPg6x% literal 0 HcmV?d00001 diff --git a/assets/voxygen/voxel/humanoid_armor_head_manifest.ron b/assets/voxygen/voxel/humanoid_armor_head_manifest.ron index 1c7d876a40..d92dd8f091 100644 --- a/assets/voxygen/voxel/humanoid_armor_head_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_head_manifest.ron @@ -4,37 +4,85 @@ color: None ), map: { - (Danari, "Exclamation"): ( + (Danari, Male, "Exclamation"): ( vox_spec: ("armor.misc.head.exclamation", (-10.0, -10.0, 20.0)), color: None - ), - (Dwarf, "Exclamation"): ( + ),//fix + (Dwarf, Male, "Exclamation"): ( vox_spec: ("armor.misc.head.exclamation", (-13.0, -10.0, 18.0)), color: None - ), - (Human, "Exclamation"): ( + ),//fix + (Human, Male, "Exclamation"): ( vox_spec: ("armor.misc.head.exclamation", (-12.0, -11.0, 18.0)), color: None - ), - (Orc, "Exclamation"): ( + ),//fix + (Orc, Male, "Exclamation"): ( vox_spec: ("armor.misc.head.exclamation", (-11.0, -12.0, 18.0)), color: None - ), - (Undead, "Exclamation"): ( + ),//fix + (Undead, Male, "Exclamation"): ( vox_spec: ("armor.misc.head.exclamation", (-14.0, -11.0, 18.0)), color: None - ), - (Elf, "Exclamation"): ( + ),//fix + (Elf, Male, "Exclamation"): ( vox_spec: ("armor.misc.head.exclamation", (-11.0, -11.0, 18.0)), color: None - ), - (Human, "Witch"): ( + ),//fix + (Human, Female, "Witch"): ( vox_spec: ("armor.witch.hat", (-4.0, -4.0, 5.0)), color: None ), - (Human, "Pirate"): ( + (Human, Female, "Pirate"): ( vox_spec: ("armor.pirate.hat", (-2.0, -2.0, 5.0)), color: None ), + (Danari, Male, "Headband"): ( + vox_spec: ("armor.misc.head.headband.danari_m", (4.0, 2.0, 7.0)), + color: None + ), + (Danari, Female, "Headband"): ( + vox_spec: ("armor.misc.head.headband.danari_f", (4.0, 2.0, 7.0)), + color: None + ), + (Dwarf, Male, "Headband"): ( + vox_spec: ("armor.misc.head.headband.dwarf_m", (2.0, 3.0, 6.0)), + color: None + ), + (Dwarf, Female, "Headband"): ( + vox_spec: ("armor.misc.head.headband.dwarf_f", (2.0, 3.0, 5.0)), + color: None + ), + (Human, Male, "Headband"): ( + vox_spec: ("armor.misc.head.headband.human_m", (2.0, 2.0, 5.0)), + color: None + ), + (Human, Female, "Headband"): ( + vox_spec: ("armor.misc.head.headband.human_f", (4.0, 2.0, 7.0)), + color: None + ), + (Orc, Male, "Headband"): ( + vox_spec: ("armor.misc.head.headband.orc_m", (4.0, 3.0, 7.0)), + color: None + ), + (Orc, Female, "Headband"): ( + vox_spec: ("armor.misc.head.headband.orc_f", (3.0, 1.0, 5.0)), + color: None + ), + (Undead, Male, "Headband"): ( + vox_spec: ("armor.misc.head.headband.undead_m", (0.0, 2.0, 7.0)), + color: Some((44, 74, 109)) + ), + (Undead, Female, "Headband"): ( + vox_spec: ("armor.misc.head.headband.undead_f", (0.0, 2.0, 6.0)), + color: None + ), + (Elf, Male, "Headband"): ( + vox_spec: ("armor.misc.head.headband.elf_m", (3.0, 2.0, 5.0)), + color: None + ), + (Elf, Female, "Headband"): ( + vox_spec: ("armor.misc.head.headband.elf_f", (3.0, 2.0, 5.0)), + color: None + ), } )) diff --git a/voxygen/src/scene/figure/load.rs b/voxygen/src/scene/figure/load.rs index dda604e939..eefe2780b7 100644 --- a/voxygen/src/scene/figure/load.rs +++ b/voxygen/src/scene/figure/load.rs @@ -359,7 +359,7 @@ struct HumArmorLanternSpec(ArmorVoxSpecMap); #[derive(Deserialize)] struct HumArmorGliderSpec(ArmorVoxSpecMap); #[derive(Deserialize)] -struct HumArmorHeadSpec(ArmorVoxSpecMap<(Species, String), ArmorVoxSpec>); +struct HumArmorHeadSpec(ArmorVoxSpecMap<(Species, BodyType, String), ArmorVoxSpec>); #[derive(Deserialize)] struct HumArmorTabardSpec(ArmorVoxSpecMap); @@ -969,7 +969,11 @@ impl HumArmorLanternSpec { } impl HumArmorHeadSpec { fn load_head(&self, body: &Body, head: Option<&str>) -> Option<(Segment, Vec3)> { - match self.0.map.get(&(body.species, head?.to_string())) { + match self + .0 + .map + .get(&(body.species, body.body_type, head?.to_string())) + { Some(spec) => Some(( graceful_load_segment(&spec.vox_spec.0), Vec3::::from(spec.vox_spec.1).as_(), @@ -981,6 +985,7 @@ impl HumArmorHeadSpec { } } } + impl HumArmorTabardSpec { /// FIXME: Either use this, or remove it. #[allow(dead_code)] From 7580b7cf9e4b4a24e81c136f40ae060f315c6419 Mon Sep 17 00:00:00 2001 From: jshipsey Date: Fri, 24 Sep 2021 00:28:17 -0400 Subject: [PATCH 2/9] support for hollow voxels ty zesterer --- common/src/figure/cell.rs | 23 +++++++++++++++++------ common/src/figure/mod.rs | 20 +++++++++++++++----- voxygen/src/scene/figure/load.rs | 6 +++--- 3 files changed, 35 insertions(+), 14 deletions(-) diff --git a/common/src/figure/cell.rs b/common/src/figure/cell.rs index 2cb7ad6e4c..63ddb3d81d 100644 --- a/common/src/figure/cell.rs +++ b/common/src/figure/cell.rs @@ -5,24 +5,28 @@ use vek::*; const GLOWY: u8 = 1 << 1; const SHINY: u8 = 1 << 2; +const HOLLOW: u8 = 1 << 3; #[derive(Copy, Clone, Debug, PartialEq, Eq)] pub struct CellData { pub col: Rgb, - pub attr: NonZeroU8, // 1 = glowy, 2 = shiny + pub attr: NonZeroU8, // 1 = glowy, 2 = shiny, 3 = hollow } impl CellData { - pub(super) fn new(col: Rgb, glowy: bool, shiny: bool) -> Self { + pub(super) fn new(col: Rgb, glowy: bool, shiny: bool, hollow: bool) -> Self { CellData { col, - attr: NonZeroU8::new(1 + glowy as u8 * GLOWY + shiny as u8 * SHINY).unwrap(), + attr: NonZeroU8::new( + 1 + glowy as u8 * GLOWY + shiny as u8 * SHINY + hollow as u8 * HOLLOW, + ) + .unwrap(), } } } impl Default for CellData { - fn default() -> Self { Self::new(Rgb::broadcast(255), false, false) } + fn default() -> Self { Self::new(Rgb::broadcast(255), false, false, false) } } /// A type representing a single voxel in a figure. @@ -33,8 +37,8 @@ pub enum Cell { } impl Cell { - pub fn new(col: Rgb, glowy: bool, shiny: bool) -> Self { - Cell::Filled(CellData::new(col, glowy, shiny)) + pub fn new(col: Rgb, glowy: bool, shiny: bool, hollow: bool) -> Self { + Cell::Filled(CellData::new(col, glowy, shiny, hollow)) } pub fn get_color(&self) -> Option> { @@ -57,6 +61,13 @@ impl Cell { Cell::Empty => false, } } + + pub fn is_hollow(&self) -> bool { + match self { + Cell::Filled(data) => data.attr.get() & HOLLOW != 0, + Cell::Empty => false, + } + } } impl Vox for Cell { diff --git a/common/src/figure/mod.rs b/common/src/figure/mod.rs index b16d43730f..c9475b807c 100644 --- a/common/src/figure/mod.rs +++ b/common/src/figure/mod.rs @@ -67,6 +67,7 @@ impl Segment { color, (13..16).contains(&voxel.i), // Glowy (8..13).contains(&voxel.i), // Shiny + voxel.i == 16, // Hollow ), ) .unwrap(); @@ -93,8 +94,14 @@ impl Segment { /// Transform cell colors pub fn map_rgb(self, transform: impl Fn(Rgb) -> Rgb) -> Self { self.map(|cell| { - cell.get_color() - .map(|rgb| Cell::new(transform(rgb), cell.is_glowy(), cell.is_shiny())) + cell.get_color().map(|rgb| { + Cell::new( + transform(rgb), + cell.is_glowy(), + cell.is_shiny(), + cell.is_hollow(), + ) + }) }) } } @@ -119,7 +126,9 @@ impl DynaUnionizer { } } - pub fn unify(self) -> (Dyna, Vec3) { + pub fn unify(self) -> (Dyna, Vec3) { self.unify_with(|v| v) } + + pub fn unify_with(self, mut f: impl FnMut(V) -> V) -> (Dyna, Vec3) { if self.0.is_empty() { return (Dyna::filled(Vec3::zero(), V::empty(), ()), Vec3::zero()); } @@ -140,7 +149,7 @@ impl DynaUnionizer { for (dyna, offset) in self.0 { for (pos, vox) in dyna.full_vol_iter() { if !vox.is_empty() { - combined.set(origin + offset + pos, *vox).unwrap(); + combined.set(origin + offset + pos, f(*vox)).unwrap(); } } } @@ -157,7 +166,7 @@ impl MatSegment { for (pos, vox) in self.full_vol_iter() { let data = match vox { MatCell::None => continue, - MatCell::Mat(mat) => CellData::new(map(*mat), false, false), + MatCell::Mat(mat) => CellData::new(map(*mat), false, false, false), MatCell::Normal(data) => *data, }; vol.set(pos, Cell::Filled(data)).unwrap(); @@ -221,6 +230,7 @@ impl MatSegment { color, (13..16).contains(&index), (8..13).contains(&index), + index == 16, // Hollow )) }, }; diff --git a/voxygen/src/scene/figure/load.rs b/voxygen/src/scene/figure/load.rs index eefe2780b7..a249148052 100644 --- a/voxygen/src/scene/figure/load.rs +++ b/voxygen/src/scene/figure/load.rs @@ -22,7 +22,8 @@ use common::{ }, theropod::{self, BodyType as TBodyType, Species as TSpecies}, }, - figure::{DynaUnionizer, MatSegment, Material, Segment}, + figure::{Cell, DynaUnionizer, MatSegment, Material, Segment}, + vol::Vox, }; use hashbrown::HashMap; use serde::Deserialize; @@ -317,8 +318,7 @@ impl HumHeadSpec { .maybe_add(beard) .maybe_add(accessory) .maybe_add(helmet) - .unify(); - + .unify_with(|v| if v.is_hollow() { Cell::empty() } else { v }); ( head, Vec3::from(spec.offset) + origin_offset.map(|e| e as f32 * -1.0), From 68df9322db33b8872ff8adcc4ccd0687f21a7b5b Mon Sep 17 00:00:00 2001 From: jshipsey Date: Wed, 29 Sep 2021 12:25:49 -0400 Subject: [PATCH 3/9] simple hats --- .../items/armor/misc/head/bandana/red.ron | 17 + .../items/armor/misc/head/bandana/thief.ron | 17 + .../common/items/armor/misc/head/helmet.ron | 17 + assets/common/items/armor/misc/head/hood.ron | 17 + assets/common/items/armor/misc/head/straw.ron | 17 + assets/voxygen/item_image_manifest.ron | 21 ++ .../voxel/armor/misc/head/bandana/red.vox | Bin 0 -> 2784 bytes .../voxel/armor/misc/head/bandana/thief.vox | Bin 0 -> 2784 bytes .../voxygen/voxel/armor/misc/head/helmet.vox | Bin 0 -> 12080 bytes assets/voxygen/voxel/armor/misc/head/hood.vox | Bin 0 -> 6792 bytes .../voxygen/voxel/armor/misc/head/straw.vox | Bin 0 -> 9048 bytes assets/voxygen/voxel/armor/pirate/hat.vox | Bin 4048 -> 7248 bytes assets/voxygen/voxel/armor/witch/hat.vox | Bin 5612 -> 21032 bytes .../voxel/humanoid_armor_head_manifest.ron | 309 +++++++++++++++++- 14 files changed, 407 insertions(+), 8 deletions(-) create mode 100644 assets/common/items/armor/misc/head/bandana/red.ron create mode 100644 assets/common/items/armor/misc/head/bandana/thief.ron create mode 100644 assets/common/items/armor/misc/head/helmet.ron create mode 100644 assets/common/items/armor/misc/head/hood.ron create mode 100644 assets/common/items/armor/misc/head/straw.ron create mode 100644 assets/voxygen/voxel/armor/misc/head/bandana/red.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/bandana/thief.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/helmet.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/hood.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/straw.vox diff --git a/assets/common/items/armor/misc/head/bandana/red.ron b/assets/common/items/armor/misc/head/bandana/red.ron new file mode 100644 index 0000000000..2f8db4475a --- /dev/null +++ b/assets/common/items/armor/misc/head/bandana/red.ron @@ -0,0 +1,17 @@ +ItemDef( + name: "Red Bandana", + description: "yep.", + kind: Armor(( + kind: Head("Red"), + stats: ( + protection: Normal(0.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [], +) diff --git a/assets/common/items/armor/misc/head/bandana/thief.ron b/assets/common/items/armor/misc/head/bandana/thief.ron new file mode 100644 index 0000000000..352160a078 --- /dev/null +++ b/assets/common/items/armor/misc/head/bandana/thief.ron @@ -0,0 +1,17 @@ +ItemDef( + name: "Thief Bandana", + description: "yep.", + kind: Armor(( + kind: Head("Thief"), + stats: ( + protection: Normal(0.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [], +) diff --git a/assets/common/items/armor/misc/head/helmet.ron b/assets/common/items/armor/misc/head/helmet.ron new file mode 100644 index 0000000000..79d40e3194 --- /dev/null +++ b/assets/common/items/armor/misc/head/helmet.ron @@ -0,0 +1,17 @@ +ItemDef( + name: "Helmet", + description: "yep.", + kind: Armor(( + kind: Head("Helmet"), + stats: ( + protection: Normal(0.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [], +) diff --git a/assets/common/items/armor/misc/head/hood.ron b/assets/common/items/armor/misc/head/hood.ron new file mode 100644 index 0000000000..5f2d54fc13 --- /dev/null +++ b/assets/common/items/armor/misc/head/hood.ron @@ -0,0 +1,17 @@ +ItemDef( + name: "Hood", + description: "yep.", + kind: Armor(( + kind: Head("Hood"), + stats: ( + protection: Normal(0.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [], +) diff --git a/assets/common/items/armor/misc/head/straw.ron b/assets/common/items/armor/misc/head/straw.ron new file mode 100644 index 0000000000..4b0df4af9e --- /dev/null +++ b/assets/common/items/armor/misc/head/straw.ron @@ -0,0 +1,17 @@ +ItemDef( + name: "Straw Hat", + description: "yep.", + kind: Armor(( + kind: Head("Straw"), + stats: ( + protection: Normal(0.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [], +) diff --git a/assets/voxygen/item_image_manifest.ron b/assets/voxygen/item_image_manifest.ron index 9d3d8b2c0f..27a75fc0c5 100644 --- a/assets/voxygen/item_image_manifest.ron +++ b/assets/voxygen/item_image_manifest.ron @@ -2145,6 +2145,27 @@ "voxel.armor.misc.back.backpack", (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, ), + //Hats + Armor(Head("Witch")): VoxTrans( + "voxel.armor.witch.hat", + (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + ), + Armor(Head("Pirate")): VoxTrans( + "voxel.armor.pirate.hat", + (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + ), + Armor(Head("Thief")): VoxTrans( + "voxel.armor.misc.head.bandana.thief", + (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + ), + Armor(Head("Red")): VoxTrans( + "voxel.armor.misc.head.bandana.red", + (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + ), + Armor(Head("Straw")): VoxTrans( + "voxel.armor.misc.head.straw", + (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + ), // Rings Armor(Ring("Scratched")): VoxTrans( "voxel.armor.misc.ring.scratched", diff --git a/assets/voxygen/voxel/armor/misc/head/bandana/red.vox b/assets/voxygen/voxel/armor/misc/head/bandana/red.vox new file mode 100644 index 0000000000000000000000000000000000000000..4a12f6a0eaa1e6633ebf724c7dfb154b0b6dde80 GIT binary patch literal 2784 zcmajfe{5D)9mnzSx#ygF&*@VPkNjH8fLfWO#ccA!BEq&JbgT@vbtrD#B-3n;rXkLz zsjO*8wz_3Vm`oeCm~9nJC5ss{tfXdtP_p1$LMCC0F)@S~WBk|nhku!Td_T{OQG?Rt zm3z)T&;5MQx%ZszyZ@n%6K1w&TmOAr>{5%_-u}V9)<%avx>jNV9(s7N|J6o^zn?hn z`#c|fIU3<<$0Cjfltne_5sGpyqAb#!M=DxI9jvI0W)wx{UTx07)2>j$`TuO4`Y12=Qxlz+`bzBqUiSfjEV%*Vp^c{WI z=trJ~M?gf03JETf3y*+^5)~3$WPR`mh$vAZ!9~^%kAR306%t(Jy}%oU2k#TqgM3ktI;JlG<Qjc;yzSL53m`^(rv#y&C5lX0Gmvtpbn<4hUn!Z?4%`7_Rd zvCoaYY@Bmr&t__8YG-O^-c_b{rgo-wrgo-wrgo-wrgo-wrgo-wrgo-wrgo-wrgo-w zrgo-wrgo-wrgo-wrgo-wZv2m-_JcdWu#I&$|Nj2L&-K@@>tBA;vOt=d(S-|p)cAX| z{}=z)!rrB7d#pnphu5lWdb6xA%7$BHCqFK`xKs=Gn3f$h-F)2i=`*G@Y+5jBT10>8 zPfZ*5)U@m1LJdB%NZ&cPLOUi*15>82oi;svnP&&uwQ{Iat0%hEGux}>Ba78}tX zIyFA9Mkk(FuZb^h(uo7xb>W3C>(4VoTKmbR+PZ#~?!9Y`p4hiZ!@EqAUolOOn$CaM zG;!B%z5c*g^=Qv+I@sHzeceknv~jtP?Yu>^`)}9a1KTwG*nOIK>Jc41{G`UeF{tCu z4Quw)^SbiRYpT_1x@l2e9UUE7*VU<>+diewukTXd)^)o7?#(*>?VEM_hn@P}d)>PF z{#w0C&Dj~#rMFFg{J=Cmv_`K?ZqUUyx9cyz->Z?M3w7*`#d_;NJKRECo>({TRrE3>&xc;7%?dtDd-CY03j?L=3W2<)W*sg(lb~e|)VZ#Q!v}szm zuREzNN1j#NWSidok?F%nthrCSy1FzrHm2S8oRv+EYsttGoqPGCZ+N(!y|Z$qUV3gy zcW(Kf9zXiLZrZ<0@Bi!;of~Y^3oBOWzw0-C*T{N!?Xs~69{qs@n= z^x3D5=+0-Sb?@uvwfD>w_4fAa4@|`p^f&n{rfa|aXnxn&UpE@(5H`=*b+2#F{O>VF U8qZw!xqpr|AO5%Yb$)CA00uWO&gN}p zO+&KPEklAbC2TQs6-_0J88WOyvp)z~a4sQ}u*H}dLX0u~Yy88%Oddb?#TYdxO`hC) z&Uv2abI!f@P4_+nui{KWO(q^YQW!*3+8=o zJowa#$a5cEYz35D+43kj)=+Ypac*T-ZxzT~qg6xB)tGBA*I>QYDp5k-*T)lbs6@fn zVbqy#v=VZ@!F+@H8uPVQU@oEpWfXiKk0|((YdIcZM&waK0Y*dtZfx(P4!c^X9|iUr zk>kE>k4wg7tAyoHW-kRwo^zq(IWH<*o^U9;+C+hpOA{Ui-@*Pm@O9wpXj#Gekr`KH z*1@>WeYM8(DXMWtD+Kn3JW418&VfRp4~4+_Pzam{rBEODC5?}(OHs<^d@>sdOY2M?nrl{yQDMInd!`Q);x+RSkve)=r8Cm=y$wh$2)d# z930Ox_pk!2SnVHHNl&Pr2fPHYq}##tJSPt~z>RPd+!9`fm*Hi2HIE`(mV z+yZU^w}9*TRvc`{x8mS?_yK-|pWv7DdG-+4Lu3z$J(O??_TkuvV;`P<1ojcxM`9l( z{0u)=e3%B)U>Zz=S->n{7BCB#j&IJv^>9P=jNvA@C3y$iSML#agq>iQbQ}BvegWUX z_wWP!2tQTNo8OqhF@9qP%U~I-0#*Ub!Sb*ItOzT?DquNS9#()AVWo-%$KVuj92^fP zz=>@R{d5|?N29l(*U{^%cSmn*KLh6Jb@Y0A1HG|*hCrvM)6rSb35$F|-jVm@Lp#qL zSx45B4ehKaTYV3_pLUKh8AryqGmP;&{J!mX_zV0MgL{0g?c*MgYkR8qTCG>Vhw9v1 z+w;|2HMZtMJ3h13!u9`Ce}DgH`s-KpFa4%IPnw<8g$uh?{k<{x^Z%>){hjK1yhlBU zR;zbrlWZW$M(eVZAC_J0)coD1#Rp8c9y5LXj46+r=1rRxFz)<`Y5neob{?3o;b#}< zo9C8l`;=+uxarHMP0w5=JJhXZBP+CWs!to{`n6#l1 zn6{iZ+2`O-X4&x%$<8j+;oF-!^@&CL;I1Xo&W~ubnFi5s(Vx)qgQnBpHC;GmdiPDn z{ic%xre8c{y84u9nDN2ArejYqKVjO|YufiI)5LbuE6fkA@7Bn`3QZ2J(upV6YU=YF zbz=WEU3l>e`t$6FR)4fpTh=buefO-=lY2L6bf;8^D>HN1%Q}^uBYY%=&k8QX^ z2l_W?Z(pZI)-Tb~9k*$2-<=wMaH~cizh6^NKdK{#p3>x3hjr}vQO%utL08`Xz8Z~& zZduS&Pfw55^sdl`J3gjQukF>qmNk0dvzv768@KB84_4@R@Am2Hd#m*-%(+?9rMFCf zeBU%VvP!Q^uhYdhw&^dw-=nc3^L6y~g?jUHm#%90P0xS%%-8j+*T1H7-`oEm=hv@i zq-z&%dj1W|x;5ChvVH!s?VB`k*B0&CzD+~-?r5KX-MV#pY2%FUTys*J4?m}_=`OwV zL(>P3TKhZg?d{dX#DsR;dsa3*sYPRpbnfNr@9D+LaUR=6V|IM#_Ro5eXE@^DP^vuhrH2tGFee3Mo+H~-^KKb-v-TmB*?tAUL z_MEw*{{DXbfvs3Z`kVX})3sk--`_R9ubZv&D{TMHZg_ob_J6OjQe|$K`{!Ca{BQR+ H@Y+8BzTSxy literal 0 HcmV?d00001 diff --git a/assets/voxygen/voxel/armor/misc/head/helmet.vox b/assets/voxygen/voxel/armor/misc/head/helmet.vox new file mode 100644 index 0000000000000000000000000000000000000000..f511dc701e2e2b929ac9079271f52d51fd43abda GIT binary patch literal 12080 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 Pf7ab~{@>zn&^G)JPp(1T literal 0 HcmV?d00001 diff --git a/assets/voxygen/voxel/armor/misc/head/hood.vox b/assets/voxygen/voxel/armor/misc/head/hood.vox new file mode 100644 index 0000000000000000000000000000000000000000..da7100c783dc86dfab3faa69d770d4afb3539ea2 GIT binary patch literal 6792 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 b`sZppeE0=#{P24IHNUyeyz+@>%ZC2}RdVsW literal 0 HcmV?d00001 diff --git a/assets/voxygen/voxel/armor/misc/head/straw.vox b/assets/voxygen/voxel/armor/misc/head/straw.vox new file mode 100644 index 0000000000000000000000000000000000000000..8f7f3c1f7f903c291486eaa06932329b4588ff86 GIT binary patch literal 9048 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 Date: Tue, 19 Oct 2021 22:27:22 -0400 Subject: [PATCH 4/9] switch to new matcell variant --- assets/common/entity/spot/pirate.ron | 12 +----- assets/common/entity/spot/witch_dark.ron | 12 +----- .../loadout/spots/dwarf_graverobber.ron | 1 + common/src/figure/cell.rs | 20 +++------- common/src/figure/mat_cell.rs | 1 + common/src/figure/mod.rs | 7 ++-- frame-trace_1634705763589.json | 38 +++++++++++++++++++ voxygen/src/hud/item_imgs.rs | 1 + voxygen/src/scene/figure/load.rs | 2 +- 9 files changed, 53 insertions(+), 41 deletions(-) create mode 100644 frame-trace_1634705763589.json diff --git a/assets/common/entity/spot/pirate.ron b/assets/common/entity/spot/pirate.ron index 381f06c508..5af961727c 100644 --- a/assets/common/entity/spot/pirate.ron +++ b/assets/common/entity/spot/pirate.ron @@ -1,16 +1,6 @@ EntityConfig ( name: Name("Pirate"), - body: Exact(Humanoid(Body( - species: Human, - body_type: Female, - hair_style: 2, - beard: 0, - eyes: 0, - accessory: 0, - hair_color: 12, - skin: 8, - eye_color: 3, - ))), + body: RandomWith("humanoid"), alignment: Alignment(Enemy), loot: LootTable("common.loot_tables.creature.biped_large.saurok"), diff --git a/assets/common/entity/spot/witch_dark.ron b/assets/common/entity/spot/witch_dark.ron index 8b4d39a009..19d3992b32 100644 --- a/assets/common/entity/spot/witch_dark.ron +++ b/assets/common/entity/spot/witch_dark.ron @@ -1,16 +1,6 @@ EntityConfig ( name: Name("Witch"), - body: Exact(Humanoid(Body( - species: Human, - body_type: Female, - hair_style: 15, - beard: 0, - eyes: 0, - accessory: 0, - hair_color: 12, - skin: 0, - eye_color: 1, - ))), + body: RandomWith("humanoid"), alignment: Alignment(Enemy), loot: LootTable("common.loot_tables.spots.witch"), diff --git a/assets/common/loadout/spots/dwarf_graverobber.ron b/assets/common/loadout/spots/dwarf_graverobber.ron index 20fbc4d25d..cd39f533c5 100644 --- a/assets/common/loadout/spots/dwarf_graverobber.ron +++ b/assets/common/loadout/spots/dwarf_graverobber.ron @@ -5,6 +5,7 @@ Armor(Hands): Item("common.items.armor.hide.rawhide.hand"), Armor(Legs): Item("common.items.armor.hide.rawhide.pants"), Armor(Feet): Item("common.items.armor.hide.rawhide.foot"), + Armor(Head): Item("common.items.armor.misc.head.bandana.thief"), Lantern: Choice([ (1.0, Some(Item("common.items.lantern.black_0"))), diff --git a/common/src/figure/cell.rs b/common/src/figure/cell.rs index 63ddb3d81d..378aae4cb2 100644 --- a/common/src/figure/cell.rs +++ b/common/src/figure/cell.rs @@ -5,20 +5,19 @@ use vek::*; const GLOWY: u8 = 1 << 1; const SHINY: u8 = 1 << 2; -const HOLLOW: u8 = 1 << 3; #[derive(Copy, Clone, Debug, PartialEq, Eq)] pub struct CellData { pub col: Rgb, - pub attr: NonZeroU8, // 1 = glowy, 2 = shiny, 3 = hollow + pub attr: NonZeroU8, // 1 = glowy, 2 = shiny } impl CellData { - pub(super) fn new(col: Rgb, glowy: bool, shiny: bool, hollow: bool) -> Self { + pub(super) fn new(col: Rgb, glowy: bool, shiny: bool) -> Self { CellData { col, attr: NonZeroU8::new( - 1 + glowy as u8 * GLOWY + shiny as u8 * SHINY + hollow as u8 * HOLLOW, + 1 + glowy as u8 * GLOWY + shiny as u8 * SHINY, ) .unwrap(), } @@ -26,7 +25,7 @@ impl CellData { } impl Default for CellData { - fn default() -> Self { Self::new(Rgb::broadcast(255), false, false, false) } + fn default() -> Self { Self::new(Rgb::broadcast(255), false, false) } } /// A type representing a single voxel in a figure. @@ -37,8 +36,8 @@ pub enum Cell { } impl Cell { - pub fn new(col: Rgb, glowy: bool, shiny: bool, hollow: bool) -> Self { - Cell::Filled(CellData::new(col, glowy, shiny, hollow)) + pub fn new(col: Rgb, glowy: bool, shiny: bool) -> Self { + Cell::Filled(CellData::new(col, glowy, shiny)) } pub fn get_color(&self) -> Option> { @@ -61,13 +60,6 @@ impl Cell { Cell::Empty => false, } } - - pub fn is_hollow(&self) -> bool { - match self { - Cell::Filled(data) => data.attr.get() & HOLLOW != 0, - Cell::Empty => false, - } - } } impl Vox for Cell { diff --git a/common/src/figure/mat_cell.rs b/common/src/figure/mat_cell.rs index 1b2c8de4ea..8e09bf1a41 100644 --- a/common/src/figure/mat_cell.rs +++ b/common/src/figure/mat_cell.rs @@ -20,6 +20,7 @@ pub enum MatCell { None, Mat(Material), Normal(CellData), + Hollow, } impl Vox for MatCell { diff --git a/common/src/figure/mod.rs b/common/src/figure/mod.rs index c9475b807c..508b842f51 100644 --- a/common/src/figure/mod.rs +++ b/common/src/figure/mod.rs @@ -67,7 +67,6 @@ impl Segment { color, (13..16).contains(&voxel.i), // Glowy (8..13).contains(&voxel.i), // Shiny - voxel.i == 16, // Hollow ), ) .unwrap(); @@ -99,7 +98,6 @@ impl Segment { transform(rgb), cell.is_glowy(), cell.is_shiny(), - cell.is_hollow(), ) }) }) @@ -166,8 +164,9 @@ impl MatSegment { for (pos, vox) in self.full_vol_iter() { let data = match vox { MatCell::None => continue, - MatCell::Mat(mat) => CellData::new(map(*mat), false, false, false), + MatCell::Mat(mat) => CellData::new(map(*mat), false, false), MatCell::Normal(data) => *data, + MatCell::Hollow => continue, }; vol.set(pos, Cell::Filled(data)).unwrap(); } @@ -220,6 +219,7 @@ impl MatSegment { 4 => MatCell::Mat(Material::SkinDark), 5 => MatCell::Mat(Material::SkinLight), 7 => MatCell::Mat(Material::EyeWhite), + 16 => MatCell::Hollow, //6 => MatCell::Mat(Material::Clothing), index => { let color = palette @@ -230,7 +230,6 @@ impl MatSegment { color, (13..16).contains(&index), (8..13).contains(&index), - index == 16, // Hollow )) }, }; diff --git a/frame-trace_1634705763589.json b/frame-trace_1634705763589.json new file mode 100644 index 0000000000..76bd2be55d --- /dev/null +++ b/frame-trace_1634705763589.json @@ -0,0 +1,38 @@ +{ +"traceEvents": [ +{ "pid":1, "tid":1, "ts":1634705763488162, "dur":5681.276321411133, "ph":"X", "name":"frame" }, +{ "pid":1, "tid":1, "ts":1634705763488195, "dur":661.1347198486328, "ph":"X", "name":"shadow_pass" }, +{ "pid":1, "tid":1, "ts":1634705763488195.3, "dur":643.0149078369141, "ph":"X", "name":"direcred_terrain_shadows" }, +{ "pid":1, "tid":1, "ts":1634705763488839.3, "dur":15.497207641601563, "ph":"X", "name":"direcred_figure_shadows" }, +{ "pid":1, "tid":1, "ts":1634705763488858.8, "dur":690.460205078125, "ph":"X", "name":"point shadows" }, +{ "pid":1, "tid":1, "ts":1634705763488867, "dur":43.15376281738281, "ph":"X", "name":"point shadow face-0 pass" }, +{ "pid":1, "tid":1, "ts":1634705763488917.5, "dur":45.7763671875, "ph":"X", "name":"point shadow face-1 pass" }, +{ "pid":1, "tid":1, "ts":1634705763488970.8, "dur":51.25999450683594, "ph":"X", "name":"point shadow face-2 pass" }, +{ "pid":1, "tid":1, "ts":1634705763489028.8, "dur":51.25999450683594, "ph":"X", "name":"point shadow face-3 pass" }, +{ "pid":1, "tid":1, "ts":1634705763489088.5, "dur":42.438507080078125, "ph":"X", "name":"point shadow face-4 pass" }, +{ "pid":1, "tid":1, "ts":1634705763489501.8, "dur":45.06111145019531, "ph":"X", "name":"point shadow face-5 pass" }, +{ "pid":1, "tid":1, "ts":1634705763489573, "dur":3035.5453491210938, "ph":"X", "name":"first_pass" }, +{ "pid":1, "tid":1, "ts":1634705763489573.8, "dur":20.503997802734375, "ph":"X", "name":"figures" }, +{ "pid":1, "tid":1, "ts":1634705763489594.3, "dur":1816.2727355957031, "ph":"X", "name":"terrain" }, +{ "pid":1, "tid":1, "ts":1634705763491410.8, "dur":41.00799560546875, "ph":"X", "name":"figures" }, +{ "pid":1, "tid":1, "ts":1634705763491451.8, "dur":1039.9818420410156, "ph":"X", "name":"lod_terrain" }, +{ "pid":1, "tid":1, "ts":1634705763492492, "dur":3.337860107421875, "ph":"X", "name":"skybox" }, +{ "pid":1, "tid":1, "ts":1634705763492495.8, "dur":96.08268737792969, "ph":"X", "name":"sprites" }, +{ "pid":1, "tid":1, "ts":1634705763492592.3, "dur":0, "ph":"X", "name":"fluid" }, +{ "pid":1, "tid":1, "ts":1634705763492593.5, "dur":13.113021850585938, "ph":"X", "name":"particles" }, +{ "pid":1, "tid":1, "ts":1634705763492606.8, "dur":1.430511474609375, "ph":"X", "name":"debug" }, +{ "pid":1, "tid":1, "ts":1634705763492621, "dur":546.4553833007813, "ph":"X", "name":"second_pass" }, +{ "pid":1, "tid":1, "ts":1634705763493169.8, "dur":466.1083221435547, "ph":"X", "name":"bloom" }, +{ "pid":1, "tid":1, "ts":1634705763493174, "dur":41.00799560546875, "ph":"X", "name":"downsample filtered 1" }, +{ "pid":1, "tid":1, "ts":1634705763493220.5, "dur":12.874603271484375, "ph":"X", "name":"downsample 2" }, +{ "pid":1, "tid":1, "ts":1634705763493237.5, "dur":4.0531158447265625, "ph":"X", "name":"downsample 3" }, +{ "pid":1, "tid":1, "ts":1634705763493247.3, "dur":2.6226043701171875, "ph":"X", "name":"downsample 4" }, +{ "pid":1, "tid":1, "ts":1634705763493255.3, "dur":5.0067901611328125, "ph":"X", "name":"upsample 1" }, +{ "pid":1, "tid":1, "ts":1634705763493438.3, "dur":11.205673217773438, "ph":"X", "name":"upsample 2" }, +{ "pid":1, "tid":1, "ts":1634705763493456.3, "dur":31.948089599609375, "ph":"X", "name":"upsample 3" }, +{ "pid":1, "tid":1, "ts":1634705763493501.8, "dur":131.13021850585938, "ph":"X", "name":"upsample 4" }, +{ "pid":1, "tid":1, "ts":1634705763493646.8, "dur":193.11904907226563, "ph":"X", "name":"third_pass" }, +{ "pid":1, "tid":1, "ts":1634705763493647.3, "dur":181.1981201171875, "ph":"X", "name":"postprocess" }, +{ "pid":1, "tid":1, "ts":1634705763493829.5, "dur":9.5367431640625, "ph":"X", "name":"ui" } +] +} diff --git a/voxygen/src/hud/item_imgs.rs b/voxygen/src/hud/item_imgs.rs index 443cee23c8..67ff971203 100644 --- a/voxygen/src/hud/item_imgs.rs +++ b/voxygen/src/hud/item_imgs.rs @@ -211,6 +211,7 @@ fn graceful_load_segment_no_skin(specifier: &str) -> Arc { let seg = mat_seg .map(|mat_cell| match mat_cell { MatCell::None => None, + MatCell::Hollow => None, MatCell::Mat(_) => Some(MatCell::None), MatCell::Normal(_) => None, }) diff --git a/voxygen/src/scene/figure/load.rs b/voxygen/src/scene/figure/load.rs index a249148052..4e03d59bc9 100644 --- a/voxygen/src/scene/figure/load.rs +++ b/voxygen/src/scene/figure/load.rs @@ -318,7 +318,7 @@ impl HumHeadSpec { .maybe_add(beard) .maybe_add(accessory) .maybe_add(helmet) - .unify_with(|v| if v.is_hollow() { Cell::empty() } else { v }); + .unify(); ( head, Vec3::from(spec.offset) + origin_offset.map(|e| e as f32 * -1.0), From 124cb5d305f581b45d8329d41350e9b919790047 Mon Sep 17 00:00:00 2001 From: jshipsey Date: Mon, 25 Oct 2021 23:29:16 -0400 Subject: [PATCH 5/9] good hat rendering --- common/src/figure/cell.rs | 22 +++++++++++++----- common/src/figure/mat_cell.rs | 1 - common/src/figure/mod.rs | 7 +++--- frame-trace_1635217738690.json | 38 ++++++++++++++++++++++++++++++++ voxygen/src/hud/item_imgs.rs | 3 +-- voxygen/src/scene/figure/load.rs | 2 +- 6 files changed, 60 insertions(+), 13 deletions(-) create mode 100644 frame-trace_1635217738690.json diff --git a/common/src/figure/cell.rs b/common/src/figure/cell.rs index 378aae4cb2..0cc010e25a 100644 --- a/common/src/figure/cell.rs +++ b/common/src/figure/cell.rs @@ -5,27 +5,30 @@ use vek::*; const GLOWY: u8 = 1 << 1; const SHINY: u8 = 1 << 2; +const HOLLOW: u8 = 1 << 3; #[derive(Copy, Clone, Debug, PartialEq, Eq)] pub struct CellData { pub col: Rgb, - pub attr: NonZeroU8, // 1 = glowy, 2 = shiny + pub attr: NonZeroU8, // 1 = glowy, 2 = shiny, 3 = hollow } impl CellData { - pub(super) fn new(col: Rgb, glowy: bool, shiny: bool) -> Self { + pub(super) fn new(col: Rgb, glowy: bool, shiny: bool, hollow: bool) -> Self { CellData { col, attr: NonZeroU8::new( - 1 + glowy as u8 * GLOWY + shiny as u8 * SHINY, + 1 + glowy as u8 * GLOWY + shiny as u8 * SHINY + hollow as u8 * HOLLOW, ) .unwrap(), } } + + pub fn is_hollow(&self) -> bool { self.attr.get() & HOLLOW != 0 } } impl Default for CellData { - fn default() -> Self { Self::new(Rgb::broadcast(255), false, false) } + fn default() -> Self { Self::new(Rgb::broadcast(255), false, false, false) } } /// A type representing a single voxel in a figure. @@ -36,8 +39,8 @@ pub enum Cell { } impl Cell { - pub fn new(col: Rgb, glowy: bool, shiny: bool) -> Self { - Cell::Filled(CellData::new(col, glowy, shiny)) + pub fn new(col: Rgb, glowy: bool, shiny: bool, hollow: bool) -> Self { + Cell::Filled(CellData::new(col, glowy, shiny, hollow)) } pub fn get_color(&self) -> Option> { @@ -60,6 +63,13 @@ impl Cell { Cell::Empty => false, } } + + pub fn is_hollow(&self) -> bool { + match self { + Cell::Filled(data) => data.is_hollow(), + Cell::Empty => false, + } + } } impl Vox for Cell { diff --git a/common/src/figure/mat_cell.rs b/common/src/figure/mat_cell.rs index 8e09bf1a41..1b2c8de4ea 100644 --- a/common/src/figure/mat_cell.rs +++ b/common/src/figure/mat_cell.rs @@ -20,7 +20,6 @@ pub enum MatCell { None, Mat(Material), Normal(CellData), - Hollow, } impl Vox for MatCell { diff --git a/common/src/figure/mod.rs b/common/src/figure/mod.rs index 508b842f51..1a68004d04 100644 --- a/common/src/figure/mod.rs +++ b/common/src/figure/mod.rs @@ -67,6 +67,7 @@ impl Segment { color, (13..16).contains(&voxel.i), // Glowy (8..13).contains(&voxel.i), // Shiny + voxel.i == 16, //Hollow ), ) .unwrap(); @@ -98,6 +99,7 @@ impl Segment { transform(rgb), cell.is_glowy(), cell.is_shiny(), + cell.is_hollow(), ) }) }) @@ -164,9 +166,8 @@ impl MatSegment { for (pos, vox) in self.full_vol_iter() { let data = match vox { MatCell::None => continue, - MatCell::Mat(mat) => CellData::new(map(*mat), false, false), + MatCell::Mat(mat) => CellData::new(map(*mat), false, false, false), MatCell::Normal(data) => *data, - MatCell::Hollow => continue, }; vol.set(pos, Cell::Filled(data)).unwrap(); } @@ -219,7 +220,6 @@ impl MatSegment { 4 => MatCell::Mat(Material::SkinDark), 5 => MatCell::Mat(Material::SkinLight), 7 => MatCell::Mat(Material::EyeWhite), - 16 => MatCell::Hollow, //6 => MatCell::Mat(Material::Clothing), index => { let color = palette @@ -230,6 +230,7 @@ impl MatSegment { color, (13..16).contains(&index), (8..13).contains(&index), + index == 16, // Hollow )) }, }; diff --git a/frame-trace_1635217738690.json b/frame-trace_1635217738690.json new file mode 100644 index 0000000000..7479acb764 --- /dev/null +++ b/frame-trace_1635217738690.json @@ -0,0 +1,38 @@ +{ +"traceEvents": [ +{ "pid":1, "tid":1, "ts":1635217738642844.8, "dur":4531.383514404297, "ph":"X", "name":"frame" }, +{ "pid":1, "tid":1, "ts":1635217738642866, "dur":304.4605255126953, "ph":"X", "name":"shadow_pass" }, +{ "pid":1, "tid":1, "ts":1635217738642866, "dur":297.0695495605469, "ph":"X", "name":"direcred_terrain_shadows" }, +{ "pid":1, "tid":1, "ts":1635217738643163, "dur":5.9604644775390625, "ph":"X", "name":"direcred_figure_shadows" }, +{ "pid":1, "tid":1, "ts":1635217738643172.8, "dur":211.95411682128906, "ph":"X", "name":"point shadows" }, +{ "pid":1, "tid":1, "ts":1635217738643182.3, "dur":21.696090698242188, "ph":"X", "name":"point shadow face-0 pass" }, +{ "pid":1, "tid":1, "ts":1635217738643212, "dur":28.848648071289063, "ph":"X", "name":"point shadow face-1 pass" }, +{ "pid":1, "tid":1, "ts":1635217738643248.3, "dur":28.133392333984375, "ph":"X", "name":"point shadow face-2 pass" }, +{ "pid":1, "tid":1, "ts":1635217738643283.3, "dur":33.14018249511719, "ph":"X", "name":"point shadow face-3 pass" }, +{ "pid":1, "tid":1, "ts":1635217738643322.8, "dur":26.464462280273438, "ph":"X", "name":"point shadow face-4 pass" }, +{ "pid":1, "tid":1, "ts":1635217738643357, "dur":25.033950805664063, "ph":"X", "name":"point shadow face-5 pass" }, +{ "pid":1, "tid":1, "ts":1635217738643402.3, "dur":1906.8717956542969, "ph":"X", "name":"first_pass" }, +{ "pid":1, "tid":1, "ts":1635217738643402.5, "dur":21.696090698242188, "ph":"X", "name":"figures" }, +{ "pid":1, "tid":1, "ts":1635217738643424.8, "dur":672.1019744873047, "ph":"X", "name":"terrain" }, +{ "pid":1, "tid":1, "ts":1635217738644098.3, "dur":18.596649169921875, "ph":"X", "name":"figures" }, +{ "pid":1, "tid":1, "ts":1635217738644117.5, "dur":808.4774017333984, "ph":"X", "name":"lod_terrain" }, +{ "pid":1, "tid":1, "ts":1635217738644926.3, "dur":18.358230590820313, "ph":"X", "name":"skybox" }, +{ "pid":1, "tid":1, "ts":1635217738644944.5, "dur":349.99847412109375, "ph":"X", "name":"sprites" }, +{ "pid":1, "tid":1, "ts":1635217738645295, "dur":0, "ph":"X", "name":"fluid" }, +{ "pid":1, "tid":1, "ts":1635217738645296.3, "dur":10.967254638671875, "ph":"X", "name":"particles" }, +{ "pid":1, "tid":1, "ts":1635217738645308.3, "dur":0.476837158203125, "ph":"X", "name":"debug" }, +{ "pid":1, "tid":1, "ts":1635217738645319.5, "dur":1293.8976287841797, "ph":"X", "name":"second_pass" }, +{ "pid":1, "tid":1, "ts":1635217738646615.5, "dur":278.9497375488281, "ph":"X", "name":"bloom" }, +{ "pid":1, "tid":1, "ts":1635217738646620, "dur":40.76957702636719, "ph":"X", "name":"downsample filtered 1" }, +{ "pid":1, "tid":1, "ts":1635217738646666, "dur":12.159347534179688, "ph":"X", "name":"downsample 2" }, +{ "pid":1, "tid":1, "ts":1635217738646683.3, "dur":4.0531158447265625, "ph":"X", "name":"downsample 3" }, +{ "pid":1, "tid":1, "ts":1635217738646691.8, "dur":3.814697265625, "ph":"X", "name":"downsample 4" }, +{ "pid":1, "tid":1, "ts":1635217738646699.5, "dur":4.5299530029296875, "ph":"X", "name":"upsample 1" }, +{ "pid":1, "tid":1, "ts":1635217738646708, "dur":9.775161743164063, "ph":"X", "name":"upsample 2" }, +{ "pid":1, "tid":1, "ts":1635217738646722, "dur":30.994415283203125, "ph":"X", "name":"upsample 3" }, +{ "pid":1, "tid":1, "ts":1635217738646762.8, "dur":129.46128845214844, "ph":"X", "name":"upsample 4" }, +{ "pid":1, "tid":1, "ts":1635217738646902, "dur":470.87669372558594, "ph":"X", "name":"third_pass" }, +{ "pid":1, "tid":1, "ts":1635217738646902.5, "dur":468.4925079345703, "ph":"X", "name":"postprocess" }, +{ "pid":1, "tid":1, "ts":1635217738647371.5, "dur":0.95367431640625, "ph":"X", "name":"ui" } +] +} diff --git a/voxygen/src/hud/item_imgs.rs b/voxygen/src/hud/item_imgs.rs index 67ff971203..0bb5d4410f 100644 --- a/voxygen/src/hud/item_imgs.rs +++ b/voxygen/src/hud/item_imgs.rs @@ -211,9 +211,8 @@ fn graceful_load_segment_no_skin(specifier: &str) -> Arc { let seg = mat_seg .map(|mat_cell| match mat_cell { MatCell::None => None, - MatCell::Hollow => None, MatCell::Mat(_) => Some(MatCell::None), - MatCell::Normal(_) => None, + MatCell::Normal(data) => data.is_hollow().then(|| MatCell::None), }) .to_segment(|_| Default::default()); Arc::new(seg) diff --git a/voxygen/src/scene/figure/load.rs b/voxygen/src/scene/figure/load.rs index 4e03d59bc9..a249148052 100644 --- a/voxygen/src/scene/figure/load.rs +++ b/voxygen/src/scene/figure/load.rs @@ -318,7 +318,7 @@ impl HumHeadSpec { .maybe_add(beard) .maybe_add(accessory) .maybe_add(helmet) - .unify(); + .unify_with(|v| if v.is_hollow() { Cell::empty() } else { v }); ( head, Vec3::from(spec.offset) + origin_offset.map(|e| e as f32 * -1.0), From c77000b5ff0f862e65b4a0a9d21be0310a4f5e52 Mon Sep 17 00:00:00 2001 From: jshipsey Date: Wed, 27 Oct 2021 02:42:12 -0400 Subject: [PATCH 6/9] more hats --- .../common/entity/spot/dwarf_grave_robber.ron | 2 +- assets/common/entity/spot/grim_salvager.ron | 2 +- assets/common/items/armor/cultist/bandana.ron | 19 + .../items/armor/misc/head/bandana/red.ron | 4 +- .../items/armor/misc/head/bandana/thief.ron | 4 +- assets/common/items/armor/misc/head/crown.ron | 17 + assets/common/items/armor/misc/head/hood.ron | 6 +- .../items/armor/misc/head/hood_dark.ron | 17 + assets/common/items/armor/misc/head/mitre.ron | 17 + .../items/armor/misc/head/spikeguard.ron | 17 + assets/common/items/armor/misc/head/straw.ron | 2 +- assets/common/items/armor/pirate/hat.ron | 12 +- assets/common/items/armor/witch/hat.ron | 14 +- .../common/loadout/dungeon/tier-5/cultist.ron | 2 + .../loadout/spots/dwarf_graverobber.ron | 5 +- assets/common/loadout/village/merchant.ron | 1 + assets/common/loadout/village/villager.ron | 12 + .../loot_tables/dungeon/tier-4/chest.ron | 1 + .../loot_tables/dungeon/tier-4/miniboss.ron | 2 + .../loot_tables/dungeon/tier-5/chest.ron | 1 + assets/common/loot_tables/spots/bandit.ron | 18 + assets/common/loot_tables/spots/pirate.ron | 18 + assets/common/loot_tables/spots/witch.ron | 1 + assets/voxygen/item_image_manifest.ron | 24 ++ .../voxygen/voxel/armor/cultist/bandana.vox | Bin 0 -> 2784 bytes .../voxygen/voxel/armor/misc/head/crown.vox | Bin 0 -> 8436 bytes .../armor/misc/head/headband/human_f.vox | Bin 1216 -> 1216 bytes assets/voxygen/voxel/armor/misc/head/hood.vox | Bin 6792 -> 11408 bytes .../voxel/armor/misc/head/hood_dark.vox | Bin 0 -> 10120 bytes .../voxygen/voxel/armor/misc/head/mitre.vox | Bin 0 -> 8224 bytes .../voxel/armor/misc/head/spikeguard.vox | Bin 0 -> 1524 bytes .../voxygen/voxel/armor/misc/head/straw.vox | Bin 9048 -> 18344 bytes assets/voxygen/voxel/armor/pirate/hat.vox | Bin 7248 -> 12096 bytes .../voxel/humanoid_armor_head_manifest.ron | 343 ++++++++++++++++-- frame-trace_1634705763589.json | 38 -- frame-trace_1635217738690.json | 38 -- frame-trace_1635388024283.json | 38 ++ world/src/layer/spot.rs | 6 +- 38 files changed, 550 insertions(+), 131 deletions(-) create mode 100644 assets/common/items/armor/cultist/bandana.ron create mode 100644 assets/common/items/armor/misc/head/crown.ron create mode 100644 assets/common/items/armor/misc/head/hood_dark.ron create mode 100644 assets/common/items/armor/misc/head/mitre.ron create mode 100644 assets/common/items/armor/misc/head/spikeguard.ron create mode 100644 assets/common/loot_tables/spots/bandit.ron create mode 100644 assets/common/loot_tables/spots/pirate.ron create mode 100644 assets/voxygen/voxel/armor/cultist/bandana.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/crown.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/hood_dark.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/mitre.vox create mode 100644 assets/voxygen/voxel/armor/misc/head/spikeguard.vox delete mode 100644 frame-trace_1634705763589.json delete mode 100644 frame-trace_1635217738690.json create mode 100644 frame-trace_1635388024283.json diff --git a/assets/common/entity/spot/dwarf_grave_robber.ron b/assets/common/entity/spot/dwarf_grave_robber.ron index 48c6f06daa..c9cfb694c2 100644 --- a/assets/common/entity/spot/dwarf_grave_robber.ron +++ b/assets/common/entity/spot/dwarf_grave_robber.ron @@ -3,7 +3,7 @@ EntityConfig ( body: RandomWith("dwarf"), alignment: Alignment(Enemy), - loot: LootTable("common.loot_tables.creature.humanoid"), + loot: LootTable("common.loot_tables.spots.bandit"), hands: TwoHanded(Item("common.items.weapons.hammer.steel_hammer-3")), diff --git a/assets/common/entity/spot/grim_salvager.ron b/assets/common/entity/spot/grim_salvager.ron index 4c599aad84..041151b338 100644 --- a/assets/common/entity/spot/grim_salvager.ron +++ b/assets/common/entity/spot/grim_salvager.ron @@ -3,7 +3,7 @@ EntityConfig ( body: RandomWith("humanoid"), alignment: Alignment(Enemy), - loot: LootTable("common.loot_tables.creature.humanoid"), + loot: LootTable("common.loot_tables.spots.bandit"), hands: TwoHanded(Item("common.items.weapons.hammer.steel_hammer-0")), diff --git a/assets/common/items/armor/cultist/bandana.ron b/assets/common/items/armor/cultist/bandana.ron new file mode 100644 index 0000000000..111c15d8de --- /dev/null +++ b/assets/common/items/armor/cultist/bandana.ron @@ -0,0 +1,19 @@ +ItemDef( + name: "Cultist Bandana", + description: "Ceremonial attire used by members.", + kind: Armor(( + kind: Head("Cultist"), + stats: ( + protection: Normal(18.0), + poise_resilience: Normal(3.0), + energy_max: 7.0, + energy_reward: 0.1, + crit_power: 0.06, + stealth: 0.0, + ), + )), + quality: Epic, + tags: [ +Cultist + ], +) diff --git a/assets/common/items/armor/misc/head/bandana/red.ron b/assets/common/items/armor/misc/head/bandana/red.ron index 2f8db4475a..63d98343b8 100644 --- a/assets/common/items/armor/misc/head/bandana/red.ron +++ b/assets/common/items/armor/misc/head/bandana/red.ron @@ -1,6 +1,6 @@ ItemDef( name: "Red Bandana", - description: "yep.", + description: "Very sneaky, but also, bright red.", kind: Armor(( kind: Head("Red"), stats: ( @@ -9,7 +9,7 @@ ItemDef( energy_max: 0, energy_reward: 0.0, crit_power: 0.0, - stealth: 0.0, + stealth: 0.15, ), )), quality: Common, diff --git a/assets/common/items/armor/misc/head/bandana/thief.ron b/assets/common/items/armor/misc/head/bandana/thief.ron index 352160a078..0fda84d087 100644 --- a/assets/common/items/armor/misc/head/bandana/thief.ron +++ b/assets/common/items/armor/misc/head/bandana/thief.ron @@ -1,6 +1,6 @@ ItemDef( name: "Thief Bandana", - description: "yep.", + description: "Common bandit's mask.", kind: Armor(( kind: Head("Thief"), stats: ( @@ -9,7 +9,7 @@ ItemDef( energy_max: 0, energy_reward: 0.0, crit_power: 0.0, - stealth: 0.0, + stealth: 0.18, ), )), quality: Common, diff --git a/assets/common/items/armor/misc/head/crown.ron b/assets/common/items/armor/misc/head/crown.ron new file mode 100644 index 0000000000..aec605b2a3 --- /dev/null +++ b/assets/common/items/armor/misc/head/crown.ron @@ -0,0 +1,17 @@ +ItemDef( + name: "Crown", + description: "Fit for a king.", + kind: Armor(( + kind: Head("Crown"), + stats: ( + protection: Normal(12.0), + poise_resilience: Normal(0.0), + energy_max: 9.0, + energy_reward: 0.1, + crit_power: 0.12, + stealth: 0.0, + ), + )), + quality: Common, + tags: [], +) diff --git a/assets/common/items/armor/misc/head/hood.ron b/assets/common/items/armor/misc/head/hood.ron index 5f2d54fc13..196d3ed807 100644 --- a/assets/common/items/armor/misc/head/hood.ron +++ b/assets/common/items/armor/misc/head/hood.ron @@ -1,15 +1,15 @@ ItemDef( name: "Hood", - description: "yep.", + description: "Become one with the treetops.", kind: Armor(( kind: Head("Hood"), stats: ( - protection: Normal(0.0), + protection: Normal(20.0), poise_resilience: Normal(0.0), energy_max: 0, energy_reward: 0.0, crit_power: 0.0, - stealth: 0.0, + stealth: 0.12, ), )), quality: Common, diff --git a/assets/common/items/armor/misc/head/hood_dark.ron b/assets/common/items/armor/misc/head/hood_dark.ron new file mode 100644 index 0000000000..beb81878c9 --- /dev/null +++ b/assets/common/items/armor/misc/head/hood_dark.ron @@ -0,0 +1,17 @@ +ItemDef( + name: "Dark Hood", + description: "yep.", + kind: Armor(( + kind: Head("DarkHood"), + stats: ( + protection: Normal(0.0), + poise_resilience: Normal(0.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [], +) diff --git a/assets/common/items/armor/misc/head/mitre.ron b/assets/common/items/armor/misc/head/mitre.ron new file mode 100644 index 0000000000..7d3c3a7963 --- /dev/null +++ b/assets/common/items/armor/misc/head/mitre.ron @@ -0,0 +1,17 @@ +ItemDef( + name: "Mitre", + description: "Calls strength from above.", + kind: Armor(( + kind: Head("Mitre"), + stats: ( + protection: Normal(0.0), + poise_resilience: Normal(0.0), + energy_max: 11.0, + energy_reward: 0.12, + crit_power: 0.1, + stealth: 0.0, + ), + )), + quality: Common, + tags: [], +) diff --git a/assets/common/items/armor/misc/head/spikeguard.ron b/assets/common/items/armor/misc/head/spikeguard.ron new file mode 100644 index 0000000000..329c323a52 --- /dev/null +++ b/assets/common/items/armor/misc/head/spikeguard.ron @@ -0,0 +1,17 @@ +ItemDef( + name: "Spiked Faceguard", + description: "Introvert headgear.", + kind: Armor(( + kind: Head("Spikeguard"), + stats: ( + protection: Normal(0.0), + poise_resilience: Normal(10.0), + energy_max: 0, + energy_reward: 0.0, + crit_power: 0.0, + stealth: 0.0, + ), + )), + quality: Common, + tags: [], +) diff --git a/assets/common/items/armor/misc/head/straw.ron b/assets/common/items/armor/misc/head/straw.ron index 4b0df4af9e..b55de61781 100644 --- a/assets/common/items/armor/misc/head/straw.ron +++ b/assets/common/items/armor/misc/head/straw.ron @@ -1,6 +1,6 @@ ItemDef( name: "Straw Hat", - description: "yep.", + description: "Simple and stylish.", kind: Armor(( kind: Head("Straw"), stats: ( diff --git a/assets/common/items/armor/pirate/hat.ron b/assets/common/items/armor/pirate/hat.ron index 1dafd9addd..58535d64e4 100644 --- a/assets/common/items/armor/pirate/hat.ron +++ b/assets/common/items/armor/pirate/hat.ron @@ -1,14 +1,14 @@ ItemDef( name: "Pirate Hat", - description: "", + description: "It seems like a parrot was perched up here.", kind: Armor(( kind: Head("Pirate"), stats: ( - protection: Normal(32.0), - poise_resilience: Normal(5.0), - energy_max: 9.0, - energy_reward: 0.1, - crit_power: 0.08, + protection: Normal(4.0), + poise_resilience: Normal(1.0), + energy_max: 1.0, + energy_reward: 0.025, + crit_power: 0.02, stealth: 0.0, ), )), diff --git a/assets/common/items/armor/witch/hat.ron b/assets/common/items/armor/witch/hat.ron index 9c07c78e4e..286e2128d4 100644 --- a/assets/common/items/armor/witch/hat.ron +++ b/assets/common/items/armor/witch/hat.ron @@ -1,14 +1,14 @@ ItemDef( - name: "Witch hat", - description: "", + name: "Witch Hat", + description: "Draws strength from dark arts.", kind: Armor(( kind: Head("Witch"), stats: ( - protection: Normal(32.0), - poise_resilience: Normal(5.0), - energy_max: 9.0, - energy_reward: 0.1, - crit_power: 0.08, + protection: Normal(4.0), + poise_resilience: Normal(3.0), + energy_max: 0.0, + energy_reward: 0.08, + crit_power: 0.01, stealth: 0.0, ), )), diff --git a/assets/common/loadout/dungeon/tier-5/cultist.ron b/assets/common/loadout/dungeon/tier-5/cultist.ron index 4634719fee..e96d864080 100644 --- a/assets/common/loadout/dungeon/tier-5/cultist.ron +++ b/assets/common/loadout/dungeon/tier-5/cultist.ron @@ -8,6 +8,8 @@ Armor(Back): Item("common.items.armor.misc.back.dungeon_purple"), + Armor(Head): Item("common.items.armor.cultist.bandana"), + Lantern: Choice([ (1.0, Some(Item("common.items.lantern.black_0"))), (2.0, None), diff --git a/assets/common/loadout/spots/dwarf_graverobber.ron b/assets/common/loadout/spots/dwarf_graverobber.ron index cd39f533c5..aab9b883b7 100644 --- a/assets/common/loadout/spots/dwarf_graverobber.ron +++ b/assets/common/loadout/spots/dwarf_graverobber.ron @@ -5,8 +5,11 @@ Armor(Hands): Item("common.items.armor.hide.rawhide.hand"), Armor(Legs): Item("common.items.armor.hide.rawhide.pants"), Armor(Feet): Item("common.items.armor.hide.rawhide.foot"), - Armor(Head): Item("common.items.armor.misc.head.bandana.thief"), + Armor(Head): Choice([ + (1.0, Some(Item("common.items.armor.misc.head.bandana.thief"))), + (1.0, Some(Item("common.items.armor.misc.head.bandana.red"))), + ]), Lantern: Choice([ (1.0, Some(Item("common.items.lantern.black_0"))), (2.0, None), diff --git a/assets/common/loadout/village/merchant.ron b/assets/common/loadout/village/merchant.ron index 2f8b2e4cd1..a2a97e41e8 100644 --- a/assets/common/loadout/village/merchant.ron +++ b/assets/common/loadout/village/merchant.ron @@ -5,6 +5,7 @@ Armor(Legs): Item("common.items.armor.twigsflowers.pants"), Armor(Feet): Item("common.items.armor.twigsflowers.foot"), Armor(Belt): Item("common.items.armor.twigsflowers.belt"), + Armor(Head): Item("common.items.armor.misc.head.hood"), Lantern: Item("common.items.lantern.black_0"), Armor(Neck): Item("common.items.armor.misc.neck.gem_of_resilience"), diff --git a/assets/common/loadout/village/villager.ron b/assets/common/loadout/village/villager.ron index 72e88f6be4..4a72373387 100644 --- a/assets/common/loadout/village/villager.ron +++ b/assets/common/loadout/village/villager.ron @@ -11,4 +11,16 @@ (1.0, Some(Item("common.items.armor.misc.chest.worker_orange_0"))), (1.0, Some(Item("common.items.armor.misc.chest.worker_orange_1"))), ]), + Armor(Legs): Choice([ + (1.0, Some(Item("common.items.armor.misc.pants.worker_blue"))), + (1.0, Some(Item("common.items.armor.misc.pants.worker_brown"))), + ]), + Armor(Feet): Choice([ + (1.0, Some(Item("common.items.armor.misc.foot.sandals"))), + (1.0, Some(Item("common.items.armor.cloth_blue.foot"))), + ]), + Armor(Head): Choice([ + (1.0, Some(Item("common.items.armor.misc.head.straw"))), + + ]), }) diff --git a/assets/common/loot_tables/dungeon/tier-4/chest.ron b/assets/common/loot_tables/dungeon/tier-4/chest.ron index f3c7ab2047..72cb52c657 100644 --- a/assets/common/loot_tables/dungeon/tier-4/chest.ron +++ b/assets/common/loot_tables/dungeon/tier-4/chest.ron @@ -2,6 +2,7 @@ // Gear (1.0, LootTable("common.loot_tables.weapons.tier-4")), (1.0, LootTable("common.loot_tables.armor.tier-4")), + (3.0, ItemQuantity("common.items.armor.misc.head.spikeguard")), // Currency (3.0, ItemQuantity("common.items.utility.coins", 200, 500)), // Materials diff --git a/assets/common/loot_tables/dungeon/tier-4/miniboss.ron b/assets/common/loot_tables/dungeon/tier-4/miniboss.ron index 5bd71fc85f..7b3e66714b 100644 --- a/assets/common/loot_tables/dungeon/tier-4/miniboss.ron +++ b/assets/common/loot_tables/dungeon/tier-4/miniboss.ron @@ -7,4 +7,6 @@ (5.0, LootTable("common.loot_tables.consumable.good")), // lantern (1.0, Item("common.items.lantern.blue_0")), + // gear + (3.0, ItemQuantity("common.items.armor.misc.head.mitre")), ] diff --git a/assets/common/loot_tables/dungeon/tier-5/chest.ron b/assets/common/loot_tables/dungeon/tier-5/chest.ron index 331c50f82f..b3e2e6f89e 100644 --- a/assets/common/loot_tables/dungeon/tier-5/chest.ron +++ b/assets/common/loot_tables/dungeon/tier-5/chest.ron @@ -2,6 +2,7 @@ // Gear (1.0, LootTable("common.loot_tables.weapons.tier-4")), (1.0, LootTable("common.loot_tables.armor.tier-4")), + (0.3, ItemQuantity("common.items.armor.cultist.bandana")), // Currency (3.0, ItemQuantity("common.items.utility.coins", 200, 500)), // Materials diff --git a/assets/common/loot_tables/spots/bandit.ron b/assets/common/loot_tables/spots/bandit.ron new file mode 100644 index 0000000000..4400ec006c --- /dev/null +++ b/assets/common/loot_tables/spots/bandit.ron @@ -0,0 +1,18 @@ +[ + // Crafting Ingredients + (5.0, LootTable("common.loot_tables.materials.common")), + // Consumables + (0.2, Item("common.items.consumable.potion_minor")), + // Ring + (0.02, Item("common.items.armor.misc.ring.gold")), + // Necklace + (0.02, Item("common.items.armor.misc.neck.gold")), + // Utility + (0.05, Item("common.items.utility.collar")), + // Armor + (0.01, Item("common.items.armor.misc.head.bandana.thief")), + (0.01, Item("common.items.armor.misc.head.bandana.red")), + // Food + (1.0, LootTable("common.loot_tables.food.wild_ingredients")), + (0.25, LootTable("common.loot_tables.food.prepared")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/spots/pirate.ron b/assets/common/loot_tables/spots/pirate.ron new file mode 100644 index 0000000000..231345dc3c --- /dev/null +++ b/assets/common/loot_tables/spots/pirate.ron @@ -0,0 +1,18 @@ +[ + // Crafting Ingredients + (3.0, LootTable("common.loot_tables.materials.common")), + // Consumables + (0.2, Item("common.items.consumable.potion_minor")), + // Ring + (0.02, Item("common.items.armor.misc.ring.gold")), + // Necklace + (0.02, Item("common.items.armor.misc.neck.gold")), + // Utility + (0.05, Item("common.items.utility.collar")), + // Armor + (0.007, Item("common.items.armor.pirate.hat")), + (0.005, Item("common.items.armor.misc.head.crown")), + // Food + (1.0, LootTable("common.loot_tables.food.wild_ingredients")), + (0.25, LootTable("common.loot_tables.food.prepared")), +] \ No newline at end of file diff --git a/assets/common/loot_tables/spots/witch.ron b/assets/common/loot_tables/spots/witch.ron index 117c82b8a3..4cacc46022 100644 --- a/assets/common/loot_tables/spots/witch.ron +++ b/assets/common/loot_tables/spots/witch.ron @@ -5,4 +5,5 @@ (1.0, LootTable("common.loot_tables.weapons.tier-3")), (0.1, LootTable("common.loot_tables.weapons.tier-4")), (1.5, LootTable("common.loot_tables.food.prepared")), + (0.01, Item("common.items.armor.witch.hat")), ] \ No newline at end of file diff --git a/assets/voxygen/item_image_manifest.ron b/assets/voxygen/item_image_manifest.ron index 27a75fc0c5..a44abbd4ed 100644 --- a/assets/voxygen/item_image_manifest.ron +++ b/assets/voxygen/item_image_manifest.ron @@ -1166,6 +1166,10 @@ "voxel.armor.cultist.shoulder", (0.0, 1.0, 0.0), (-120.0, 210.0,15.0), 1.1, ), + Armor(Head("Cultist")): VoxTrans( + "voxel.armor.cultist.bandana", + (0.0, 1.0, 0.0), (-120.0, 210.0,15.0), 1.1, + ), // Villager Clothing Armor(Pants("WorkerBlue")): VoxTrans( "voxel.armor.misc.pants.worker_blue", @@ -2166,6 +2170,26 @@ "voxel.armor.misc.head.straw", (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, ), + Armor(Head("Hood")): VoxTrans( + "voxel.armor.misc.head.hood", + (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + ), + Armor(Head("Crown")): VoxTrans( + "voxel.armor.misc.head.crown", + (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + ), + Armor(Head("Mitre")): VoxTrans( + "voxel.armor.misc.head.mitre", + (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + ), + Armor(Head("Mitre")): VoxTrans( + "voxel.armor.misc.head.mitre", + (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + ), + Armor(Head("Spikeguard")): VoxTrans( + "voxel.armor.misc.head.spikeguard", + (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + ), // Rings Armor(Ring("Scratched")): VoxTrans( "voxel.armor.misc.ring.scratched", diff --git a/assets/voxygen/voxel/armor/cultist/bandana.vox b/assets/voxygen/voxel/armor/cultist/bandana.vox new file mode 100644 index 0000000000000000000000000000000000000000..a22a7f09f7884d5e33cbb8d67572f507e23d5ca0 GIT binary patch literal 2784 zcmaizf2`GI9mhY<&+l{YxfmzlB3FScVRE5KfL$U`FTo8jaPAQ)(yK9RDlmo`V>e`s zO>a4gVQ6>goOz>mW3EX^#A^P*m?Lvz#?ZC4##n2ue_Ma_SKGVSIkwgh%Co)q{QSIL z-{*Ut@3z+ceaFqLxpsJj#x8Z4Z5TVDCF|Zj9P#dXcKLs zjh=KhBJ2b=wYe}eybLe5d9W&26|4$Y1*?KpU=>&eR)JMu6h%@4hI1|2vFX2u&GtP`Ne4CI6MxI!{hKcJRXn7*0F1zJ14G2KWJffE{7S4jUE>gJCcXhQV+!91I7;!Ei7<3=hM@ z@Gt`Pq4O@N;oCC4Eu+S$F=~t&M~$P#QRArb)c8&f>wF)^_hGCX>&Cic-F4PEH|>2J zKEIav&hKyU|5Sf@O#jTUyQWD~Q@U`WsrK)U;h+8AOdssgoQM0=cW8nVo|>;^@7$)@51AG|4g0uh&3Ti35&wZA zo47%CW~L6`*3ijM&(a5X-Xv|jMXSv;OnyWDNGA51PJP#O;iT!^HyIC_P7IlTexK>; z4$~;({o72(9$|jW)Z5#udcCfX-O$j>%x}4)SG$H5=)jgmI{xT#9sJTt9pAZ57oPjF z{xr2qOFq$~HOuE~)7^{o=(d&Gz0oxO71QKC)A{e14&J?4uig7qJv4B;_6!ba+u|NA z?H$n34Y%s-_N5xVcdd3mJfee7KByyycIdzpqguOglb+r2qOQFCz0R}TIHRGyzP`>` z25$ePKDWGILu;0)^@UYB_RX7h>iY}y+jkf1>U&G{D$cW0rb};`{_wu(z^+Ald3=Q~ zzOhb!{@qsXJu+QKU!SQrFVE3c&Hu0Suj@B$|Ey_jy>-ri`SdsR%h$iIbFb|DxAW^) zlhU<|A9?Vuk3h3Rg_me(~Y+UE_Xz)H)ww=R3P@`_|O|USp+QbKSastaXb2 JrGK5h_IKf(cxnIu literal 0 HcmV?d00001 diff --git a/assets/voxygen/voxel/armor/misc/head/crown.vox b/assets/voxygen/voxel/armor/misc/head/crown.vox new file mode 100644 index 0000000000000000000000000000000000000000..6152f3f265483eab714423379989125a21f9ecae GIT binary patch literal 8436 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 diff --git a/assets/voxygen/voxel/armor/misc/head/hood.vox b/assets/voxygen/voxel/armor/misc/head/hood.vox index da7100c783dc86dfab3faa69d770d4afb3539ea2..0e9a1f2886bb536347a1534a7e3f010cc662f04c 100644 GIT binary patch literal 11408 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 b`sZppeE0=#{P24IHNUyeyz+@>%ZC2}RdVsW diff --git a/assets/voxygen/voxel/armor/misc/head/hood_dark.vox b/assets/voxygen/voxel/armor/misc/head/hood_dark.vox new file mode 100644 index 0000000000000000000000000000000000000000..5405de241044a5b647207b6a2797146876cdf906 GIT binary patch literal 10120 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 literal 0 HcmV?d00001 diff --git a/assets/voxygen/voxel/armor/misc/head/mitre.vox b/assets/voxygen/voxel/armor/misc/head/mitre.vox new file mode 100644 index 0000000000000000000000000000000000000000..899ca2794b2b6eca09bd7a0d1ee708b4361a0aed GIT binary patch literal 8224 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 MUjA?A?~`5r6A_cOtpET3 literal 0 HcmV?d00001 diff --git a/assets/voxygen/voxel/armor/misc/head/spikeguard.vox b/assets/voxygen/voxel/armor/misc/head/spikeguard.vox new file mode 100644 index 0000000000000000000000000000000000000000..fedf0a8a0fc696803fda94c46f87509e79c5d246 GIT binary patch literal 1524 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 literal 9048 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 Date: Thu, 28 Oct 2021 04:30:41 +0000 Subject: [PATCH 7/9] Delete frame-trace_1635388024283.json --- frame-trace_1635388024283.json | 38 ---------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 frame-trace_1635388024283.json diff --git a/frame-trace_1635388024283.json b/frame-trace_1635388024283.json deleted file mode 100644 index e451e99b7d..0000000000 --- a/frame-trace_1635388024283.json +++ /dev/null @@ -1,38 +0,0 @@ -{ -"traceEvents": [ -{ "pid":1, "tid":1, "ts":1635388024230823, "dur":5888.700485229492, "ph":"X", "name":"frame" }, -{ "pid":1, "tid":1, "ts":1635388024230850, "dur":1027.5840759277344, "ph":"X", "name":"shadow_pass" }, -{ "pid":1, "tid":1, "ts":1635388024230850, "dur":1015.4247283935547, "ph":"X", "name":"direcred_terrain_shadows" }, -{ "pid":1, "tid":1, "ts":1635388024231866.3, "dur":10.251998901367188, "ph":"X", "name":"direcred_figure_shadows" }, -{ "pid":1, "tid":1, "ts":1635388024231880.5, "dur":253.91578674316406, "ph":"X", "name":"point shadows" }, -{ "pid":1, "tid":1, "ts":1635388024231894.8, "dur":25.987625122070313, "ph":"X", "name":"point shadow face-0 pass" }, -{ "pid":1, "tid":1, "ts":1635388024231931.3, "dur":36.95487976074219, "ph":"X", "name":"point shadow face-1 pass" }, -{ "pid":1, "tid":1, "ts":1635388024231977.8, "dur":31.47125244140625, "ph":"X", "name":"point shadow face-2 pass" }, -{ "pid":1, "tid":1, "ts":1635388024232019, "dur":34.57069396972656, "ph":"X", "name":"point shadow face-3 pass" }, -{ "pid":1, "tid":1, "ts":1635388024232062.8, "dur":29.802322387695313, "ph":"X", "name":"point shadow face-4 pass" }, -{ "pid":1, "tid":1, "ts":1635388024232101.5, "dur":30.279159545898438, "ph":"X", "name":"point shadow face-5 pass" }, -{ "pid":1, "tid":1, "ts":1635388024232160.5, "dur":2982.616424560547, "ph":"X", "name":"first_pass" }, -{ "pid":1, "tid":1, "ts":1635388024232161.3, "dur":36.00120544433594, "ph":"X", "name":"figures" }, -{ "pid":1, "tid":1, "ts":1635388024232197.8, "dur":1394.7486877441406, "ph":"X", "name":"terrain" }, -{ "pid":1, "tid":1, "ts":1635388024233593.8, "dur":17.404556274414063, "ph":"X", "name":"figures" }, -{ "pid":1, "tid":1, "ts":1635388024233612.3, "dur":794.4107055664063, "ph":"X", "name":"lod_terrain" }, -{ "pid":1, "tid":1, "ts":1635388024234407.3, "dur":10.728836059570313, "ph":"X", "name":"skybox" }, -{ "pid":1, "tid":1, "ts":1635388024234419.8, "dur":689.9833679199219, "ph":"X", "name":"sprites" }, -{ "pid":1, "tid":1, "ts":1635388024235110, "dur":1.6689300537109375, "ph":"X", "name":"fluid" }, -{ "pid":1, "tid":1, "ts":1635388024235112.3, "dur":30.040740966796875, "ph":"X", "name":"particles" }, -{ "pid":1, "tid":1, "ts":1635388024235143, "dur":0, "ph":"X", "name":"debug" }, -{ "pid":1, "tid":1, "ts":1635388024235156.8, "dur":1069.5457458496094, "ph":"X", "name":"second_pass" }, -{ "pid":1, "tid":1, "ts":1635388024236229, "dur":281.5723419189453, "ph":"X", "name":"bloom" }, -{ "pid":1, "tid":1, "ts":1635388024236234, "dur":42.438507080078125, "ph":"X", "name":"downsample filtered 1" }, -{ "pid":1, "tid":1, "ts":1635388024236281.5, "dur":12.39776611328125, "ph":"X", "name":"downsample 2" }, -{ "pid":1, "tid":1, "ts":1635388024236298, "dur":5.0067901611328125, "ph":"X", "name":"downsample 3" }, -{ "pid":1, "tid":1, "ts":1635388024236307.3, "dur":2.86102294921875, "ph":"X", "name":"downsample 4" }, -{ "pid":1, "tid":1, "ts":1635388024236314.3, "dur":4.291534423828125, "ph":"X", "name":"upsample 1" }, -{ "pid":1, "tid":1, "ts":1635388024236322.8, "dur":10.251998901367188, "ph":"X", "name":"upsample 2" }, -{ "pid":1, "tid":1, "ts":1635388024236337, "dur":30.755996704101563, "ph":"X", "name":"upsample 3" }, -{ "pid":1, "tid":1, "ts":1635388024236379, "dur":129.46128845214844, "ph":"X", "name":"upsample 4" }, -{ "pid":1, "tid":1, "ts":1635388024236518.5, "dur":190.97328186035156, "ph":"X", "name":"third_pass" }, -{ "pid":1, "tid":1, "ts":1635388024236519, "dur":180.0060272216797, "ph":"X", "name":"postprocess" }, -{ "pid":1, "tid":1, "ts":1635388024236699.5, "dur":9.775161743164063, "ph":"X", "name":"ui" } -] -} From 19449efedd5eeb34cd4bf459466529f812b935d8 Mon Sep 17 00:00:00 2001 From: jshipsey Date: Sat, 30 Oct 2021 23:38:06 -0400 Subject: [PATCH 8/9] adjust models, last fixes --- assets/common/entity/spot/pirate.ron | 2 +- assets/common/loadout/village/villager.ron | 2 +- .../loot_tables/dungeon/tier-4/miniboss.ron | 2 +- .../loot_tables/dungeon/tier-5/chest.ron | 2 +- assets/voxygen/item_image_manifest.ron | 22 +-- .../voxygen/voxel/armor/cultist/bandana.vox | Bin 2784 -> 2792 bytes .../voxel/armor/misc/head/bandana/red.vox | Bin 2784 -> 2784 bytes .../voxel/armor/misc/head/bandana/thief.vox | Bin 2784 -> 2784 bytes .../voxygen/voxel/armor/misc/head/crown.vox | Bin 8436 -> 8600 bytes .../voxygen/voxel/armor/misc/head/helmet.vox | Bin 12080 -> 14776 bytes assets/voxygen/voxel/armor/misc/head/hood.vox | Bin 11408 -> 14512 bytes .../voxel/armor/misc/head/hood_dark.vox | Bin 10120 -> 10120 bytes .../voxygen/voxel/armor/misc/head/mitre.vox | Bin 8224 -> 7984 bytes .../voxel/armor/misc/head/spikeguard.vox | Bin 1524 -> 1536 bytes .../voxygen/voxel/armor/misc/head/straw.vox | Bin 18344 -> 19124 bytes .../voxel/humanoid_armor_head_manifest.ron | 167 +++++++++--------- .../voxygen/voxel/humanoid_head_manifest.ron | 6 +- 17 files changed, 100 insertions(+), 103 deletions(-) diff --git a/assets/common/entity/spot/pirate.ron b/assets/common/entity/spot/pirate.ron index 5af961727c..9e449d2bdb 100644 --- a/assets/common/entity/spot/pirate.ron +++ b/assets/common/entity/spot/pirate.ron @@ -3,7 +3,7 @@ EntityConfig ( body: RandomWith("humanoid"), alignment: Alignment(Enemy), - loot: LootTable("common.loot_tables.creature.biped_large.saurok"), + loot: LootTable("common.loot_tables.spots.pirate"), hands: Paired(Item("common.items.weapons.sword_1h.iron-2")), diff --git a/assets/common/loadout/village/villager.ron b/assets/common/loadout/village/villager.ron index 4a72373387..2b460e776a 100644 --- a/assets/common/loadout/village/villager.ron +++ b/assets/common/loadout/village/villager.ron @@ -20,7 +20,7 @@ (1.0, Some(Item("common.items.armor.cloth_blue.foot"))), ]), Armor(Head): Choice([ - (1.0, Some(Item("common.items.armor.misc.head.straw"))), + (1.0, Some(Item("common.items.armor.misc.head.spikeguard"))), ]), }) diff --git a/assets/common/loot_tables/dungeon/tier-4/miniboss.ron b/assets/common/loot_tables/dungeon/tier-4/miniboss.ron index 7b3e66714b..e384bcaa07 100644 --- a/assets/common/loot_tables/dungeon/tier-4/miniboss.ron +++ b/assets/common/loot_tables/dungeon/tier-4/miniboss.ron @@ -8,5 +8,5 @@ // lantern (1.0, Item("common.items.lantern.blue_0")), // gear - (3.0, ItemQuantity("common.items.armor.misc.head.mitre")), + (3.0, Item("common.items.armor.misc.head.mitre")), ] diff --git a/assets/common/loot_tables/dungeon/tier-5/chest.ron b/assets/common/loot_tables/dungeon/tier-5/chest.ron index b3e2e6f89e..39bcf4ccf9 100644 --- a/assets/common/loot_tables/dungeon/tier-5/chest.ron +++ b/assets/common/loot_tables/dungeon/tier-5/chest.ron @@ -1,7 +1,7 @@ [ // Gear (1.0, LootTable("common.loot_tables.weapons.tier-4")), - (1.0, LootTable("common.loot_tables.armor.tier-4")), + (1.0, Item("common.loot_tables.armor.tier-4")), (0.3, ItemQuantity("common.items.armor.cultist.bandana")), // Currency (3.0, ItemQuantity("common.items.utility.coins", 200, 500)), diff --git a/assets/voxygen/item_image_manifest.ron b/assets/voxygen/item_image_manifest.ron index a44abbd4ed..117d8b69f0 100644 --- a/assets/voxygen/item_image_manifest.ron +++ b/assets/voxygen/item_image_manifest.ron @@ -1168,7 +1168,7 @@ ), Armor(Head("Cultist")): VoxTrans( "voxel.armor.cultist.bandana", - (0.0, 1.0, 0.0), (-120.0, 210.0,15.0), 1.1, + (0.0, -2.0, 0.0), (-120.0, 210.0,15.0), 1.9, ), // Villager Clothing Armor(Pants("WorkerBlue")): VoxTrans( @@ -2143,7 +2143,7 @@ ), Armor(Back("Backpack")): VoxTrans( "voxel.armor.misc.back.backpack", - (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + (0.0, 0.0, 0.0), (-75.0, 45.0,0.0), 0.9, ), Armor(Back("BackpackBlue")): VoxTrans( "voxel.armor.misc.back.backpack", @@ -2156,15 +2156,15 @@ ), Armor(Head("Pirate")): VoxTrans( "voxel.armor.pirate.hat", - (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + (1.0, 2.0, 0.0), (-120.0, 210.0,15.0), 1.0, ), Armor(Head("Thief")): VoxTrans( "voxel.armor.misc.head.bandana.thief", - (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + (0.0, -2.0, 0.0), (-120.0, 210.0,15.0), 1.9, ), Armor(Head("Red")): VoxTrans( "voxel.armor.misc.head.bandana.red", - (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + (0.0, -2.0, 0.0), (-120.0, 210.0,15.0), 1.9, ), Armor(Head("Straw")): VoxTrans( "voxel.armor.misc.head.straw", @@ -2172,23 +2172,19 @@ ), Armor(Head("Hood")): VoxTrans( "voxel.armor.misc.head.hood", - (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 1.3, ), Armor(Head("Crown")): VoxTrans( "voxel.armor.misc.head.crown", - (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + (0.0, 4.0, 0.0), (-120.0, 210.0,15.0), 1.3, ), Armor(Head("Mitre")): VoxTrans( "voxel.armor.misc.head.mitre", - (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, - ), - Armor(Head("Mitre")): VoxTrans( - "voxel.armor.misc.head.mitre", - (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + (0.0, 4.0, 0.0), (-120.0, 210.0,15.0), 1.3, ), Armor(Head("Spikeguard")): VoxTrans( "voxel.armor.misc.head.spikeguard", - (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 0.9, + (0.0, 0.0, 0.0), (-120.0, 210.0,15.0), 1.3, ), // Rings Armor(Ring("Scratched")): VoxTrans( diff --git a/assets/voxygen/voxel/armor/cultist/bandana.vox b/assets/voxygen/voxel/armor/cultist/bandana.vox index a22a7f09f7884d5e33cbb8d67572f507e23d5ca0..019f8f86bd5e7ab195185bf5950cfd7dc4b089ab 100644 GIT binary patch literal 2792 zcmai#Z){dq9mfxY-t+%n9)YrUqjbm|1v3O@5n)>qDl5=FV<>LjB-3mRB*1K%${Iql zRn3r~OdGZ=x{BK1VulQnX!e4T1?Q4w5=M-PA;cKtTjL8~nSA}+hsF2@U6XIlz2}_Y z=X1`v=Ybu~hr3T0V+Pj`4AGdY!I

!~Lm#;jjJuWZH)x86NmiQTH12;~B;j*))o1 z8kW}57K!9YX3$R?0_}{3W8BsA7`KdD#x4CtVosvX%*(ehmo|9XTN<7kPmQC-QRAp_ z)L3dPHI^Dnjb(0;s7th&+B}o`nlZBxs1G#a6McH*THpg9b5;~!n80gObgS(v@nYV zJJDuK+VIfEwnoB}Y9FqME8>c{0PhUx2Nnc4{g}1_Av5t!MRIICFeTli5xtY0{xtX~ob4%uy%q^K)GPh)I#hxnm zRoc(5|83@gLRurjO?Rtc+wRl+J^m9Q$#w&Ffk+{=pdtvKh3 zGq1Qm9#6m%@I=-eaYTF(Pr{RMBpj)Bz|XKV>t@zDU{B|n7 zZ^d`6>idt&b6y^w$LBe(fHU9>I0MdzFXD^1BhG{~;Y>JF?ZlVyWqcW5##iDi@sxN< zJQa7W;;vbI4xhv4@Hu=QkH_h8dVB$2z!&fZd=Xc~74b%V317mO@TJ;^E91(zGOiL= ziL1b6aamjzm&N69IqrhP=kPgvj=SJ-dAuI4#~E-2oB?OR8SzDY5qHFya3-7yXTq6r z=Guv`z*pca@L7BopT%eKS$r0s!{@j!4yVKEa60ab$LH&_jeaP^VlWcVa|~^xfuvwZ zJqe*`Mv{VSdQyfkXh{*`{wl;>E_nK4(-O~fCW-hMh7xfklMq8Q5+7qT5l1o!(bMl~ zBP|?Kw))*rjE*`>zioy$gB2+pEh${$J@A|c3);e` zW<^4ZLy`Ct4>PdL`~qz}WVCJ4=!>U~p1DlzwoY~JS)|2> zma6w$pKcqOt3}5;wRC!+R=jnW=09e%_*vK|jMiN+GM~Xe?qnuQnX_|s z+1V-Xl&Z3!m+0SiPp9_uFVgt7B|7osN*(&_YMt1e{=@^j)0irj6ct!|0Fi8IA8*qL(IC>C$T(^q1dn*T~V?I`-;Z zy?(hv*R=4z_P?RWXy+%4#x|PP{x6^TihlL#mv#Q--T$_K{d!8ee(3}E-`mxxfu)OE z`ybi3M*a7$)7Fg}wC#aSt^KcBwMs9np3?FaC$;v-bLyDr&|5z+y85VT-P4|)9*vES zY3l=LWhTZoZ)Bd%zj)&t9_Cwhb#>{5uTAQ{wcpkgN58IHch1+lKfP1uhdcEAf(80d ze?6~eJ+l2BjqH}5dGVAcet1sbJo~2B9Guk0pFX1do}1E^S1xG#nJen+>(d`tig84L u)66SI*ME6qeb>2PA2iOdu=P8;Y5T_X{~lwcuDNO5`(v%*e|f&iT=NgmhLP3) literal 2784 zcmaizf2`GI9mhY<&+l{YxfmzlB3FScVRE5KfL$U`FTo8jaPAQ)(yK9RDlmo`V>e`s zO>a4gVQ6>goOz>mW3EX^#A^P*m?Lvz#?ZC4##n2ue_Ma_SKGVSIkwgh%Co)q{QSIL z-{*Ut@3z+ceaFqLxpsJj#x8Z4Z5TVDCF|Zj9P#dXcKLs zjh=KhBJ2b=wYe}eybLe5d9W&26|4$Y1*?KpU=>&eR)JMu6h%@4hI1|2vFX2u&GtP`Ne4CI6MxI!{hKcJRXn7*0F1zJ14G2KWJffE{7S4jUE>gJCcXhQV+!91I7;!Ei7<3=hM@ z@Gt`Pq4O@N;oCC4Eu+S$F=~t&M~$P#QRArb)c8&f>wF)^_hGCX>&Cic-F4PEH|>2J zKEIav&hKyU|5Sf@O#jTUyQWD~Q@U`WsrK)U;h+8AOdssgoQM0=cW8nVo|>;^@7$)@51AG|4g0uh&3Ti35&wZA zo47%CW~L6`*3ijM&(a5X-Xv|jMXSv;OnyWDNGA51PJP#O;iT!^HyIC_P7IlTexK>; z4$~;({o72(9$|jW)Z5#udcCfX-O$j>%x}4)SG$H5=)jgmI{xT#9sJTt9pAZ57oPjF z{xr2qOFq$~HOuE~)7^{o=(d&Gz0oxO71QKC)A{e14&J?4uig7qJv4B;_6!ba+u|NA z?H$n34Y%s-_N5xVcdd3mJfee7KByyycIdzpqguOglb+r2qOQFCz0R}TIHRGyzP`>` z25$ePKDWGILu;0)^@UYB_RX7h>iY}y+jkf1>U&G{D$cW0rb};`{_wu(z^+Ald3=Q~ zzOhb!{@qsXJu+QKU!SQrFVE3c&Hu0Suj@B$|Ey_jy>-ri`SdsR%h$iIbFb|DxAW^) zlhU<|A9?Vuk3h3Rg_me(~Y+UE_Xz)H)ww=R3P@`_|O|USp+QbKSastaXb2 JrGK5h_IKf(cxnIu diff --git a/assets/voxygen/voxel/armor/misc/head/bandana/red.vox b/assets/voxygen/voxel/armor/misc/head/bandana/red.vox index 4a12f6a0eaa1e6633ebf724c7dfb154b0b6dde80..6247ab04de78a860d4217bf88139c6eadc8c96e0 100644 GIT binary patch literal 2784 zcmai#Z)}!V8OBfDIRDS{@(Pr-45*bkTFfSYEFx?xLS<#JtwV9^CYfe)G!1b!O=V3( zvehj^f--H`V&*EEN)|I@SV_%3P_p1$LMCC0F)@S~WBh9T;3t#I-}|x{H7HGfx$pZr z*L^?dJnwnZy$?LxaoiZQdu#vw1amPOv!{QsFE4+Ub1a|uF9 za~XU}=m|Zbhq;KBz(EBu`S}DfIij17k$wn}A@Ym_k>@7xXr;N%eCo(v6L|8{tR1zR zD=Cb6s1oOZoIL0DM9vE(`Y{hx3}X&*v||Bc%Iq(*_skjcoDG~GtS5r?nL3i^QA@NT z&($Di_6Gqn#LPJ$X68Z6oDX8=Jdkso4-hlwhnxd-17FWgTs>r0&&k#U#BA#cVp>p7 zkjVp-WaJ~ugD#_BX{Jr#2lzmTc|PH zHs<58P>Vz;?5#BS;fRjCSmr_^r>+`%lN!2>yFw{J8DN=YdjlY4S%gs zqt{rk;j85ZM94Q2A>TxV{1GDL79wOrH0+aiz%0uw%Ph+*%Ph+*%Ph+*%Ph+*%Ph+* z%Ph+*%Ph+*%Ph;RidY~+f(QXTIH>RxaLn`&AVYx)9MAI*AVPu+1*%3)Z-NK`JUFP> zM*+tkJp_o5AVYx)9Ov*5AVPu+1*&G=g4V)X3!WCd%!G##dfvS-+BSC}!9voD>&jOBj>LEac1Q`lc;P7||5FtTs)P;Kl5kle47w%D0T&Ewh$bORPoK zB5R@WE(-Sx-J&~mhwjlmdPQ%cx6qsMWIPE^!V~dCJfU#U&@7rmb7&r|MsG!LMQ@?E z(3|mPdLQD7x9I{y(V|$p1g*?hQGpJ z;V<|L{){K#iA_JhY17NMho{0*;VF1Bp49X-X7Np;SLg*jH+%S<$xAcmUNobrKeXd> zTg}ba{!jhm{a@&BU(>(%Z7kBvjLx6mt;XLQ{lEObEbMJn+v6STIJ8Dx)0<@a7RU@o znG+wCxzMVGyN#9}FuL`a(I-zE`C+3nX|#yC^=C#Kb|>vTuuy}~F4DKpF4y)6qk$=- zubwh`<`TUF?OHL^sZ|r*>Y44;vXRB=Jld}AnUz}m&h1+In9-_dnSI=7%Q++S1)e|d zWu_{bGmCZj_PS1fYKcC$Ynin3W7=$t`r&u*XP7!@bn5#?=T92F`zCd-(TP5zxrdCd zJY_UUeQ>YQu_w^SjJ9J*)NP-i;dGX*Bs|qv=tjbKfe%zcnmze~F2DUl@qb;nEUK%cqeE-E zI@NQ>C-m8MUFzGiRu6oBla77sR-O7$r+)u#x30XmMz8YB*%_mYZyEjReWUTA)p})e zy)L}5O@IBv9*rDXsH3kh)|;2wbVVy~c>YVLzo}op{tcb|!T$d^zkV|(}e0jnlew?Fnr@{G8e*+w{(ljXrqPH1BCw zSC_`d#ssjaiTExu}u-(lalg)Z|ZQ^_??sYtz9gefsIcy8F3l-S^r#?Kyo}y}iBq zBU>>Z^mpBK+34!8uI=wC_v=RMe1*;L?7H!-ng6}UN~7nxeIKqhoBu7pj@SGXCH1qj literal 2784 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 literal 2784 zcmai#e{5D)9mc=+{JQ6T-(q+L%320gWR4cI$qzwuWO&gN}p zO+&KPEklAbC2TQs6-_0J88WOyvp)z~a4sQ}u*H}dLX0u~Yy88%Oddb?#TYdxO`hC) z&Uv2abI!f@P4_+nui{KWO(q^YQW!*3+8=o zJowa#$a5cEYz35D+43kj)=+Ypac*T-ZxzT~qg6xB)tGBA*I>QYDp5k-*T)lbs6@fn zVbqy#v=VZ@!F+@H8uPVQU@oEpWfXiKk0|((YdIcZM&waK0Y*dtZfx(P4!c^X9|iUr zk>kE>k4wg7tAyoHW-kRwo^zq(IWH<*o^U9;+C+hpOA{Ui-@*Pm@O9wpXj#Gekr`KH z*1@>WeYM8(DXMWtD+Kn3JW418&VfRp4~4+_Pzam{rBEODC5?}(OHs<^d@>sdOY2M?nrl{yQDMInd!`Q);x+RSkve)=r8Cm=y$wh$2)d# z930Ox_pk!2SnVHHNl&Pr2fPHYq}##tJSPt~z>RPd+!9`fm*Hi2HIE`(mV z+yZU^w}9*TRvc`{x8mS?_yK-|pWv7DdG-+4Lu3z$J(O??_TkuvV;`P<1ojcxM`9l( z{0u)=e3%B)U>Zz=S->n{7BCB#j&IJv^>9P=jNvA@C3y$iSML#agq>iQbQ}BvegWUX z_wWP!2tQTNo8OqhF@9qP%U~I-0#*Ub!Sb*ItOzT?DquNS9#()AVWo-%$KVuj92^fP zz=>@R{d5|?N29l(*U{^%cSmn*KLh6Jb@Y0A1HG|*hCrvM)6rSb35$F|-jVm@Lp#qL zSx45B4ehKaTYV3_pLUKh8AryqGmP;&{J!mX_zV0MgL{0g?c*MgYkR8qTCG>Vhw9v1 z+w;|2HMZtMJ3h13!u9`Ce}DgH`s-KpFa4%IPnw<8g$uh?{k<{x^Z%>){hjK1yhlBU zR;zbrlWZW$M(eVZAC_J0)coD1#Rp8c9y5LXj46+r=1rRxFz)<`Y5neob{?3o;b#}< zo9C8l`;=+uxarHMP0w5=JJhXZBP+CWs!to{`n6#l1 zn6{iZ+2`O-X4&x%$<8j+;oF-!^@&CL;I1Xo&W~ubnFi5s(Vx)qgQnBpHC;GmdiPDn z{ic%xre8c{y84u9nDN2ArejYqKVjO|YufiI)5LbuE6fkA@7Bn`3QZ2J(upV6YU=YF zbz=WEU3l>e`t$6FR)4fpTh=buefO-=lY2L6bf;8^D>HN1%Q}^uBYY%=&k8QX^ z2l_W?Z(pZI)-Tb~9k*$2-<=wMaH~cizh6^NKdK{#p3>x3hjr}vQO%utL08`Xz8Z~& zZduS&Pfw55^sdl`J3gjQukF>qmNk0dvzv768@KB84_4@R@Am2Hd#m*-%(+?9rMFCf zeBU%VvP!Q^uhYdhw&^dw-=nc3^L6y~g?jUHm#%90P0xS%%-8j+*T1H7-`oEm=hv@i zq-z&%dj1W|x;5ChvVH!s?VB`k*B0&CzD+~-?r5KX-MV#pY2%FUTys*J4?m}_=`OwV zL(>P3TKhZg?d{dX#DsR;dsa3*sYPRpbnfNr@9D+LaUR=6V|IM#_Ro5eXE@^DP^vuhrH2tGFee3Mo+H~-^KKb-v-TmB*?tAUL z_MEw*{{DXbfvs3Z`kVX})3sk--`_R9ubZv&D{TMHZg_ob_J6OjQe|$K`{!Ca{BQR+ H@Y+8BzTSxy diff --git a/assets/voxygen/voxel/armor/misc/head/crown.vox b/assets/voxygen/voxel/armor/misc/head/crown.vox index 6152f3f265483eab714423379989125a21f9ecae..8b8977b996d422a522422d00f0e09662fa0fd778 100644 GIT binary patch literal 8600 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 literal 12080 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 Pf7ab~{@>zn&^G)JPp(1T diff --git a/assets/voxygen/voxel/armor/misc/head/hood.vox b/assets/voxygen/voxel/armor/misc/head/hood.vox index 0e9a1f2886bb536347a1534a7e3f010cc662f04c..e918f8e71ba0399af707d9c74e886bb7ab0f7372 100644 GIT binary patch literal 14512 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 BkOu$& literal 11408 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 k|MRGydQTp4)om02@g#)?+x&ts{!HVrdb-F6h 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 MUjA?A?~`5r6A_cOtpET3 diff --git a/assets/voxygen/voxel/armor/misc/head/spikeguard.vox b/assets/voxygen/voxel/armor/misc/head/spikeguard.vox index fedf0a8a0fc696803fda94c46f87509e79c5d246..de5a6993c472b738183fe0f268e26a8a538296c8 100644 GIT binary patch delta 511 zcmWlVJ5Iwu6h)us@7VKk8Y(2VK{}Kw1*Ag>i(m_33kZpZ71$L{Dhn1wLCFF*Q(WEo zygB#1`RiW#;ccpLX9(Jra3FR-3a6vP7fCXl2Q*EDrUi znb*#o?Mmj{%M$86XUR5mcFkNo3U#kWL0pI{2dszyPlcOnWQlge~PiUaNMG;1yW%1m3nsYQ~Y0TCJTf8c& zvBVQ$2`KUz0FQ#wldC`iBJ0AmnyDjqu~35y^{XPY?EoShQBP26W}oX?jV<*$@mqsA zuknJ%wVvVt0}uGHPfP{O0d<96z%w2SQ==Y5lz?X7g`h%EqFKY+t~L>vq>9kXPxGnt SX0v(wFxPs!-Cn-TZSxObz-A!; delta 499 zcmWlVJx&8L5QWG8yV>>6rlCUO7Kjp2r2skvT!B7qxB^0=r9|#B$|1N0hsXi=ws?B> z*#6#(-{NeTm5Z?d}1SzmMhOP+2^`yzY)>Es4CL;Jn5`diGXx5Ur#1h-Pne z8@+}NwORVGo_o_vFj}MOEuq0^308e{I(gByvL@*j`Dk@Rt-=n;YD{wI5lHk-D_-%z zu?Jo=fng0XeI$4RxB#e02(ntDXyi^Q0I4TJ2bvvulVQwNdg3h6T%@@`V_|J@#8+jj zEguLgKvAjys_0-H57-lsSvRJ2Or1H)jXTJ5f73+6WVE4>3782grl-n&wmQ;)EBw~t zb&EGVZ=L1^20q}+U12I<5om1u0$%ZWji5rap0^WCoX+NG-N*I! P=a0X1`~Cj(>u=0I+r4DW diff --git a/assets/voxygen/voxel/armor/misc/head/straw.vox b/assets/voxygen/voxel/armor/misc/head/straw.vox index 41dbf4887b6d8d45144eb79bb50c303889c0308b..5603ddd4114bd9bf5ac865ff077bcca5e540db4a 100644 GIT binary patch literal 19124 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 diff --git a/assets/voxygen/voxel/humanoid_armor_head_manifest.ron b/assets/voxygen/voxel/humanoid_armor_head_manifest.ron index 54075ac710..2f8ecce6a3 100644 --- a/assets/voxygen/voxel/humanoid_armor_head_manifest.ron +++ b/assets/voxygen/voxel/humanoid_armor_head_manifest.ron @@ -322,32 +322,33 @@ vox_spec: ("armor.misc.head.headband.elf_f", (3.0, 2.0, 5.0)), color: None ), + // (Human, Female, "Helmet"): ( - vox_spec: ("armor.misc.head.helmet", (-2.0, -3.0, -1.0)), + vox_spec: ("armor.misc.head.helmet", (-4.0, -5.0, -1.0)), color: None ), (Human, Male, "Helmet"): ( - vox_spec: ("armor.misc.head.helmet", (-2.0, -3.0, -1.0)), + vox_spec: ("armor.misc.head.helmet", (-4.0, -5.0, -1.0)), color: None ), (Elf, Female, "Helmet"): ( - vox_spec: ("armor.misc.head.helmet", (-2.0, -3.0, -1.0)), + vox_spec: ("armor.misc.head.helmet", (-3.0, -5.0, -1.0)), color: None ), (Elf, Male, "Helmet"): ( - vox_spec: ("armor.misc.head.helmet", (-2.0, -3.0, -1.0)), + vox_spec: ("armor.misc.head.helmet", (-3.0, -5.0, -1.0)), color: None ), (Orc, Female, "Helmet"): ( - vox_spec: ("armor.misc.head.helmet", (-1.0, -5.0, -1.0)), + vox_spec: ("armor.misc.head.helmet", (-3.0, -3.0, -1.0)), color: None ), (Orc, Male, "Helmet"): ( - vox_spec: ("armor.misc.head.helmet", (-1.0, -3.0, 2.0)), + vox_spec: ("armor.misc.head.helmet", (-3.0, -6.0, 2.0)), color: None ), (Dwarf, Female, "Helmet"): ( - vox_spec: ("armor.misc.head.helmet", (-3.0, -3.0, -1.0)), + vox_spec: ("armor.misc.head.helmet", (-5.0, -4.0, -1.0)), color: None ), (Dwarf, Male, "Helmet"): ( @@ -355,313 +356,313 @@ color: None ), (Undead, Female, "Helmet"): ( - vox_spec: ("armor.misc.head.helmet", (-4.0, -4.0, -1.0)), + vox_spec: ("armor.misc.head.helmet", (-6.0, -5.0, -1.0)), color: None ), (Undead, Male, "Helmet"): ( - vox_spec: ("armor.misc.head.helmet", (-4.0, -4.0, 1.0)), + vox_spec: ("armor.misc.head.helmet", (-6.0, -5.0, 1.0)), color: None ), (Danari, Female, "Helmet"): ( - vox_spec: ("armor.misc.head.helmet", (0.0, -4.0, 1.0)), + vox_spec: ("armor.misc.head.helmet", (-2.0, -5.0, 1.0)), color: None ), (Danari, Male, "Helmet"): ( - vox_spec: ("armor.misc.head.helmet", (-2.0, -3.0, -1.0)), + vox_spec: ("armor.misc.head.helmet", (-2.0, -5.0, -1.0)), color: None ), // (Danari, Male, "Red"): ( - vox_spec: ("armor.misc.head.bandana.red", (4.0, 6.0, -8.0)), + vox_spec: ("armor.misc.head.bandana.red", (-2.0, -2.0, -8.0)), color: None ), (Danari, Female, "Red"): ( - vox_spec: ("armor.misc.head.bandana.red", (4.0, 6.0, -8.0)), + vox_spec: ("armor.misc.head.bandana.red", (-2.0, -2.0, -8.0)), color: None ), (Dwarf, Male, "Red"): ( - vox_spec: ("armor.misc.head.bandana.red", (1.0, 7.0, -10.0)), + vox_spec: ("armor.misc.head.bandana.red", (-5.0, -1.0, -10.0)), color: None ), (Dwarf, Female, "Red"): ( - vox_spec: ("armor.misc.head.bandana.red", (1.0, 7.0, -10.0)), + vox_spec: ("armor.misc.head.bandana.red", (-5.0, -1.0, -10.0)), color: None ), (Human, Male, "Red"): ( - vox_spec: ("armor.misc.head.bandana.red", (2.0, 6.0, -10.0)), + vox_spec: ("armor.misc.head.bandana.red", (-4.0, -2.0, -10.0)), color: None ), (Human, Female, "Red"): ( - vox_spec: ("armor.misc.head.bandana.red", (2.0, 7.0, -10.0)), + vox_spec: ("armor.misc.head.bandana.red", (-4.0, -2.0, -10.0)), color: None ), (Undead, Male, "Red"): ( - vox_spec: ("armor.misc.head.bandana.red", (0.0, 6.0, -8.0)), + vox_spec: ("armor.misc.head.bandana.red", (-6.0, -2.0, -8.0)), color: None ), (Undead, Female, "Red"): ( - vox_spec: ("armor.misc.head.bandana.red", (0.0, 6.0, -9.0)), + vox_spec: ("armor.misc.head.bandana.red", (-6.0, -2.0, -9.0)), color: None ), (Elf, Male, "Red"): ( - vox_spec: ("armor.misc.head.bandana.red", (3.0, 6.0, -10.0)), + vox_spec: ("armor.misc.head.bandana.red", (-3.0, -2.0, -10.0)), color: None ), (Elf, Female, "Red"): ( - vox_spec: ("armor.misc.head.bandana.red", (3.0, 6.0, -10.0)), + vox_spec: ("armor.misc.head.bandana.red", (-3.0, -2.0, -10.0)), color: None ), (Orc, Male, "Red"): ( - vox_spec: ("armor.misc.head.bandana.red", (3.0, 8.0, -8.0)), + vox_spec: ("armor.misc.head.bandana.red", (-3.0, 0.0, -8.0)), color: None ), (Orc, Female, "Red"): ( - vox_spec: ("armor.misc.head.bandana.red", (3.0, 6.0, -10.0)), + vox_spec: ("armor.misc.head.bandana.red", (-3.0, -3.0, -10.0)), color: None ), // (Danari, Male, "Thief"): ( - vox_spec: ("armor.misc.head.bandana.thief", (4.0, 6.0, -8.0)), + vox_spec: ("armor.misc.head.bandana.thief", (-2.0, -2.0, -8.0)), color: None ), (Danari, Female, "Thief"): ( - vox_spec: ("armor.misc.head.bandana.thief", (4.0, 6.0, -8.0)), + vox_spec: ("armor.misc.head.bandana.thief", (-2.0, -2.0, -8.0)), color: None ), (Dwarf, Male, "Thief"): ( - vox_spec: ("armor.misc.head.bandana.thief", (1.0, 7.0, -10.0)), + vox_spec: ("armor.misc.head.bandana.thief", (-5.0, -1.0, -10.0)), color: None ), (Dwarf, Female, "Thief"): ( - vox_spec: ("armor.misc.head.bandana.thief", (1.0, 7.0, -10.0)), + vox_spec: ("armor.misc.head.bandana.thief", (-5.0, -1.0, -10.0)), color: None ), (Human, Male, "Thief"): ( - vox_spec: ("armor.misc.head.bandana.thief", (2.0, 6.0, -10.0)), + vox_spec: ("armor.misc.head.bandana.thief", (-4.0, -2.0, -10.0)), color: None ), (Human, Female, "Thief"): ( - vox_spec: ("armor.misc.head.bandana.thief", (2.0, 7.0, -10.0)), + vox_spec: ("armor.misc.head.bandana.thief", (-4.0, -2.0, -10.0)), color: None ), (Undead, Male, "Thief"): ( - vox_spec: ("armor.misc.head.bandana.thief", (0.0, 6.0, -8.0)), + vox_spec: ("armor.misc.head.bandana.thief", (-6.0, -2.0, -8.0)), color: None ), (Undead, Female, "Thief"): ( - vox_spec: ("armor.misc.head.bandana.thief", (0.0, 6.0, -9.0)), + vox_spec: ("armor.misc.head.bandana.thief", (-6.0, -2.0, -9.0)), color: None ), (Elf, Male, "Thief"): ( - vox_spec: ("armor.misc.head.bandana.thief", (3.0, 6.0, -10.0)), + vox_spec: ("armor.misc.head.bandana.thief", (-3.0, -2.0, -10.0)), color: None ), (Elf, Female, "Thief"): ( - vox_spec: ("armor.misc.head.bandana.thief", (3.0, 6.0, -10.0)), + vox_spec: ("armor.misc.head.bandana.thief", (-3.0, -2.0, -10.0)), color: None ), (Orc, Male, "Thief"): ( - vox_spec: ("armor.misc.head.bandana.thief", (3.0, 8.0, -8.0)), + vox_spec: ("armor.misc.head.bandana.thief", (-3.0, 0.0, -8.0)), color: None ), (Orc, Female, "Thief"): ( - vox_spec: ("armor.misc.head.bandana.thief", (3.0, 6.0, -10.0)), + vox_spec: ("armor.misc.head.bandana.thief", (-3.0, -3.0, -10.0)), color: None ), // (Danari, Male, "Cultist"): ( - vox_spec: ("armor.cultist.bandana", (4.0, 6.0, -8.0)), + vox_spec: ("armor.cultist.bandana", (-2.0, -2.0, -8.0)), color: None ), (Danari, Female, "Cultist"): ( - vox_spec: ("armor.cultist.bandana", (4.0, 6.0, -8.0)), + vox_spec: ("armor.cultist.bandana", (-2.0, -2.0, -8.0)), color: None ), (Dwarf, Male, "Cultist"): ( - vox_spec: ("armor.cultist.bandana", (1.0, 7.0, -10.0)), + vox_spec: ("armor.cultist.bandana", (-5.0, -1.0, -10.0)), color: None ), (Dwarf, Female, "Cultist"): ( - vox_spec: ("armor.cultist.bandana", (1.0, 7.0, -10.0)), + vox_spec: ("armor.cultist.bandana", (-5.0, -1.0, -10.0)), color: None ), (Human, Male, "Cultist"): ( - vox_spec: ("armor.cultist.bandana", (2.0, 6.0, -10.0)), + vox_spec: ("armor.cultist.bandana", (-4.0, -2.0, -11.0)), color: None ), (Human, Female, "Cultist"): ( - vox_spec: ("armor.cultist.bandana", (2.0, 7.0, -10.0)), + vox_spec: ("armor.cultist.bandana", (-4.0, -2.0, -10.0)), color: None ), (Undead, Male, "Cultist"): ( - vox_spec: ("armor.cultist.bandana", (0.0, 6.0, -8.0)), + vox_spec: ("armor.cultist.bandana", (-6.0, -2.0, -8.0)), color: None ), (Undead, Female, "Cultist"): ( - vox_spec: ("armor.cultist.bandana", (0.0, 6.0, -9.0)), + vox_spec: ("armor.cultist.bandana", (-6.0, -2.0, -9.0)), color: None ), (Elf, Male, "Cultist"): ( - vox_spec: ("armor.cultist.bandana", (3.0, 6.0, -10.0)), + vox_spec: ("armor.cultist.bandana", (-3.0, -2.0, -10.0)), color: None ), (Elf, Female, "Cultist"): ( - vox_spec: ("armor.cultist.bandana", (3.0, 6.0, -10.0)), + vox_spec: ("armor.cultist.bandana", (-3.0, -2.0, -10.0)), color: None ), (Orc, Male, "Cultist"): ( - vox_spec: ("armor.cultist.bandana", (3.0, 8.0, -8.0)), + vox_spec: ("armor.cultist.bandana", (-3.0, 0.0, -8.0)), color: None ), (Orc, Female, "Cultist"): ( - vox_spec: ("armor.cultist.bandana", (3.0, 6.0, -10.0)), + vox_spec: ("armor.cultist.bandana", (-3.0, -3.0, -10.0)), color: None ), // (Human, Male, "Hood"): ( - vox_spec: ("armor.misc.head.hood", (-4.0, -5.0, -2.0)), + vox_spec: ("armor.misc.head.hood", (-4.0, -6.0, -4.0)), color: None ), (Human, Female, "Hood"): ( - vox_spec: ("armor.misc.head.hood", (-4.0, -5.0, -2.0)), + vox_spec: ("armor.misc.head.hood", (-4.0, -6.0, -4.0)), color: None ), (Elf, Male, "Hood"): ( - vox_spec: ("armor.misc.head.hood", (-3.0, -5.0, -2.0)), + vox_spec: ("armor.misc.head.hood", (-3.0, -6.0, -4.0)), color: None ), (Elf, Female, "Hood"): ( - vox_spec: ("armor.misc.head.hood", (-3.0, -6.0, -2.0)), + vox_spec: ("armor.misc.head.hood", (-3.0, -7.0, -4.0)), color: None ), (Dwarf, Male, "Hood"): ( - vox_spec: ("armor.misc.head.hood", (-5.0, -4.0, -2.0)), + vox_spec: ("armor.misc.head.hood", (-5.0, -5.0, -4.0)), color: None ), (Dwarf, Female, "Hood"): ( - vox_spec: ("armor.misc.head.hood", (-5.0, -4.0, -2.0)), + vox_spec: ("armor.misc.head.hood", (-5.0, -5.0, -4.0)), color: None ), (Danari, Male, "Hood"): ( - vox_spec: ("armor.misc.head.hood", (-2.0, -5.0, 0.0)), + vox_spec: ("armor.misc.head.hood", (-2.0, -6.0, -2.0)), color: None ), (Danari, Female, "Hood"): ( - vox_spec: ("armor.misc.head.hood", (-2.0, -5.0, 0.0)), + vox_spec: ("armor.misc.head.hood", (-2.0, -6.0, -2.0)), color: None ), (Undead, Male, "Hood"): ( - vox_spec: ("armor.misc.head.hood", (-6.0, -5.0, 0.0)), + vox_spec: ("armor.misc.head.hood", (-6.0, -6.0, -2.0)), color: None ), (Undead, Female, "Hood"): ( - vox_spec: ("armor.misc.head.hood", (-6.0, -5.0, -1.0)), + vox_spec: ("armor.misc.head.hood", (-6.0, -6.0, -3.0)), color: None ), (Orc, Male, "Hood"): ( - vox_spec: ("armor.misc.head.hood", (-3.0, -3.0, 0.0)), + vox_spec: ("armor.misc.head.hood", (-3.0, -5.0, -2.0)), color: None ), (Orc, Female, "Hood"): ( - vox_spec: ("armor.misc.head.hood", (-3.0, -6.0, -2.0)), + vox_spec: ("armor.misc.head.hood", (-3.0, -7.0, -4.0)), color: None ), // (Human, Male, "DarkHood"): ( - vox_spec: ("armor.misc.head.hood_dark", (-4.0, -5.0, -1.0)), + vox_spec: ("armor.misc.head.hood_dark", (-4.0, -4.0, -1.0)), color: None ), (Human, Female, "DarkHood"): ( - vox_spec: ("armor.misc.head.hood_dark", (-4.0, -5.0, -1.0)), + vox_spec: ("armor.misc.head.hood_dark", (-4.0, -4.0, -1.0)), color: None ), (Elf, Male, "DarkHood"): ( - vox_spec: ("armor.misc.head.hood_dark", (-3.0, -5.0, -1.0)), + vox_spec: ("armor.misc.head.hood_dark", (-3.0, -4.0, -1.0)), color: None ), (Elf, Female, "DarkHood"): ( - vox_spec: ("armor.misc.head.hood_dark", (-3.0, -6.0, -1.0)), + vox_spec: ("armor.misc.head.hood_dark", (-3.0, -5.0, -1.0)), color: None ), (Dwarf, Male, "DarkHood"): ( - vox_spec: ("armor.misc.head.hood_dark", (-5.0, -4.0, -1.0)), + vox_spec: ("armor.misc.head.hood_dark", (-5.0, -3.0, -1.0)), color: None ), (Dwarf, Female, "DarkHood"): ( - vox_spec: ("armor.misc.head.hood_dark", (-5.0, -4.0, -1.0)), + vox_spec: ("armor.misc.head.hood_dark", (-5.0, -3.0, -1.0)), color: None ), (Danari, Male, "DarkHood"): ( - vox_spec: ("armor.misc.head.hood_dark", (-2.0, -5.0, 1.0)), + vox_spec: ("armor.misc.head.hood_dark", (-2.0, -4.0, 1.0)), color: None ), (Danari, Female, "DarkHood"): ( - vox_spec: ("armor.misc.head.hood_dark", (-2.0, -5.0, 1.0)), + vox_spec: ("armor.misc.head.hood_dark", (-2.0, -4.0, 1.0)), color: None ), (Undead, Male, "DarkHood"): ( - vox_spec: ("armor.misc.head.hood_dark", (-6.0, -5.0, 1.0)), + vox_spec: ("armor.misc.head.hood_dark", (-6.0, -4.0, 1.0)), color: None ), (Undead, Female, "DarkHood"): ( - vox_spec: ("armor.misc.head.hood_dark", (-6.0, -5.0, -0.0)), + vox_spec: ("armor.misc.head.hood_dark", (-6.0, -4.0, -0.0)), color: None ), (Orc, Male, "DarkHood"): ( - vox_spec: ("armor.misc.head.hood_dark", (-3.0, -3.0, 1.0)), + vox_spec: ("armor.misc.head.hood_dark", (-3.0, -2.0, 1.0)), color: None ), (Orc, Female, "DarkHood"): ( - vox_spec: ("armor.misc.head.hood_dark", (-3.0, -6.0, -1.0)), + vox_spec: ("armor.misc.head.hood_dark", (-3.0, -5.0, -1.0)), color: None ), // (Human, Male, "Spikeguard"): ( - vox_spec: ("armor.misc.head.spikeguard", (-4.0, -5.0, -2.0)), + vox_spec: ("armor.misc.head.spikeguard", (-4.0, -4.0, -2.0)), color: None ), (Human, Female, "Spikeguard"): ( - vox_spec: ("armor.misc.head.spikeguard", (-4.0, -5.0, -2.0)), + vox_spec: ("armor.misc.head.spikeguard", (-4.0, -4.0, -2.0)), color: None ), (Elf, Male, "Spikeguard"): ( - vox_spec: ("armor.misc.head.spikeguard", (-3.0, -5.0, -2.0)), + vox_spec: ("armor.misc.head.spikeguard", (-3.0, -4.0, -2.0)), color: None ), (Elf, Female, "Spikeguard"): ( - vox_spec: ("armor.misc.head.spikeguard", (-3.0, -6.0, -2.0)), + vox_spec: ("armor.misc.head.spikeguard", (-3.0, -5.0, -2.0)), color: None ), (Dwarf, Male, "Spikeguard"): ( - vox_spec: ("armor.misc.head.spikeguard", (-5.0, -4.0, -2.0)), + vox_spec: ("armor.misc.head.spikeguard", (-5.0, -3.0, -2.0)), color: None ), (Dwarf, Female, "Spikeguard"): ( - vox_spec: ("armor.misc.head.spikeguard", (-5.0, -4.0, -2.0)), + vox_spec: ("armor.misc.head.spikeguard", (-5.0, -3.0, -2.0)), color: None ), (Danari, Male, "Spikeguard"): ( - vox_spec: ("armor.misc.head.spikeguard", (-2.0, -5.0, -0.0)), + vox_spec: ("armor.misc.head.spikeguard", (-2.0, -4.0, -0.0)), color: None ), (Danari, Female, "Spikeguard"): ( - vox_spec: ("armor.misc.head.spikeguard", (-2.0, -5.0, -0.0)), + vox_spec: ("armor.misc.head.spikeguard", (-2.0, -4.0, -0.0)), color: None ), (Undead, Male, "Spikeguard"): ( - vox_spec: ("armor.misc.head.spikeguard", (-6.0, -5.0, -0.0)), + vox_spec: ("armor.misc.head.spikeguard", (-6.0, -4.0, -0.0)), color: None ), (Undead, Female, "Spikeguard"): ( - vox_spec: ("armor.misc.head.spikeguard", (-6.0, -5.0, -1.0)), + vox_spec: ("armor.misc.head.spikeguard", (-6.0, -4.0, -1.0)), color: None ), (Orc, Male, "Spikeguard"): ( - vox_spec: ("armor.misc.head.spikeguard", (-3.0, -3.0, -0.0)), + vox_spec: ("armor.misc.head.spikeguard", (-3.0, -2.0, -0.0)), color: None ), (Orc, Female, "Spikeguard"): ( - vox_spec: ("armor.misc.head.spikeguard", (-3.0, -6.0, -2.0)), + vox_spec: ("armor.misc.head.spikeguard", (-3.0, -5.0, -2.0)), color: None ), } diff --git a/assets/voxygen/voxel/humanoid_head_manifest.ron b/assets/voxygen/voxel/humanoid_head_manifest.ron index 05956dce02..47c00b6117 100644 --- a/assets/voxygen/voxel/humanoid_head_manifest.ron +++ b/assets/voxygen/voxel/humanoid_head_manifest.ron @@ -1,6 +1,6 @@ ({ (Human, Male): ( - offset: (-7.0, -4.0, -2.0), + offset: (-7.0, -2.5, -2.0), head: ("figure.head.human.male", (0, 2, 0)), eyes: [ Some(("figure.eyes.general.male_default-0", (3, 9, 2))), @@ -142,7 +142,7 @@ ], ), (Elf, Male): ( - offset: (-8.0, -4.0, -2.0), + offset: (-8.0, -2.5, -2.0), head: ("figure.head.elf.male", (0, 2, 0)), eyes: [ Some(("figure.eyes.general.male_default-0", (4, 9, 2))), @@ -290,7 +290,7 @@ ] ), (Undead, Male): ( - offset: (-5.0, -4.0, -2.0), + offset: (-5.0, -4.0, -1.5), head: ("figure.head.undead.male", (0, 2, 0)), eyes: [ Some(("figure.eyes.undead.male-0", (2, 8, 4))), From 508a50ef55577537780aee2a58e8dc380b91ed61 Mon Sep 17 00:00:00 2001 From: jshipsey Date: Sat, 30 Oct 2021 23:45:27 -0400 Subject: [PATCH 9/9] changelog --- CHANGELOG.md | 1 + assets/common/loot_tables/dungeon/tier-4/chest.ron | 2 +- assets/common/loot_tables/dungeon/tier-5/chest.ron | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85bbf6e562..c387001e17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Sneaking with weapons drawn - Stealth stat values on (some) armors - All new dismantling interface found at your nearest dismantling staion +- Wearable headgear, including hood, crown, bandanas ### Changed diff --git a/assets/common/loot_tables/dungeon/tier-4/chest.ron b/assets/common/loot_tables/dungeon/tier-4/chest.ron index 72cb52c657..06b6965324 100644 --- a/assets/common/loot_tables/dungeon/tier-4/chest.ron +++ b/assets/common/loot_tables/dungeon/tier-4/chest.ron @@ -2,7 +2,7 @@ // Gear (1.0, LootTable("common.loot_tables.weapons.tier-4")), (1.0, LootTable("common.loot_tables.armor.tier-4")), - (3.0, ItemQuantity("common.items.armor.misc.head.spikeguard")), + (3.0, Item("common.items.armor.misc.head.spikeguard")), // Currency (3.0, ItemQuantity("common.items.utility.coins", 200, 500)), // Materials diff --git a/assets/common/loot_tables/dungeon/tier-5/chest.ron b/assets/common/loot_tables/dungeon/tier-5/chest.ron index 39bcf4ccf9..457ba90609 100644 --- a/assets/common/loot_tables/dungeon/tier-5/chest.ron +++ b/assets/common/loot_tables/dungeon/tier-5/chest.ron @@ -1,8 +1,8 @@ [ // Gear (1.0, LootTable("common.loot_tables.weapons.tier-4")), - (1.0, Item("common.loot_tables.armor.tier-4")), - (0.3, ItemQuantity("common.items.armor.cultist.bandana")), + (1.0, LootTable("common.loot_tables.armor.tier-4")), + (0.3, Item("common.items.armor.cultist.bandana")), // Currency (3.0, ItemQuantity("common.items.utility.coins", 200, 500)), // Materials