Mercs can now have multiple disabilities at the same time.

The new fSpecialFlagContractDisability tag for diseases adds a disability every time we are infected with the disease, it is used for PTSD.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8826 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2020-06-20 15:47:43 +00:00
parent 7899cc1f1e
commit d33bc9123c
18 changed files with 147 additions and 36 deletions
+8
View File
@@ -83,6 +83,7 @@ diseaseStartElementHandle( void *userData, const XML_Char *name, const XML_Char
strcmp( name, "fHideSymbol" ) == 0 ||
strcmp( name, "fDisgusting" ) == 0 ||
strcmp( name, "fSpecialFlagPTSDBuns" ) == 0 ||
strcmp( name, "fSpecialFlagContractDisability" ) == 0 ||
strcmp( name, "sEffStatAGI" ) == 0 ||
strcmp( name, "sEffStatDEX" ) == 0 ||
strcmp( name, "sEffStatSTR" ) == 0 ||
@@ -309,6 +310,12 @@ diseaseEndElementHandle( void *userData, const XML_Char *name )
if ( atol( pData->szCharData ) )
pData->curItem.usDiseaseProperties |= DISEASE_PROPERTY_PTSD_BUNS;
}
else if ( strcmp( name, "fSpecialFlagContractDisability" ) == 0 )
{
pData->curElement = ELEMENT;
if ( atol( pData->szCharData ) )
pData->curItem.usDiseaseProperties |= DISEASE_PROPERTY_ADD_DISABILITY;
}
else if ( strcmp( name, "sEffStatAGI" ) == 0 )
{
pData->curElement = ELEMENT;
@@ -488,6 +495,7 @@ BOOLEAN WriteDiseaseStats( )
FilePrintf( hFile, "\t\t<fHideSymbol>%d</fHideSymbol>\r\n", (Disease[cnt].usDiseaseProperties & DISEASE_PROPERTY_HIDESYMBOL) ? 1 : 0 );
FilePrintf( hFile, "\t\t<fDisgusting>%d</fDisgusting>\r\n", (Disease[cnt].usDiseaseProperties & DISEASE_PROPERTY_DISGUSTING) ? 1 : 0 );
FilePrintf( hFile, "\t\t<fSpecialFlagPTSDBuns>%d</fSpecialFlagPTSDBuns>\r\n", ( Disease[cnt].usDiseaseProperties & DISEASE_PROPERTY_PTSD_BUNS ) ? 1 : 0 );
FilePrintf( hFile, "\t\t<fSpecialFlagContractDisability>%d</fSpecialFlagContractDisability>\r\n", ( Disease[cnt].usDiseaseProperties & DISEASE_PROPERTY_ADD_DISABILITY ) ? 1 : 0 );
FilePrintf( hFile, "\t\t<sEffStatAGI>%d</sEffStatAGI>\r\n", Disease[cnt].sEffStat[INFST_AGI] );
FilePrintf( hFile, "\t\t<sEffStatDEX>%d</sEffStatDEX>\r\n", Disease[cnt].sEffStat[INFST_DEX] );
FilePrintf( hFile, "\t\t<sEffStatSTR>%d</sEffStatSTR>\r\n", Disease[cnt].sEffStat[INFST_STR] );