123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- #ifndef LOGISTICSPILOT_H
- #define LOGISTICSPILOT_H
- //===========================================================================//
- //LogisticsPilot.h : Interface for the LogisticsPilot component. //
- //---------------------------------------------------------------------------//
- // Copyright (C) Microsoft Corporation. All rights reserved. //
- //===========================================================================//
- class FitIniFile;
- class MechWarrior;
- class ForceGroupIcon;
- /**************************************************************************************************
- CLASS DESCRIPTION
- LogisticsPilot:
- **************************************************************************************************/
- #include "EString.h"
- #include "EList.h"
- #include "warrior.h"
- #define MAX_MISSIONS 50
- enum Medals
- {
- CAMPAIGN_RIBBON1 = 0,
- CAMPAIGN_RIBBON2 = 1,
- CAMPAIGN_RIBBON3 = 2,
- CAMPAIGN_FULLRIBBON1 = 3,
- CAMPAIGN_FULLRIBBON2 = 4,
- CAMPAIGN_FULLRIBBON3 = 5,
- PURPLE_HEART = 6,
- VALOR = 7,
- UNCOMMON_VALOR = 8,
- MISSION_SPEC1 = 9,
- MISSION_SPEC2 = 10,
- MISSION_SPEC3 = 11,
- MISSION_SPEC4 = 12,
- LIAO_MEDAL = 13,
- DAVION_MEDAL = 14,
- STEINER_MEDAL = 15,
- MAX_MEDAL
- };
- class LogisticsPilot
- {
- public:
- int init( char* fileName );
- LogisticsPilot();
- ~LogisticsPilot();
- const EString& getName() const { return name; }
- const EString& getAudio() const { return audio; }
- const EString& getVideo() const { return video; }
- int getRank() const { return rank; }
- const EString& getIconFile() const { return iconFile; }
- float getGunnery() const { return gunnery; }
- float getPiloting() const { return piloting; }
- int getMechKills() const { return mechKills; }
- int getVehicleKills() const { return vehicleKills; }
- int getInfantryKills() const { return infantryKills; }
- int getID() const { return id; }
- int getFlavorTextID() const { return flavorTextID; }
- int getNumberMissions() const;
- bool getMissionPlayed (long missionNum)
- {
- if ((missionNum >= 0) && (missionNum < MAX_MISSIONS))
- return (missionsPlayed[missionNum] == 1);
- return false;
- }
- bool isUsed() const{ return bIsUsed; }
- void setUsed( bool bUsed ){ bIsUsed = bUsed; }
- int getNewGunnery() const { return newGunnery; }
- int getNewPiloting() const { return newPiloting; }
-
- void setDead();
- bool isAvailable(){ return (bAvailable&&!bDead); } // depends on purchasing file .... maybe should put dead checks and stuff
- void setAvailable( bool available ) { bAvailable = available; }
- bool isDead() const { return bDead; }
- bool justDied() const { return bJustDied; }
- void setJustDied( bool bdied){ bJustDied = bdied; }
- long getPhotoIndex() const { return photoIndex; }
- bool promotePilot();
- int turnAverageIntoRank( float avg);
- static const char* getSkillText( int skillID );
- const EString& getFileName(){ return fileName; }
- long save( FitIniFile& file, long count );
- long load( FitIniFile& file );
- long update( MechWarrior* pWarrior );
- int getSpecialtySkillCount() const;
- int getSpecialtySkills( const char** array, int& count );
- int getSpecialtySkills( int* array, int& count );
- bool *getSpecialtySkills() { return specialtySkills;}
- void setSpecialtySkill( int skill, bool set );
- const bool* getNewMedalArray() const{ return medalsLastMission;}
- const bool* getMedalArray() const{ return medals;}
- void clearIcons();
-
- unsigned long id;
- EList< ForceGroupIcon*, ForceGroupIcon* > killedIcons;
- private:
- EString name;
- EString audio;
- EString video;
- long rank;
- EString iconFile; // or file name?
- float gunnery;
- float piloting;
- long mechKills;
- long vehicleKills;
- long infantryKills;
- long missionsCompleted;
- unsigned char missionsPlayed[MAX_MISSIONS];
- long flavorTextID;
- bool bIsUsed;
- bool bDead;
- bool bAvailable;
- bool bJustDied;
- long photoIndex;
- float newPiloting;
- float newGunnery;
- bool specialtySkills[NUM_SPECIALTY_SKILLS];
- static char skillTexts[][255];
- EString fileName;
- bool medals[MAX_MEDAL];
- bool medalsLastMission[MAX_MEDAL];
- // last second hack
- friend class LogisticsData;
- };
- //*************************************************************************************************
- #endif // end of file ( LogisticsPilot.h )
|