diff --git a/sc2/src/sc2code/grpinfo.c b/sc2/src/sc2code/grpinfo.c index 35826b48e..7a9a5e060 100644 --- a/sc2/src/sc2code/grpinfo.c +++ b/sc2/src/sc2code/grpinfo.c @@ -651,20 +651,6 @@ GetGroupInfo (DWORD offset, BYTE which_group) #ifdef DEBUG_GROUPS log_add (log_Debug, "\n"); #endif /* DEBUG_GROUPS */ - if (RaceType == SHOFIXTI_SHIP - && which_group != GROUP_LIST - && !GET_GAME_STATE (SHOFIXTI_RECRUITED)) - { - BYTE captains_name_index; - - if (!GET_GAME_STATE (SHOFIXTI_KIA)) - captains_name_index = - NAME_OFFSET + NUM_CAPTAINS_NAMES; - else - captains_name_index = - NAME_OFFSET + NUM_CAPTAINS_NAMES + 1; - OwnStarShip (FragPtr, BAD_GUY, captains_name_index); - } UnlockStarShip (&GLOBAL (npc_built_ship_q), hStarShip); } else diff --git a/sc2/src/sc2code/planets/genshof.c b/sc2/src/sc2code/planets/genshof.c index dbdf7ead9..103ad1c0e 100644 --- a/sc2/src/sc2code/planets/genshof.c +++ b/sc2/src/sc2code/planets/genshof.c @@ -61,11 +61,22 @@ GenerateShofixti (BYTE control) if (GLOBAL (BattleGroupRef) == 0 || !GetGroupInfo (GLOBAL (BattleGroupRef), GROUP_INIT_IP)) { + HSTARSHIP hStarShip; + if (GLOBAL (BattleGroupRef) == 0) GLOBAL (BattleGroupRef) = ~0L; - CloneShipFragment (SHOFIXTI_SHIP, + hStarShip = CloneShipFragment (SHOFIXTI_SHIP, &GLOBAL (npc_built_ship_q), 1); + if (hStarShip) + { /* Set old Shofixti name; his brother if Tanaka died */ + SHIP_FRAGMENT *FragPtr = (SHIP_FRAGMENT *) LockStarShip ( + &GLOBAL (npc_built_ship_q), hStarShip); + OwnStarShip (FragPtr, BAD_GUY, NAME_OFFSET + + NUM_CAPTAINS_NAMES + + (GET_GAME_STATE (SHOFIXTI_KIA) & 1)); + UnlockStarShip (&GLOBAL (npc_built_ship_q), hStarShip); + } GLOBAL (BattleGroupRef) = PutGroupInfo ( GLOBAL (BattleGroupRef), 1);