From 746c686150ff9e94cd888c64aa0f2f4063a07d0e Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sun, 14 Jun 2026 11:01:49 +0100 Subject: [PATCH] Use typed item names in weapon diagnostics --- .voidbot/state/aetheria.cc | Bin 83925 -> 84450 bytes .../Weapons/GuidedProjectileManager.cs | 2 +- .../Scripts/UI/Menu/WeaponGroupAssignment.cs | 2 +- docs/aetheria-perfect-machine-map.md | 4 +++- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.voidbot/state/aetheria.cc b/.voidbot/state/aetheria.cc index 40c37be7d51e87a0cc001c3e35105a7ffa4a2f9c..fcbc6d4b8528a9eae1eeebdf4f823d6ffbcbafdf 100644 GIT binary patch delta 1403 zcmb7^PiP!f9LJrc(Zo=p*wBUq@~d8K*qx1OHr+H$K}<<$o$XntoH5RA*;%lfgX` zeRJ2_hxd3tZ!VrST(g*h&q%<9(#%u91w?`eRDz_$2c~I^_bQ1<3pk0Xf`$|^tl;?~ z(Zs#(MTEuoo#9nV62T#m!X!YHVgZjS*Fd-rfnh%NA(7%T^)!npP${Q{1dOLhfI+#~ zz=VmA8t7HSk_653+&wvUnBK09ZGuOnWO%>cf|DIvTaMdlC;x`mLJG^Y zns5(0LOG)-ueAmBbnB=6n;6MQMVM~oqIgD1D^P4SSw~5_l{HCZtiSO>)Df;45}`{8 zd?U#^E54=BL}S)c9!WG&PK*sIG};#%+{N~Z2Bx-yVqL>|VOST@^y9Jvd%I(8FdF&k z+b2h+K3xqd--QFt===(B+8syNCm%~Gy;YmI1ZYFwNFwGj4TfLAQF3UIC|W1p73IRB zK$UfYQ{9TxBW=!-)f=xH6y-qW+^D1C6iLv=6Vg|pTNaP5 zUb%Y*6D*|%=Ir88=R$k)!NA`1t<|yguQvzx6_hSnNMFer%|07(#+R2*G5q5}d844X zhu@xfU=;mt`QI(|}{4?9!r~6hX$eH4F*E%#BxEK&K6%&nf|6fVn zZ)nq!<oy{L~n(YrCz53h>?|y;W-z&)g zcA(!`8N(_vn|#SB(Z*?f8tj7Pg4cVd*ny%Gyt^7Wu9z^6E3v(Z=cq(f&xJ%%zXVHI zi(Si-B?u`?hz_s)GMYYm^5TAc#)_wHYHICEO#&ogseS10oBfBrx9NR+ddfbHg3C-^FF0ex6L@s4YM;RD$-J}mbbejSZXI{tFHCDw>Er$b+2sZ2 Zo$f*Q$Gmgkhi6YXcZP}xwdt9)e*uY^0Eqwq delta 1049 zcmZ`&&uK+k*Et%X&oep_zy_LcV@Sx#PNOK_kF&fAMg7yYJ79G@&4^h zQ?AeIHh1N7G23IbMb9&r7b?BAifA~$vewfRkMA+EQPc7*nf!FMeYyQ2Dt&6*cYKm7 zgn&urp+*T|;4qB}d@%_j-RP+R9blou1t`rl6uIwkzpTt#w#&Hp-q;rPH)oGc;1pOr zU^6K>J^%CBZ}24mP?Ev}7t73^0z4D)AYerop~TU3AeS>?IGUN?bfG_)Jwl_^PGG(R z`_oo*4r=sho?TfSH-xezq{n<4lm11jKvft)ogxh_O69)N$Q%$Q;3S=Cl2u1fh$Q#} zOdnz9ZwA19&=n+iXpBp?>56$lT?kVZy%n;#y-vf6|kv7!(dCOJu^)>qs5cOqMZaE74;_ zNnzr##sxQvk~`)2dfwP@VRmLf5M2!tl@=2J6}Utnqv%LQEe>=#lA-YT9}$y2N)rx* zIwU|lBx$N5LP|}d6WRzxtgy43Ot+(_k5-@jM@q_%Vk6EKQl=}+he__BpCqt!c4DHW zl$3dga;*qCj3qUzI#b8aCCJwKtzGYus2cp4CcL kXXnEHu86-DjG$ib>PpJf3#Z=4#$Myys#WQRTRCg&7i#2tWdHyG diff --git a/Assets/Scripts/Gameplay/Weapons/GuidedProjectileManager.cs b/Assets/Scripts/Gameplay/Weapons/GuidedProjectileManager.cs index 14b18b1f9..5817d17b2 100644 --- a/Assets/Scripts/Gameplay/Weapons/GuidedProjectileManager.cs +++ b/Assets/Scripts/Gameplay/Weapons/GuidedProjectileManager.cs @@ -60,6 +60,6 @@ public class GuidedProjectileManager : InstantWeaponEffectManager p.TopSpeed = item.Evaluate(guidance.MissileVelocity); p.TargetPosition = () => source.Entity.Position + length( (float3)source.LookAtPoint.position - source.Entity.Position) * source.Entity.LookDirection; } - else Debug.LogError($"Weapon {item.Data.Name} linked to {name} effect, but is not a Launcher!"); + else Debug.LogError($"Weapon {item.RuntimeItem?.Name ?? "Unknown item"} linked to {name} effect, but is not a Launcher!"); } } diff --git a/Assets/Scripts/UI/Menu/WeaponGroupAssignment.cs b/Assets/Scripts/UI/Menu/WeaponGroupAssignment.cs index 37de10f7b..ddd453d88 100644 --- a/Assets/Scripts/UI/Menu/WeaponGroupAssignment.cs +++ b/Assets/Scripts/UI/Menu/WeaponGroupAssignment.cs @@ -21,7 +21,7 @@ public class WeaponGroupAssignment : MonoBehaviour public void Inspect(EquippedItem item) { var weapon = item.GetBehavior(); - if (weapon == null) throw new ArgumentException($"Attempted to inspect weapon groups on item \"{item.Data.Name}\" but no weapon is present!"); + if (weapon == null) throw new ArgumentException($"Attempted to inspect weapon groups on item \"{item.RuntimeItem?.Name ?? "Unknown item"}\" but no weapon is present!"); var groupCount = ActionGameManager.Instance.Settings.GameplaySettings.WeaponGroupCount; for (int i = 0; i < groupCount; i++) { diff --git a/docs/aetheria-perfect-machine-map.md b/docs/aetheria-perfect-machine-map.md index 6443c9316..9114d9a8b 100644 --- a/docs/aetheria-perfect-machine-map.md +++ b/docs/aetheria-perfect-machine-map.md @@ -253,7 +253,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. `ItemManager` typed item instantiation primitives create + performance stats. Weapon group assignment and guided projectile diagnostics + report names from equipped typed runtime rows instead of `ItemData.Name`. + `ItemManager` typed item instantiation primitives create simple commodities, crafted items, and equippable items from runtime catalog rows; old DTO-based item creation is gone from blueprint cloning. `EquippedItem` also takes conductivity, max durability, thermal bounds, and