Nice timing. OP_NpcMoveUpdate is definitely 38E0. Packet changed as well, following code fixes it.
in spawnshell.cpp, function void SpawnShell::npcMoveUpdate(const uint8_t* data, size_t len, uint8_t dir):
Code:
// spawnId.
uint16_t spawnId = stream.readUInt(16);
// 13 Apr 2011 -- 2 bytes of null data added into packet.
uint16_t unk1 = stream.readUInt(16);
// 6 bit field specifier.
uint8_t fieldSpecifier = stream.readUInt(6);
Edit 1: OP_Death is 49B6, OP_DeleteSpawn is 0BD0. Still not sure what packet belongs to 2370, though it can't be many choices since it always seems to be 10 bytes long.