diff --git a/source/games/blood/src/loadsave.cpp b/source/games/blood/src/loadsave.cpp index 862d4e88f83..2b4f227f076 100644 --- a/source/games/blood/src/loadsave.cpp +++ b/source/games/blood/src/loadsave.cpp @@ -403,10 +403,15 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, AISTATE*& w, AISTA if (w == cstate) { arc(keyname, i); - break; + return arc; } i++; } + if (w >= genPatrolStates && w < genPatrolStates + kPatrolStateSize) + { + i = int(w - genPatrolStates) + 1000; + arc(keyname, i); + } } else { @@ -415,6 +420,10 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, AISTATE*& w, AISTA { w = allAIStates[i]; } + else if (i >= 1000 && i < 1000 + kPatrolStateSize) + { + w = genPatrolStates + i; + } else { w = nullptr;