From 4e151cd61d3cfbfe79dd786808c3cbc78e5d1893 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sun, 14 Jun 2026 06:35:34 +0100 Subject: [PATCH] Use typed durability for item instantiation --- .voidbot/state/aetheria.cc | Bin 68656 -> 69058 bytes Assets/Scripts/ServerShared/ItemManager.cs | 8 +++++++- docs/aetheria-perfect-machine-map.md | 7 ++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.voidbot/state/aetheria.cc b/.voidbot/state/aetheria.cc index e334b093a5fb85067a6a61bf736041da36f6f3b4..150ed9acc11a683b3ec1a2a5a382c1cd11505b19 100644 GIT binary patch delta 1401 zcmah}J!lj`6m~CXFbNiFEJTC>3nS*12DdlLaf9<3JW2nQ7a3vx3Cg?GrRYbBVu*%?(KWu-;R@ zYSF@c4q?wlfrKxpk|@`OkpnfLGS{Y}ml?cu4Y)(c?&;Bh?5;_IR4}N3xW{U+4is^C z#b-p36c9#5%vb?C%TPC{TlfrDP*qXxp@N`piP*0c@g%KtZ+B~tA_PfA83Xzbp_+b= zK89t~Vz}-lr2!)xY1Z-sOpp?}R62rIsD~BEp{-(|>by427#5k^0$B_gFcidR*oiHO z$>gqHLcZWPiPOaxN|HyGjkkZD%3i2N*V~{>z!lH&M_;#w}1L9Q=@>qjDU9 zY&0LJ02Vj__$1(m6)Na}vjebD=`q#+O_*KhHEj?GbB)=V)ZhrrDy6@NB5!n7hGtc~QV9_1or9JG+mD>ncZ?);c_H52?6g!B$@ zs8i`IMjmKNBn8jhdp}^d=ZYH_HOM;E&OFW;aw?rcH6cm+jrdGQf^ki149PIAG$IgD zOW&Qj`!S19xbpHnzloTa!^JH$b|@=Ajp_&7N%dAreQ)9xJw<95xkA%gdkD6C55gHGlgy@ zT74=*2ucupOq8nBhZTkvxPsSMom3_B>SnX6Z{uS{5H2*1SLim)Jepsu%alf#2FB}Y9Kvg`mY;)WskXzJ{#+{1+st>Rar4b@ z+fRFEW?C*}k(gV7AZ~>s7r6{6F|h+z;ut0KaN+K$$_?SIV+12K!4=ZO6`IoCz+h{a zNoYGwM67b^nYUudd|y6mc21vYzSwC?^s9W#=y!c)X#f1l_MMDPPc6OFP*=N0 zt~6o)oZW2vJ>HX^3_hA|doVko@$uw<8b2-T(?M;zeN@8kYHSrOk<}+gTlGeEjT7d# S-T&c_ZGG 0 ? (float)typedItem.Durability : item.Durability; + } public CraftedItemInstance CreateInstance(CraftedItemData item) { diff --git a/docs/aetheria-perfect-machine-map.md b/docs/aetheria-perfect-machine-map.md index e635a12ee..c52435254 100644 --- a/docs/aetheria-perfect-machine-map.md +++ b/docs/aetheria-perfect-machine-map.md @@ -230,7 +230,9 @@ legacy catalog cache, and legacy UI paths should be migration-only or deleted. max durability only, with current runtime durability as the generic denominator for incomplete typed rows. `ItemManager.Evaluate` also uses typed runtime item max durability and item names when evaluating unequipped - performance stats. + performance stats. `ItemManager.CreateInstance(CraftedItemData, float)` + initializes new equippable runtime durability from the typed runtime item row; + `EquippableItemData.Durability` is only an incomplete-row fallback. Inventory drag preview occupancy now projects typed item shape cells only into the local `Shape` grid, and final fit/equip acceptance shares the typed runtime catalog geometry path in `Entity.ItemFits` and `TryEquip`. @@ -759,6 +761,9 @@ First Aetheria surfaces to publish: - Done: move unequipped `ItemManager.Evaluate` durability/name inputs onto typed runtime item rows; legacy `EquippableItemData.Durability` no longer owns that stat-evaluation path. + - Done: move new equippable instance durability initialization onto typed + runtime item rows; legacy `EquippableItemData.Durability` remains only as + an incomplete-row fallback in the instantiation bridge. - Done: move `Ship` drag, combat/turret predicted shot height, and thruster torque geometry onto typed hull facets and typed shape masks. - Done: delete the console `give` command instead of preserving a debug