The old seeding block set WeenieClassId = inv.ContainerType (a 0/1/2 container-kind discriminator, not a weenie class id) and used MoveItem for the equipped block. Replace both loops with RecordMembership calls: inventory guids get a bare stub (WeenieClassId stays 0); equipped guids get the equip slot set directly. Weenie data arrives via CreateObject / ObjectTableWiring, not PlayerDescription. New test PlayerDescription_SeedsMembership_NotWeenieClassIdMisuse proves: (a) inv guid is registered, (b) WeenieClassId==0 not ContainerType, and (c) equipped guid CurrentlyEquippedLocation is set to MeleeWeapon. No existing tests pinned the old behavior; all 15 GameEventWiringTests pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Cryptography | ||
| Messages | ||
| Packets | ||
| AcDream.Core.Net.csproj | ||
| GameEventWiring.cs | ||
| NetClient.cs | ||
| NOTICE.md | ||
| ObjectTableWiring.cs | ||
| WorldSession.cs | ||