- Fix: picking up corpses restored their head

- Fix: zombies from picked up corpses had gibberish names

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6020 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2013-04-18 21:32:11 +00:00
parent aa5bed7850
commit 9cd897cf3c
+16 -6
View File
@@ -494,10 +494,7 @@ INT32 AddRottingCorpse( ROTTING_CORPSE_DEFINITION *pCorpseDef )
// Copy elements in
memcpy( pCorpse, pCorpseDef, sizeof( ROTTING_CORPSE_DEFINITION ) );
if ( pCorpseDef->fHeadTaken )
pCorpse->def.usFlags |= ROTTING_CORPSE_HEAD_TAKEN;
uiDirectionUseFlag = ANITILE_USE_DIRECTION_FOR_START_FRAME;
// If we are a soecial type...
@@ -511,8 +508,17 @@ INT32 AddRottingCorpse( ROTTING_CORPSE_DEFINITION *pCorpseDef )
case FMERC_FALLF:
uiDirectionUseFlag = ANITILE_USE_4DIRECTION_FOR_START_FRAME;
// Flugente: remember if there was still a head attached to the guy
case SMERC_JFK:
case MMERC_JFK:
case FMERC_JFK:
pCorpseDef->fHeadTaken = true;
}
if ( pCorpseDef->fHeadTaken )
pCorpse->def.usFlags |= ROTTING_CORPSE_HEAD_TAKEN;
if( !(gTacticalStatus.uiFlags & LOADING_SAVED_GAME ) )
{
@@ -2226,9 +2232,9 @@ BOOLEAN AddCorpseFromObject(OBJECTTYPE* pObj, INT32 sGridNo, INT8 bLevel )
Corpse.ubBodyType = REGFEMALE;
}
else
else //if ( (*pObj)[0]->data.sObjectFlag & CORPSE_M_SMALL )
{
if ( (*pObj)[0]->data.sObjectFlag & CORPSE_M_SMALL )
if ( (*pObj)[0]->data.sObjectFlag & CORPSE_NO_HEAD )
Corpse.ubType = SMERC_JFK;
else
Corpse.ubType = SMERC_BCK;
@@ -2317,6 +2323,10 @@ BOOLEAN AddCorpseFromObject(OBJECTTYPE* pObj, INT32 sGridNo, INT8 bLevel )
Corpse.ubProfile = NO_PROFILE;
Corpse.fHeadTaken = FALSE;
Corpse.ubAIWarningValue = 20;
// Flugente: use zombie name (it's the only way this will ever be relevant again anyway)
swprintf( Corpse.name, TacticalStr[ ZOMBIE_TEAM_MERC_NAME ] );
Corpse.name[9] = '\0';
INT32 iCorpseID = AddRottingCorpse( &Corpse );