Code
1353void CvCity::setupSpaceshipGraphics()1354{1355 VALIDATE_OBJECT13561357 CvTeam& thisTeam = GET_TEAM(getTeam());13581359 ProjectTypes ApolloProgram = (ProjectTypes) GC.getSPACE_RACE_TRIGGER_PROJECT();13601361 int spaceshipState = 0;13621363 if(isCapital() && thisTeam.getProjectCount((ProjectTypes)ApolloProgram) == 1)1364 {1365 ProjectTypes capsuleID = (ProjectTypes) GC.getSPACESHIP_CAPSULE();1366 ProjectTypes boosterID = (ProjectTypes) GC.getSPACESHIP_BOOSTER();1367 ProjectTypes stasisID = (ProjectTypes) GC.getSPACESHIP_STASIS();1368 ProjectTypes engineID = (ProjectTypes) GC.getSPACESHIP_ENGINE();13691370 enum eSpaceshipState1371 {1372 eUnderConstruction = 0x0000,1373 eFrame = 0x0001,1374 eCapsule = 0x0002,1375 eStasis_Chamber = 0x0004,1376 eEngine = 0x0008,1377 eBooster1 = 0x0010,1378 eBooster2 = 0x0020,1379 eBooster3 = 0x0040,1380 eConstructed = 0x0080,1381 };13821383 auto_ptr<ICvPlot1> pDllPlot(new CvDllPlot(plot()));1384 gDLL->GameplaySpaceshipRemoved(pDllPlot.get());1385 gDLL->GameplaySpaceshipCreated(pDllPlot.get(), eUnderConstruction + eFrame);13861387 spaceshipState = eFrame;13881389 if((thisTeam.getProjectCount((ProjectTypes)capsuleID)) == 1)1390 {1391 spaceshipState += eCapsule;1392 }13931394 if((thisTeam.getProjectCount((ProjectTypes)stasisID)) == 1)1395 {1396 spaceshipState += eStasis_Chamber;1397 }13981399 if((thisTeam.getProjectCount((ProjectTypes)engineID)) == 1)1400 {1401 spaceshipState += eEngine;1402 }14031404 if((thisTeam.getProjectCount((ProjectTypes)boosterID)) >= 1)1405 {1406 spaceshipState += eBooster1;1407 }14081409 if((thisTeam.getProjectCount((ProjectTypes)boosterID)) >= 2)1410 {1411 spaceshipState += eBooster2;1412 }14131414 if((thisTeam.getProjectCount((ProjectTypes)boosterID)) == 3)1415 {1416 spaceshipState += eBooster3;1417 }14181419 gDLL->GameplaySpaceshipEdited(pDllPlot.get(), spaceshipState);1420 }1421}