mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +02:00
New (originally very old) feature: merc relations are influenced by appearance/refinement/racism/nationality/sexism. See http://www.bears-pit.com/board/ubbthreads.php/topics/326828.html#Post326828 for more info.
Also includes classes for creation of dropdown menua, see Laptop/DropDown.h. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6510 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+133
-2
@@ -1095,12 +1095,143 @@ void HourlyMoraleUpdate( void )
|
||||
bOpinion = 0;
|
||||
}
|
||||
|
||||
// Flugente: evaluate appearance/refinement/hated nationalities
|
||||
|
||||
// some people loathe ugly people and like beautiful people. It's a mean world.
|
||||
// we also handle sexism here
|
||||
switch ( gMercProfiles[ pOtherSoldier->ubProfile ].bAppearance )
|
||||
{
|
||||
case APPEARANCE_UGLY:
|
||||
{
|
||||
if ( pProfile->bAppearanceCareLevel == CARELEVEL_SOME )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModAppearance * 2;
|
||||
else if ( pProfile->bAppearanceCareLevel == CARELEVEL_EXTREME )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModAppearance * 4;
|
||||
|
||||
// some people are sexists
|
||||
if ( pProfile->bSexist && gMercProfiles[ pOtherSoldier->ubProfile ].bSex != pProfile->bSex )
|
||||
{
|
||||
if ( pProfile->bSexist == SOMEWHAT_SEXIST )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModSexism * 2;
|
||||
else if ( pProfile->bSexist == VERY_SEXIST )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModSexism * 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case APPEARANCE_HOMELY:
|
||||
{
|
||||
if ( pProfile->bAppearanceCareLevel == CARELEVEL_SOME )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModAppearance;
|
||||
else if ( pProfile->bAppearanceCareLevel == CARELEVEL_EXTREME )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModAppearance * 2;
|
||||
|
||||
// some people are sexists
|
||||
if ( pProfile->bSexist && gMercProfiles[ pOtherSoldier->ubProfile ].bSex != pProfile->bSex )
|
||||
{
|
||||
if ( pProfile->bSexist == SOMEWHAT_SEXIST )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModSexism;
|
||||
else if ( pProfile->bSexist == VERY_SEXIST )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModSexism * 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case APPEARANCE_ATTRACTIVE:
|
||||
{
|
||||
if ( pProfile->bAppearanceCareLevel == CARELEVEL_SOME )
|
||||
bOpinion += gGameExternalOptions.sMoraleModAppearance;
|
||||
else if ( pProfile->bAppearanceCareLevel == CARELEVEL_EXTREME )
|
||||
bOpinion += gGameExternalOptions.sMoraleModAppearance * 2;
|
||||
|
||||
// some people are sexists
|
||||
if ( pProfile->bSexist && gMercProfiles[ pOtherSoldier->ubProfile ].bSex != pProfile->bSex )
|
||||
{
|
||||
if ( pProfile->bSexist == SOMEWHAT_SEXIST )
|
||||
bOpinion += gGameExternalOptions.sMoraleModSexism;
|
||||
else if ( pProfile->bSexist == VERY_SEXIST )
|
||||
bOpinion += gGameExternalOptions.sMoraleModSexism * 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case APPEARANCE_BABE:
|
||||
{
|
||||
if ( pProfile->bAppearanceCareLevel == CARELEVEL_SOME )
|
||||
bOpinion += gGameExternalOptions.sMoraleModAppearance * 2;
|
||||
else if ( pProfile->bAppearanceCareLevel == CARELEVEL_EXTREME )
|
||||
bOpinion += gGameExternalOptions.sMoraleModAppearance * 4;
|
||||
|
||||
// some people are sexists
|
||||
if ( pProfile->bSexist && gMercProfiles[ pOtherSoldier->ubProfile ].bSex != pProfile->bSex )
|
||||
{
|
||||
if ( pProfile->bSexist == SOMEWHAT_SEXIST )
|
||||
bOpinion += gGameExternalOptions.sMoraleModSexism * 2;
|
||||
else if ( pProfile->bSexist == VERY_SEXIST )
|
||||
bOpinion += gGameExternalOptions.sMoraleModSexism * 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// some people care about how distuingished other people are. Malus if on different ends of the spectrum, a small bonus if on the same and its really important to the person
|
||||
switch ( gMercProfiles[ pOtherSoldier->ubProfile ].bRefinement )
|
||||
{
|
||||
case REFINEMENT_SLOB:
|
||||
{
|
||||
if ( pProfile->bRefinement == REFINEMENT_SLOB )
|
||||
{
|
||||
if ( pProfile->bRefinementCareLevel == CARELEVEL_EXTREME )
|
||||
bOpinion += gGameExternalOptions.sMoraleModRefinement;
|
||||
}
|
||||
else if ( pProfile->bRefinement == REFINEMENT_SNOB )
|
||||
{
|
||||
if ( pProfile->bRefinementCareLevel == CARELEVEL_SOME )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModRefinement;
|
||||
else if ( pProfile->bRefinementCareLevel == CARELEVEL_EXTREME )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModRefinement * 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case REFINEMENT_SNOB:
|
||||
{
|
||||
if ( pProfile->bRefinement == REFINEMENT_SNOB )
|
||||
{
|
||||
if ( pProfile->bRefinementCareLevel == CARELEVEL_EXTREME )
|
||||
bOpinion += gGameExternalOptions.sMoraleModRefinement;
|
||||
}
|
||||
else if ( pProfile->bRefinement == REFINEMENT_SLOB )
|
||||
{
|
||||
if ( pProfile->bRefinementCareLevel == CARELEVEL_SOME )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModRefinement;
|
||||
else if ( pProfile->bRefinementCareLevel == CARELEVEL_EXTREME )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModRefinement * 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// some people hate other nationalities (do not mix up with racism, which uses bRace)
|
||||
if ( pProfile->bHatedNationality > -1 && gMercProfiles[ pOtherSoldier->ubProfile ].bNationality == pProfile->bHatedNationality )
|
||||
{
|
||||
if ( pProfile->bHatedNationalityCareLevel == CARELEVEL_SOME )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModHatedNationality;
|
||||
else if ( pProfile->bHatedNationalityCareLevel == CARELEVEL_EXTREME )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModHatedNationality * 2;
|
||||
}
|
||||
|
||||
// some people are racists
|
||||
if ( pProfile->bRacist && gMercProfiles[ pOtherSoldier->ubProfile ].bRace != pProfile->bRace )
|
||||
{
|
||||
if ( pProfile->bRacist == RACIST_SOME )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModRacism;
|
||||
else if ( pProfile->bRacist == RACIST_VERY )
|
||||
bOpinion -= gGameExternalOptions.sMoraleModRacism * 2;
|
||||
}
|
||||
|
||||
// Flugente: backgrounds
|
||||
if ( pSoldier->HasBackgroundFlag( BACKGROUND_XENOPHOBIC ) && pOtherSoldier->ubProfile != NO_PROFILE && gMercProfiles[pSoldier->ubProfile].usBackground != gMercProfiles[pOtherSoldier->ubProfile].usBackground )
|
||||
bOpinion -= 2;
|
||||
bOpinion -= gGameExternalOptions.sMoraleModXenophobicBackGround;
|
||||
|
||||
if (bOpinion == HATED_OPINION)
|
||||
{
|
||||
|
||||
bHated = WhichHated( pSoldier->ubProfile, pOtherSoldier->ubProfile );
|
||||
if ( bHated >= 2 )
|
||||
{
|
||||
|
||||
@@ -379,6 +379,17 @@ typedef struct
|
||||
UINT8 bLearnToHate;
|
||||
INT8 bLearnToHateTime;
|
||||
|
||||
INT8 bRace;
|
||||
INT8 bNationality;
|
||||
INT8 bAppearance;
|
||||
INT8 bAppearanceCareLevel;
|
||||
INT8 bRefinement;
|
||||
INT8 bRefinementCareLevel;
|
||||
INT8 bHatedNationality;
|
||||
INT8 bHatedNationalityCareLevel;
|
||||
INT8 bRacist;
|
||||
UINT8 bSexist;
|
||||
|
||||
INT16 sSalary;
|
||||
UINT32 uiWeeklySalary;
|
||||
UINT32 uiBiWeeklySalary;
|
||||
|
||||
+119
-4
@@ -158,6 +158,16 @@ profileStartElementHandle(void *userData, const XML_Char *name, const XML_Char *
|
||||
strcmp(name, "bHatedTime5") == 0 ||
|
||||
strcmp(name, "bLearnToHate") == 0 ||
|
||||
strcmp(name, "bLearnToHateTime") == 0 ||
|
||||
strcmp(name, "bRace") == 0 ||
|
||||
strcmp(name, "bNationality") == 0 ||
|
||||
strcmp(name, "bAppearance") == 0 ||
|
||||
strcmp(name, "bAppearanceCareLevel") == 0 ||
|
||||
strcmp(name, "bRefinement") == 0 ||
|
||||
strcmp(name, "bRefinementCareLevel") == 0 ||
|
||||
strcmp(name, "bHatedNationality") == 0 ||
|
||||
strcmp(name, "bHatedNationalityCareLevel") == 0 ||
|
||||
strcmp(name, "bRacist") == 0 ||
|
||||
strcmp(name, "bSexist") == 0 ||
|
||||
strcmp(name, "sSalary") == 0 ||
|
||||
strcmp(name, "uiWeeklySalary") == 0 ||
|
||||
strcmp(name, "uiBiWeeklySalary") == 0 ||
|
||||
@@ -318,6 +328,17 @@ profileEndElementHandle(void *userData, const XML_Char *name)
|
||||
tempProfiles[pData->curIndex].bLearnToHate = pData->curProfile.bLearnToHate;
|
||||
tempProfiles[pData->curIndex].bLearnToHateTime = pData->curProfile.bLearnToHateTime;
|
||||
|
||||
tempProfiles[pData->curIndex].bRace = pData->curProfile.bRace;
|
||||
tempProfiles[pData->curIndex].bNationality = pData->curProfile.bNationality;
|
||||
tempProfiles[pData->curIndex].bAppearance = pData->curProfile.bAppearance;
|
||||
tempProfiles[pData->curIndex].bAppearanceCareLevel = pData->curProfile.bAppearanceCareLevel;
|
||||
tempProfiles[pData->curIndex].bRefinement = pData->curProfile.bRefinement;
|
||||
tempProfiles[pData->curIndex].bRefinementCareLevel = pData->curProfile.bRefinementCareLevel;
|
||||
tempProfiles[pData->curIndex].bHatedNationality = pData->curProfile.bHatedNationality;
|
||||
tempProfiles[pData->curIndex].bHatedNationalityCareLevel = pData->curProfile.bHatedNationalityCareLevel;
|
||||
tempProfiles[pData->curIndex].bRacist = pData->curProfile.bRacist;
|
||||
tempProfiles[pData->curIndex].bSexist = pData->curProfile.bSexist;
|
||||
|
||||
tempProfiles[pData->curIndex].sSalary = pData->curProfile.sSalary;
|
||||
tempProfiles[pData->curIndex].uiWeeklySalary = pData->curProfile.uiWeeklySalary;
|
||||
tempProfiles[pData->curIndex].uiBiWeeklySalary = pData->curProfile.uiBiWeeklySalary;
|
||||
@@ -854,6 +875,87 @@ profileEndElementHandle(void *userData, const XML_Char *name)
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.bLearnToHateTime = (UINT32) strtoul(pData->szCharData, NULL, 0);
|
||||
}
|
||||
|
||||
else if(strcmp(name, "bRace") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.bRace = (INT8) strtoul(pData->szCharData, NULL, 0);
|
||||
|
||||
// no nonsense values
|
||||
pData->curProfile.bRace = max(0, min(NUM_RACES-1, pData->curProfile.bRace));
|
||||
}
|
||||
else if(strcmp(name, "bNationality") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.bNationality = (INT8) strtoul(pData->szCharData, NULL, 0);
|
||||
|
||||
// no nonsense values
|
||||
pData->curProfile.bNationality = max(0, min(NUM_NATIONALITIES-1, pData->curProfile.bNationality));
|
||||
}
|
||||
else if(strcmp(name, "bAppearance") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.bAppearance = (INT8) strtoul(pData->szCharData, NULL, 0);
|
||||
|
||||
// no nonsense values
|
||||
pData->curProfile.bAppearance = max(0, min(NUM_APPEARANCES-1, pData->curProfile.bAppearance));
|
||||
}
|
||||
else if(strcmp(name, "bAppearanceCareLevel") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.bAppearanceCareLevel = (INT8) strtoul(pData->szCharData, NULL, 0);
|
||||
|
||||
// no nonsense values
|
||||
pData->curProfile.bAppearanceCareLevel = max(0, min(NUM_CARELEVELS-1, pData->curProfile.bAppearanceCareLevel));
|
||||
}
|
||||
else if(strcmp(name, "bRefinement") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.bRefinement = (INT8) strtoul(pData->szCharData, NULL, 0);
|
||||
|
||||
// no nonsense values
|
||||
pData->curProfile.bRefinement = max(0, min(NUM_REFINEMENT-1, pData->curProfile.bRefinement));
|
||||
}
|
||||
else if(strcmp(name, "bRefinementCareLevel") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.bRefinementCareLevel = (INT8) strtoul(pData->szCharData, NULL, 0);
|
||||
|
||||
// no nonsense values
|
||||
pData->curProfile.bRefinementCareLevel = max(0, min(NUM_CARELEVELS-1, pData->curProfile.bRefinementCareLevel));
|
||||
}
|
||||
else if(strcmp(name, "bHatedNationality") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.bHatedNationality = (INT8) strtoul(pData->szCharData, NULL, 0);
|
||||
|
||||
// no nonsense values
|
||||
pData->curProfile.bHatedNationality = max(-1, min(NUM_NATIONALITIES-1, pData->curProfile.bHatedNationality));
|
||||
}
|
||||
else if(strcmp(name, "bHatedNationalityCareLevel") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.bHatedNationalityCareLevel = (INT8) strtoul(pData->szCharData, NULL, 0);
|
||||
|
||||
// no nonsense values
|
||||
pData->curProfile.bHatedNationalityCareLevel = max(0, min(NUM_CARELEVELS-1, pData->curProfile.bHatedNationalityCareLevel));
|
||||
}
|
||||
else if(strcmp(name, "bRacist") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.bRacist = (INT8) strtoul(pData->szCharData, NULL, 0);
|
||||
|
||||
// no nonsense values
|
||||
pData->curProfile.bRacist = max(0, min(NUM_RACIST-1, pData->curProfile.bRacist));
|
||||
}
|
||||
else if(strcmp(name, "bSexist") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.bSexist = (UINT8) strtoul(pData->szCharData, NULL, 0);
|
||||
|
||||
// no nonsense values
|
||||
pData->curProfile.bSexist = max(0, min(NUM_SEXIST-1, pData->curProfile.bSexist));
|
||||
}
|
||||
|
||||
else if(strcmp(name, "sSalary") == 0)
|
||||
{
|
||||
@@ -962,7 +1064,7 @@ profileEndElementHandle(void *userData, const XML_Char *name)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.bSectorZ = (INT8) atol(pData->szCharData);
|
||||
}
|
||||
}
|
||||
else if(strcmp(name, "ubCivilianGroup") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
@@ -972,8 +1074,10 @@ profileEndElementHandle(void *userData, const XML_Char *name)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.bTown = (INT8) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "bTownAttachment") == 0)
|
||||
}
|
||||
|
||||
// Flugente: need to break the 'else if' structure here. Otherwise the compiler will complain about fatal error C1061: compiler limit : blocks nested too deeply
|
||||
if(strcmp(name, "bTownAttachment") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.bTownAttachment = (INT8) atol(pData->szCharData);
|
||||
@@ -982,7 +1086,7 @@ profileEndElementHandle(void *userData, const XML_Char *name)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curProfile.usBackground = (UINT8) atol(pData->szCharData);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
pData->maxReadDepth--;
|
||||
@@ -1523,6 +1627,17 @@ BOOLEAN WriteMercProfiles()
|
||||
FilePrintf(hFile,"\t\t<bLearnToHate>%d</bLearnToHate>\r\n", gMercProfiles[ cnt ].bLearnToHate);
|
||||
FilePrintf(hFile,"\t\t<bLearnToHateTime>%d</bLearnToHateTime>\r\n", gMercProfiles[ cnt ].bLearnToHateTime);
|
||||
|
||||
FilePrintf(hFile,"\t\t<bRace>%d</bRace>\r\n", gMercProfiles[ cnt ].bRace);
|
||||
FilePrintf(hFile,"\t\t<bNationality>%d</bNationality>\r\n", gMercProfiles[ cnt ].bNationality);
|
||||
FilePrintf(hFile,"\t\t<bAppearance>%d</bAppearance>\r\n", gMercProfiles[ cnt ].bAppearance);
|
||||
FilePrintf(hFile,"\t\t<bAppearanceCareLevel>%d</bAppearanceCareLevel>\r\n", gMercProfiles[ cnt ].bAppearanceCareLevel);
|
||||
FilePrintf(hFile,"\t\t<bRefinement>%d</bRefinement>\r\n", gMercProfiles[ cnt ].bRefinement);
|
||||
FilePrintf(hFile,"\t\t<bRefinementCareLevel>%d</bRefinementCareLevel>\r\n", gMercProfiles[ cnt ].bRefinementCareLevel);
|
||||
FilePrintf(hFile,"\t\t<bHatedNationality>%d</bHatedNationality>\r\n", gMercProfiles[ cnt ].bHatedNationality);
|
||||
FilePrintf(hFile,"\t\t<bHatedNationalityCareLevel>%d</bHatedNationalityCareLevel>\r\n", gMercProfiles[ cnt ].bHatedNationalityCareLevel);
|
||||
FilePrintf(hFile,"\t\t<bRacist>%d</bRacist>\r\n", gMercProfiles[ cnt ].bRacist);
|
||||
FilePrintf(hFile,"\t\t<bSexist>%d</bSexist>\r\n", gMercProfiles[ cnt ].bSexist);
|
||||
|
||||
FilePrintf(hFile,"\t\t<sSalary>%d</sSalary>\r\n", gMercProfiles[ cnt ].sSalary);
|
||||
FilePrintf(hFile,"\t\t<uiWeeklySalary>%d</uiWeeklySalary>\r\n", gMercProfiles[ cnt ].uiWeeklySalary);
|
||||
FilePrintf(hFile,"\t\t<uiBiWeeklySalary>%d</uiBiWeeklySalary>\r\n", gMercProfiles[ cnt ].uiBiWeeklySalary);
|
||||
|
||||
@@ -197,13 +197,108 @@ typedef enum
|
||||
// SANDRO - appearances
|
||||
typedef enum
|
||||
{
|
||||
APPEARANCE_AVARAGE = 0,
|
||||
APPEARANCE_AVERAGE = 0,
|
||||
APPEARANCE_UGLY,
|
||||
APPEARANCE_HOMELY,
|
||||
APPEARANCE_ATTRACTIVE,
|
||||
APPEARANCE_BABE,
|
||||
NUM_APPEARANCES
|
||||
} Appearances;
|
||||
|
||||
// Flugente - care levels
|
||||
typedef enum
|
||||
{
|
||||
CARELEVEL_NONE = 0,
|
||||
CARELEVEL_SOME = 1,
|
||||
CARELEVEL_EXTREME = 2,
|
||||
|
||||
NUM_CARELEVELS
|
||||
} CareLevels;
|
||||
|
||||
// Flugente - refinements
|
||||
typedef enum
|
||||
{
|
||||
REFINEMENT_AVERAGE = 0,
|
||||
REFINEMENT_SLOB = 1,
|
||||
REFINEMENT_SNOB = 2,
|
||||
|
||||
NUM_REFINEMENT
|
||||
} Refinements;
|
||||
|
||||
// Flugente - nationalities
|
||||
typedef enum
|
||||
{
|
||||
// old Sirtech values
|
||||
AMERICAN = 0, // take that, Murica! Sirtech knew you have no value :-)
|
||||
ARAB = 1,
|
||||
AUSTRALIAN = 2,
|
||||
BRITISH = 3,
|
||||
CANADIAN = 4,
|
||||
CUBAN = 5,
|
||||
DANISH = 6,
|
||||
FRENCH = 7,
|
||||
RUSSIAN = 8,
|
||||
NIGERIAN = 9, // this was simply not defined in original data (I did not find any country), but we can't have any holes in here, so just invented soemthing
|
||||
SWISS = 10,
|
||||
JAMAICAN = 11,
|
||||
POLISH = 12,
|
||||
CHINESE = 13,
|
||||
IRISH = 14,
|
||||
SOUTH_AFRICAN = 15,
|
||||
HUNGARIAN = 16,
|
||||
SCOTTISH = 17,
|
||||
ARULCAN = 18,
|
||||
GERMAN = 19,
|
||||
AFRICAN = 20,
|
||||
ITALIAN = 21,
|
||||
DUTCH = 22,
|
||||
ROMANIAN = 23,
|
||||
METAVIRAN = 24,
|
||||
|
||||
// new values, because why not
|
||||
GREEK, // 25
|
||||
ESTONIAN,
|
||||
VENEZUELAN ,
|
||||
JAPANESE,
|
||||
TURKISH,
|
||||
INDIAN, // 30
|
||||
MEXICAN,
|
||||
NORWEGIAN,
|
||||
SPANISH,
|
||||
BRASILIAN,
|
||||
FINNISH, // 35
|
||||
IRANIAN,
|
||||
ISRAELI,
|
||||
BULGARIAN,
|
||||
SWEDISH,
|
||||
IRAQI, // 40
|
||||
SYRIAN,
|
||||
|
||||
NUM_NATIONALITIES
|
||||
} Nationalities;
|
||||
|
||||
// Flugente - races
|
||||
typedef enum
|
||||
{
|
||||
WHITE = 0,
|
||||
BLACK = 1,
|
||||
ASIAN = 2,
|
||||
ESKIMO = 3,
|
||||
HISPANIC = 4,
|
||||
|
||||
NUM_RACES
|
||||
} Races;
|
||||
|
||||
// Flugente - racist levels
|
||||
typedef enum
|
||||
{
|
||||
RACIST_NONE = 0,
|
||||
RACIST_SOME = 1,
|
||||
RACIST_VERY = 2,
|
||||
|
||||
NUM_RACIST
|
||||
} RacistLevels;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef enum
|
||||
@@ -250,7 +345,8 @@ typedef enum
|
||||
NOT_SEXIST = 0,
|
||||
SOMEWHAT_SEXIST,
|
||||
VERY_SEXIST,
|
||||
GENTLEMAN
|
||||
GENTLEMAN,
|
||||
NUM_SEXIST
|
||||
} SexistLevels;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user