Files
source/Tactical/Inventory Choosing.h
Marco Antonio J. Costaandmajcosta 86ad401186 add newline at end of file where it's lacking
.editorconfig already enforces it but it's getting changed piecemeal in
every commit. just get it done with.

the script:
```

find . -type f -not -path "./.git/*" -not -path "./.vs/*" | while read -r file; do
	isFile=$(file -0 "$file" | cut -d $'\0' -f2)
	case "$isFile" in
		(*text*)
			echo "$file is text"
			if [[ $(tail -c 1 "$file" | wc -l) -ne 1 ]]; then
				echo "" >> "$file"
			fi
			;;
		(*)
			echo "file isn't text"
			;;
	esac
done
```
2024-12-14 19:05:48 -03:00

130 lines
4.2 KiB
C

#ifndef __INVENTORY_CHOOSING_H
#define __INVENTORY_CHOOSING_H
#include "types.h"
#include "Soldier Create.h"
#include "Strategic Status.h"
#define MORTAR_GRENADE_CLASS 100
#define RPG_GRENADE_CLASS 101
typedef struct ARMY_GUN_CHOICE_TYPE
{
UINT8 ubChoices; // how many valid choices there are in this category
INT16 bItemNo[50]; // room for up to 50 choices of gun in each category
UINT32 uiIndex;
} ARMY_GUN_CHOICE_TYPE;
enum
{
//administrator ratings (1-5)
BAD_ADMINISTRATOR_EQUIPMENT_RATING = 1,
POOR_ADMINISTRATOR_EQUIPMENT_RATING,
AVERAGE_ADMINISTRATOR_EQUIPMENT_RATING,
GOOD_ADMINISTRATOR_EQUIPMENT_RATING,
GREAT_ADMINISTRATOR_EQUIPMENT_RATING,
//army ratings (3-7)
BAD_ARMY_EQUIPMENT_RATING = AVERAGE_ADMINISTRATOR_EQUIPMENT_RATING,
POOR_ARMY_EQUIPMENT_RATING,
AVERAGE_ARMY_EQUIPMENT_RATING,
GOOD_ARMY_EQUIPMENT_RATING,
GREAT_ARMY_EQUIPMENT_RATING,
//elite ratings (5-9)
BAD_ELITE_EQUIPMENT_RATING = AVERAGE_ARMY_EQUIPMENT_RATING,
POOR_ELITE_EQUIPMENT_RATING,
AVERAGE_ELITE_EQUIPMENT_RATING,
GOOD_ELITE_EQUIPMENT_RATING,
GREAT_ELITE_EQUIPMENT_RATING,
// militia ratings (1-5)
BAD_MILITIA_EQUIPMENT_RATING = BAD_ADMINISTRATOR_EQUIPMENT_RATING,
POOR_MILITIA_EQUIPMENT_RATING,
AVERAGE_MILITIA_EQUIPMENT_RATING,
GOOD_MILITIA_EQUIPMENT_RATING,
GREAT_MILITIA_EQUIPMENT_RATING,
};
#define MIN_EQUIPMENT_CLASS 1
#define MAX_EQUIPMENT_CLASS 11
// Selects at the start of the game the set of guns the Queen's army will use during this game
void InitArmyGunTypes(void);
//Chooses equipment based on the equipment level (1-11) with best being 11. It allocates a range
//of equipment to choose from.
void GenerateRandomEquipment( SOLDIERCREATE_STRUCT *pp, INT8 bSoldierClass, INT8 bEquipmentRating);
void ChooseWeaponForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bWeaponClass, INT8 bAmmoClips, INT8 bAttachClass, BOOLEAN fAttachment );
void ChooseGrenadesForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bGrenades, INT8 bGrenadeClass, BOOLEAN fGrenadeLauncher );
void ChooseArmourForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bHelmetClass, INT8 bVestClass, INT8 bLeggingsClass );
void ChooseSpecialWeaponsForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bKnifeClass, BOOLEAN fGrenadeLauncher, BOOLEAN fLAW, BOOLEAN fMortar, BOOLEAN fRPG );
void ChooseFaceGearForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp );
void ChooseLocationSpecificGearForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp );
BOOLEAN PlaceObjectInSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, OBJECTTYPE *pObject );
void AssignCreatureInventory( SOLDIERTYPE *pSoldier );
void ReplaceExtendedGuns( SOLDIERCREATE_STRUCT *pp, INT8 bSoldierClass );
UINT16 SelectStandardArmyGun( UINT8 uiGunLevel, INT8 bSoldierClass );
INT8 GetWeaponClass( UINT16 usGun );
void MarkAllWeaponsOfSameGunClassAsDropped( UINT16 usWeapon );
void ResetMortarsOnTeamCount( void );
// Flugente: created separate gun choices for different soldier classes
extern ARMY_GUN_CHOICE_TYPE gExtendedArmyGunChoices[SOLDIER_GUN_CHOICE_SELECTIONS][ARMY_GUN_LEVELS];
// Headrock: Added LBE enumeration
enum
{
HELMET = 0,
VEST,
LEGS,
GRENADE,
KIT,
BOMB,
MISCITEMS,
GRENADELAUNCHER,
SINGLESHOTROCKETLAUNCHER,
ROCKETLAUNCHER,
MORTARLAUNCHER,
ARMOURATTACHMENT,
GASMASKS,
NVGLOW,
NVGHIGH,
HEARINGAIDS,
SCOPE,
ATTACHMENTS,
KNIVES,
ENEMYAMMOTYPES,
LBE,
MAX_ITEM_TYPES
};
// Flugente: created separate gun choices for different soldier classes
extern ARMY_GUN_CHOICE_TYPE gArmyItemChoices[SOLDIER_GUN_CHOICE_SELECTIONS][MAX_ITEM_TYPES];
////////////////// Flugente: militia equipment feature ///////////////////////////////////
// move one set of militia equipment between sectors
void MoveOneMilitiaEquipmentSet(INT16 sSourceX, INT16 sSourceY, INT16 sTargetX, INT16 sTargetY, INT8 bSoldierClass);
// move a number of militia equipment sets between sectors
void MoveMilitiaEquipment(INT16 sSourceX, INT16 sSourceY, INT16 sTargetX, INT16 sTargetY, UINT16 usElites, UINT16 usRegulars, UINT16 usGreens);
// take militia items from sector
void TakeMilitiaEquipmentfromSector( INT16 sMapX, INT16 sMapY, INT8 sMapZ, SOLDIERCREATE_STRUCT *pp, INT8 bSoldierClass );
#endif