mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
** Big Maps Projects code (incl. Multiplayer v1.5 ** ********************************************************** - Merged Big Maps Project code from BMP+MP trunk (Revision: 3340) o Complete SVN Revision history: https://81.169.133.124/source/ja2/branches/Wanne/JA2%201.13%20MP - Before THIS merge, I made a branch of the existing 1.13 source o SVN Branch: https://81.169.133.124/source/ja2/branches/JA2_rev.3336/src - Removed old VS 6.0 and VS 2003 project and solutions files, because compilation is broken long time ago - I will add VS 2010 projects and solution file in the next few days git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@3341 3b4a5df2-a311-0410-b5c6-a8a6f20db521
286 lines
5.0 KiB
C
286 lines
5.0 KiB
C
#ifndef __SOLDER_PROFILE_H
|
|
#define __SOLDER_PROFILE_H
|
|
|
|
#include "Soldier Control.h"
|
|
#include "Soldier Profile Type.h"
|
|
#include "Merc Hiring.h"
|
|
|
|
extern INT8 gbSkillTraitBonus[NUM_SKILLTRAITS];
|
|
extern UINT8 gubTerrorists[];
|
|
extern INT16 gsTerroristSector[][5][2];
|
|
extern BOOLEAN gfPotentialTeamChangeDuringDeath;
|
|
|
|
extern MERCPROFILESTRUCT gMercProfiles[ NUM_PROFILES ];
|
|
extern MERCPROFILEGEAR gMercProfileGear[ NUM_PROFILES ];
|
|
|
|
|
|
#define AIM_AND_MERC_MERCS 51 // A.I.M. is 0-39, M.E.R.C.s are 40-50
|
|
|
|
//use this to sort out the above define
|
|
BOOLEAN IsProfileIdAnAimOrMERCMerc( UINT8 ubProfileID );
|
|
//enums for the mercs
|
|
enum NPCIDs
|
|
{
|
|
BIFF = 40,
|
|
HAYWIRE,
|
|
GASKET,
|
|
RAZOR,
|
|
FLO,
|
|
GUMPY,
|
|
LARRY_NORMAL,
|
|
LARRY_DRUNK,
|
|
COUGAR,
|
|
NUMB,
|
|
BUBBA,
|
|
|
|
MIGUEL = 57,
|
|
CARLOS,
|
|
IRA,
|
|
DIMITRI,
|
|
|
|
DEVIN, // 61
|
|
ROBOT,
|
|
HAMOUS,
|
|
SLAY,
|
|
RPC65,
|
|
DYNAMO,
|
|
SHANK,
|
|
IGGY,
|
|
VINCE,
|
|
CONRAD,
|
|
|
|
RPC71, // 71
|
|
MADDOG,
|
|
DARREL,
|
|
PERKO,
|
|
QUEEN,
|
|
AUNTIE,
|
|
ENRICO, //GABBY, //ENRICO,
|
|
CARMEN,
|
|
JOE,
|
|
STEVE,
|
|
|
|
RAT, // 81
|
|
ANNIE,
|
|
CHRIS,
|
|
BOB,
|
|
BRENDA,
|
|
KINGPIN,
|
|
DARREN,
|
|
MARIA,
|
|
ANGEL,
|
|
JOEY,
|
|
|
|
TONY, // 91
|
|
FRANK,
|
|
SPIKE,
|
|
DAMON,
|
|
KYLE,
|
|
MICKY,
|
|
SKYRIDER,
|
|
PABLO,
|
|
SAL,
|
|
FATHER,
|
|
|
|
FATIMA, // 101
|
|
WARDEN,
|
|
GORDON,
|
|
GABBY, //ENRICO, //GABBY,
|
|
ERNEST,
|
|
FRED,
|
|
MADAME,
|
|
YANNI,
|
|
MARTHA,
|
|
TIFFANY,
|
|
|
|
T_REX, // 111
|
|
DRUGGIST, // ELGIN
|
|
JAKE,
|
|
PACOS,
|
|
GERARD,
|
|
SKIPPER,
|
|
HANS,
|
|
JOHN,
|
|
MARY,
|
|
GENERAL,
|
|
|
|
SERGEANT, // 121
|
|
ARMAND,
|
|
LORA,
|
|
FRANZ,
|
|
HOWARD,
|
|
SAM,
|
|
ELDIN,
|
|
ARNIE,
|
|
TINA,
|
|
FREDO,
|
|
|
|
WALTER, // 131
|
|
JENNY,
|
|
BILLY,
|
|
BREWSTER,
|
|
ELLIOT,
|
|
DEREK,
|
|
OLIVER,
|
|
WALDO,
|
|
DOREEN,
|
|
JIM,
|
|
|
|
JACK, // 141
|
|
OLAF,
|
|
RAY,
|
|
OLGA,
|
|
TYRONE,
|
|
MADLAB,
|
|
KEITH,
|
|
MATT,
|
|
MIKE,
|
|
DARYL,
|
|
|
|
HERVE, // 151
|
|
PETER,
|
|
ALBERTO,
|
|
CARLO,
|
|
MANNY,
|
|
OSWALD,
|
|
CALVIN,
|
|
CARL,
|
|
SPECK,
|
|
|
|
PROF_HUMMER,
|
|
|
|
PROF_ELDERODO, // 161
|
|
PROF_ICECREAM,
|
|
PROF_HELICOPTER,
|
|
NPC164,
|
|
GASTON,
|
|
STOGIE,
|
|
TEX,
|
|
BIGGENS,
|
|
NPC169,
|
|
} ;
|
|
|
|
BOOLEAN LoadMercProfiles(void);
|
|
|
|
// This function will overload the default for the face index ( which is the ubCharNum )
|
|
void SetProfileFaceData( UINT8 ubCharNum, UINT8 ubFaceIndex, UINT16 usEyesX, UINT16 usEyesY, UINT16 usMouthX, UINT16 usMouthY );
|
|
SOLDIERTYPE * FindSoldierByProfileID( UINT8 ubProfileID, BOOLEAN fPlayerMercsOnly );
|
|
|
|
BOOLEAN RecruitRPC( UINT8 ubCharNum );
|
|
|
|
BOOLEAN RecruitEPC( UINT8 ubCharNum );
|
|
BOOLEAN UnRecruitEPC( UINT8 ubCharNum );
|
|
|
|
INT8 WhichBuddy( UINT8 ubCharNum, UINT8 ubBuddy );
|
|
INT8 WhichHated( UINT8 ubCharNum, UINT8 ubHated );
|
|
|
|
SOLDIERTYPE *ChangeSoldierTeam( SOLDIERTYPE *pSoldier, UINT8 ubTeam );
|
|
|
|
BOOLEAN IsProfileATerrorist( UINT8 ubProfile );
|
|
BOOLEAN IsProfileAHeadMiner( UINT8 ubProfile );
|
|
|
|
void UpdateSoldierPointerDataIntoProfile( BOOLEAN fPlayerMercs );
|
|
|
|
|
|
// Returns true if a buddy of the merc is on team
|
|
BOOLEAN DoesMercHaveABuddyOnTheTeam( UINT8 ubMercID );
|
|
|
|
void StartSomeMercsOnAssignment( void );
|
|
|
|
void DecideOnAssassin( void );
|
|
|
|
extern BOOLEAN gubNumTerrorists;
|
|
|
|
void MakeRemainingTerroristsTougher( void );
|
|
void MakeRemainingAssassinsTougher( void );
|
|
SOLDIERTYPE * SwapLarrysProfiles( SOLDIERTYPE * pSoldier );
|
|
|
|
BOOLEAN DoesNPCOwnBuilding( SOLDIERTYPE *pSoldier, INT32 sGridNo );
|
|
|
|
typedef struct
|
|
{
|
|
CHAR16 zName[NAME_LENGTH];
|
|
CHAR16 zNickname[ NICKNAME_LENGTH ];
|
|
UINT8 ubFaceIndex;
|
|
UINT16 usEyesX;
|
|
UINT16 usEyesY;
|
|
UINT16 usMouthX;
|
|
UINT16 usMouthY;
|
|
UINT32 uiEyeDelay;
|
|
UINT32 uiMouthDelay;
|
|
UINT32 uiBlinkFrequency;
|
|
UINT32 uiExpressionFrequency;
|
|
|
|
PaletteRepID PANTS;
|
|
PaletteRepID VEST;
|
|
PaletteRepID SKIN;
|
|
PaletteRepID HAIR;
|
|
|
|
INT8 bSex;
|
|
UINT8 ubBodyType;
|
|
UINT32 uiBodyTypeSubFlags;
|
|
|
|
INT8 bAttitude;
|
|
INT8 bPersonalityTrait;
|
|
UINT8 ubNeedForSleep;
|
|
|
|
INT8 bReputationTolerance;
|
|
INT8 bDeathRate;
|
|
|
|
INT8 bLifeMax;
|
|
INT8 bLife;
|
|
INT8 bStrength;
|
|
INT8 bAgility;
|
|
INT8 bDexterity;
|
|
INT8 bWisdom;
|
|
INT8 bMarksmanship;
|
|
INT8 bExplosive;
|
|
INT8 bLeadership;
|
|
INT8 bMedical;
|
|
INT8 bMechanical;
|
|
|
|
INT8 bExpLevel;
|
|
|
|
INT8 bEvolution;
|
|
INT8 bSkillTrait;
|
|
INT8 bSkillTrait2;
|
|
|
|
INT8 bBuddy[5];
|
|
INT8 bLearnToLike;
|
|
INT8 bLearnToLikeTime;
|
|
|
|
INT8 bHated[5];
|
|
INT8 bHatedTime[5];
|
|
INT8 bLearnToHate;
|
|
INT8 bLearnToHateTime;
|
|
|
|
INT16 sSalary;
|
|
UINT32 uiWeeklySalary;
|
|
UINT32 uiBiWeeklySalary;
|
|
INT8 bMedicalDeposit;
|
|
UINT16 sMedicalDepositAmount;
|
|
UINT16 usOptionalGearCost;
|
|
|
|
INT8 bArmourAttractiveness;
|
|
INT8 bMainGunAttractiveness;
|
|
|
|
// This boolean DOES NOT EXIST in gMercProfiles - it is part of a flag set called ubMiscFlags. This code
|
|
// reads the boolean and applies the flag to that flagset, if true.
|
|
BOOLEAN fGoodGuy;
|
|
|
|
UINT16 usApproachFactor[4];
|
|
|
|
INT8 bMercOpinion[75];
|
|
|
|
} TEMPPROFILETYPE;
|
|
|
|
extern TEMPPROFILETYPE tempProfiles[NUM_PROFILES+1];
|
|
|
|
extern BOOLEAN WriteMercProfiles();
|
|
extern BOOLEAN WriteMercOpinions();
|
|
|
|
void OverwriteMercProfileWithXMLData( UINT32 uiLoop );
|
|
void OverwriteMercOpinionsWithXMLData( UINT32 uiLoop );
|
|
|
|
#endif
|