From 81b759e74e609d7640af803c57517c2ed1f08cec Mon Sep 17 00:00:00 2001 From: Aaron van Geffen Date: Wed, 25 Sep 2024 18:03:42 +0200 Subject: [PATCH] Use different name table offset depending on staff type (#22813) --- src/openrct2/entity/Peep.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/openrct2/entity/Peep.cpp b/src/openrct2/entity/Peep.cpp index dfa1e02bb4..6c79310803 100644 --- a/src/openrct2/entity/Peep.cpp +++ b/src/openrct2/entity/Peep.cpp @@ -1608,7 +1608,14 @@ void Peep::FormatNameTo(Formatter& ft) const if ((!isStaff && showGuestNames) || (isStaff && showStaffNames)) { - auto realNameStringId = GetRealNameStringIDFromPeepID(PeepId); + auto nameId = PeepId; + if (isStaff) + { + // Prevent staff from getting the same names by offsetting the name table based on staff type. + nameId *= 256 * EnumValue(staff->AssignedStaffType) + 1; + } + + auto realNameStringId = GetRealNameStringIDFromPeepID(nameId); ft.Add(realNameStringId); } else if (isStaff)