diff --git a/Tactical/Item Types.h b/Tactical/Item Types.h index 78f1f5d5..44a8b23d 100644 --- a/Tactical/Item Types.h +++ b/Tactical/Item Types.h @@ -738,18 +738,18 @@ extern OBJECTTYPE gTempObject; // note that these should not be used to determine what kind of an attachment an item is, that is determined by attachmentclass and the AC_xxx flags above #define BLOOD_BAG 0x00000001 //1 // this item is a blood bag can can be used to boost surgery #define MANPAD 0x00000002 //2 // this item is a MAn-Portable Air-Defense System -#define BEARTRAP 0x00000004 //4 // a mechanical trap that does no explosion, but causes leg damage to whoever activates it +#define BEARTRAP 0x00000004 //4 // a mechanical trap that does no explosion, but causes leg damage to whoever activates it #define CAMERA 0x00000008 //8 #define WATER_DRUM 0x00000010 //16 // water drums allow to refill canteens in the sector they are in #define MEAT_BLOODCAT 0x00000020 //32 // retrieve this by gutting a bloodcat #define MEAT_COW 0x00000040 //64 // retrieve this by gutting a cow -#define BELT_FED 0x00000080 //128 // item can be fed externally +#define BELT_FED 0x00000080 //128 // item can be fed externally #define AMMO_BELT 0x00000100 //256 // this item can be used to feed externally #define AMMO_BELT_VEST 0x00000200 //512 // this is a vest that can contain AMMO_BELT items in its medium slots -#define CAMO_REMOVAL 0x00000400 //1024 // item can be used to remove camo -#define CLEANING_KIT 0x00000800 //2048 // weapon cleaning kit +#define CAMO_REMOVAL 0x00000400 //1024 // item can be used to remove camo +#define CLEANING_KIT 0x00000800 //2048 // weapon cleaning kit #define ATTENTION_ITEM 0x00001000 //4096 // this item is 'interesting' to the AI. Dumb soldiers may try to pick it up #define GAROTTE 0x00002000 //8192 // this item is a garotte @@ -758,18 +758,18 @@ extern OBJECTTYPE gTempObject; #define SKIN_BLOODCAT 0x00010000 //65536 // retrieve this by skinning (=decapitating) a bloodcat #define NO_METAL_DETECTION 0x00020000 //131072 // a planted bomb with this flag can NOT be detected via metal detector. Use sparingly! -#define JUMP_GRENADE 0x00040000 //262144 // add +25 heigth to explosion, used for bouncing grenades and jumping mines +#define JUMP_GRENADE 0x00040000 //262144 // add +25 heigth to explosion, used for bouncing grenades and jumping mines #define HANDCUFFS 0x00080000 //524288 // item can be used to capture soldiers #define TASER 0x00100000 //1048576 // item is a taser, melee hits with this will drain breath (if batteries are supplied) -#define SCUBA_BOTTLE 0x00200000 //2097152 // item is a scuba gear air bottle +#define SCUBA_BOTTLE 0x00200000 //2097152 // item is a scuba gear air bottle #define SCUBA_MASK 0x00400000 //4194304 // item is a scuba gear breathing mask #define SCUBA_FINS 0x00800000 //8388608 // this item speed up swimming, but slows walking and running -#define TRIPWIREROLL 0x01000000 //16777216 // this item is a tripwire roll +#define TRIPWIREROLL 0x01000000 //16777216 // this item is a tripwire roll #define RADIO_SET 0x02000000 //33554432 // item can be used to radio militia/squads in other sectors -#define SIGNAL_SHELL 0x04000000 //67108864 // this is a signal shell that precedes artillery barrages -#define SODA 0x08000000 //134217728 // item is a can of soda, sold in vending machines +#define SIGNAL_SHELL 0x04000000 //67108864 // this is a signal shell that precedes artillery barrages +#define SODA 0x08000000 //134217728 // item is a can of soda, sold in vending machines #define ROOF_COLLAPSE_ITEM 0x10000000 //268435456 // this item is required in the collapsing of roof tiles. It is used internally and should never be seen by the player #define DISEASEPROTECTION_1 0x20000000 //536870912 // this item protects us from getting diseases by human contact if kept in inventory @@ -787,40 +787,40 @@ extern OBJECTTYPE gTempObject; #define ITEM_sinks 0x0000004000000000 #define ITEM_showstatus 0x0000008000000000 -#define ITEM_hiddenaddon 0x0000010000000000 +#define ITEM_hiddenaddon 0x0000010000000000 #define ITEM_twohanded 0x0000020000000000 #define ITEM_notbuyable 0x0000040000000000 #define ITEM_attachment 0x0000080000000000 #define ITEM_hiddenattachment 0x0000100000000000 #define ITEM_biggunlist 0x0000200000000000 -#define ITEM_notineditor 0x0000400000000000 +#define ITEM_notineditor 0x0000400000000000 #define ITEM_defaultundroppable 0x0000800000000000 #define ITEM_unaerodynamic 0x0001000000000000 #define ITEM_electronic 0x0002000000000000 #define ITEM_cannon 0x0004000000000000 -#define ITEM_rocketrifle 0x0008000000000000 +#define ITEM_rocketrifle 0x0008000000000000 #define ITEM_fingerprintid 0x0010000000000000 #define ITEM_metaldetector 0x0020000000000000 -#define ITEM_gasmask 0x0040000000000000 +#define ITEM_gasmask 0x0040000000000000 #define ITEM_lockbomb 0x0080000000000000 #define ITEM_flare 0x0100000000000000 -#define ITEM_grenadelauncher 0x0200000000000000 +#define ITEM_grenadelauncher 0x0200000000000000 #define ITEM_mortar 0x0400000000000000 #define ITEM_duckbill 0x0800000000000000 #define ITEM_detonator 0x1000000000000000 -#define ITEM_remotedetonator 0x2000000000000000 -#define ITEM_hidemuzzleflash 0x4000000000000000 +#define ITEM_remotedetonator 0x2000000000000000 +#define ITEM_hidemuzzleflash 0x4000000000000000 #define ITEM_rocketlauncher 0x8000000000000000 // New UINT64 Item Flag => usItemFlag2 #define ITEM_singleshotrocketlauncher 0x00000001 #define ITEM_brassknuckles 0x00000002 -#define ITEM_crowbar 0x00000004 +#define ITEM_crowbar 0x00000004 #define ITEM_glgrenade 0x00000008 #define ITEM_flakjacket 0x00000010 @@ -829,17 +829,17 @@ extern OBJECTTYPE gTempObject; #define ITEM_needsbatteries 0x00000080 #define ITEM_xray 0x00000100 -#define ITEM_wirecutters 0x00000200 -#define ITEM_toolkit 0x00000400 -#define ITEM_firstaidkit 0x00000800 +#define ITEM_wirecutters 0x00000200 +#define ITEM_toolkit 0x00000400 +#define ITEM_firstaidkit 0x00000800 #define ITEM_medicalkit 0x00001000 -#define ITEM_canteen 0x00002000 -#define ITEM_jar 0x00004000 +#define ITEM_canteen 0x00002000 +#define ITEM_jar 0x00004000 #define ITEM_canandstring 0x00008000 -#define ITEM_marbles 0x00010000 -#define ITEM_walkman 0x00020000 +#define ITEM_marbles 0x00010000 +#define ITEM_walkman 0x00020000 #define ITEM_remotetrigger 0x00040000 #define ITEM_robotremotecontrol 0x00080000 @@ -849,7 +849,7 @@ extern OBJECTTYPE gTempObject; #define ITEM_antitankmine 0x00800000 #define ITEM_hardware 0x01000000 -#define ITEM_medical 0x02000000 +#define ITEM_medical 0x02000000 #define ITEM_gascan 0x04000000 #define ITEM_containsliquid 0x08000000 @@ -863,7 +863,7 @@ extern OBJECTTYPE gTempObject; #define ITEM_tripwireactivation 0x0000000400000000 // item (mine) can be activated by nearby tripwire #define ITEM_tripwire 0x0000000800000000 // item is tripwire -#define ITEM_directional 0x0000001000000000 // item is a directional mine/bomb (actual direction is set upon planting) +#define ITEM_directional 0x0000001000000000 // item is a directional mine/bomb (actual direction is set upon planting) #define ITEM_blockironsight 0x0000002000000000 // if a gun or any attachment have this property, the iron sight won't be usable (if there is at least one other usable sight) #define ITEM_fAllowClimbing 0x0000004000000000 // JMich: BackpackClimb does item allow climbing while wearing it #define ITEM_cigarette 0x0000008000000000 // Flugente: this item can be smoked diff --git a/Utils/XML_Items.cpp b/Utils/XML_Items.cpp index 412a96fa..0373b4aa 100644 --- a/Utils/XML_Items.cpp +++ b/Utils/XML_Items.cpp @@ -205,7 +205,7 @@ itemStartElementHandle(void *userData, const XML_Char *name, const XML_Char **at strcmp(name, "CamouflageKit") == 0 || strcmp(name, "LocksmithKit") == 0 || strcmp(name, "Mine") == 0 || - strcmp(name, "antitankmine" ) == 0 || + strcmp(name, "AntitankMine" ) == 0 || strcmp(name, "GasCan") == 0 || strcmp(name, "ContainsLiquid") == 0 || strcmp(name, "Rock") == 0 || @@ -248,7 +248,7 @@ itemStartElementHandle(void *userData, const XML_Char *name, const XML_Char **at strcmp(name, "RecoilModifierX") == 0 || strcmp(name, "RecoilModifierY") == 0 || strcmp(name, "PercentRecoilModifier") == 0 || - strcmp(name, "barrel") == 0 || + strcmp(name, "Barrel") == 0 || strcmp(name, "usOverheatingCooldownFactor") == 0 || strcmp(name, "overheatTemperatureModificator") == 0 || strcmp(name, "overheatCooldownModificator") == 0 || @@ -284,16 +284,16 @@ itemStartElementHandle(void *userData, const XML_Char *name, const XML_Char **at strcmp(name, "SleepModifier") == 0 || strcmp(name, "usSpotting") == 0 || strcmp(name, "sBackpackWeightModifier") == 0 || - strcmp(name, "fAllowClimbing") == 0 || + strcmp(name, "AllowClimbing") == 0 || strcmp(name, "cigarette" ) == 0 || strcmp(name, "usPortionSize" ) == 0 || - strcmp(name, "diseaseprotectionface" ) == 0 || - strcmp(name, "diseaseprotectionhand" ) == 0|| + strcmp(name, "DiseaseprotectionFace" ) == 0 || + strcmp(name, "DiseaseprotectionHand" ) == 0|| strcmp(name, "usRiotShieldStrength" ) == 0 || strcmp(name, "usRiotShieldGraphic" ) == 0 || - strcmp(name, "bloodbag" ) == 0 || - strcmp(name, "emptybloodbag" ) == 0 || - strcmp(name, "medicalsplint" ) == 0 || + strcmp(name, "Bloodbag" ) == 0 || + strcmp(name, "EmptyBloodbag" ) == 0 || + strcmp(name, "MedicalSplint" ) == 0 || strcmp(name, "sFireResistance" ) == 0 || strcmp(name, "usAdministrationModifier" ) == 0) || strcmp(name, "RobotDamageReduction") == 0 || @@ -1098,7 +1098,7 @@ itemEndElementHandle(void *userData, const XML_Char *name) if ((BOOLEAN)atol(pData->szCharData)) pData->curItem.usItemFlag2 |= ITEM_mine; } - else if ( strcmp( name, "antitankmine" ) == 0 ) + else if ( strcmp( name, "AntitankMine" ) == 0 ) { pData->curElement = ELEMENT; if ((BOOLEAN)atol(pData->szCharData)) @@ -1277,7 +1277,7 @@ itemEndElementHandle(void *userData, const XML_Char *name) } // Flugente - else if(strcmp(name, "barrel") == 0) + else if(strcmp(name, "Barrel") == 0) { pData->curElement = ELEMENT; if ((BOOLEAN)atol(pData->szCharData)) @@ -1342,11 +1342,6 @@ itemEndElementHandle(void *userData, const XML_Char *name) if ((BOOLEAN)atol(pData->szCharData)) pData->curItem.usItemFlag2 |= ITEM_blockironsight; } - else if(strcmp(name, "ItemFlag") == 0) - { - pData->curElement = ELEMENT; - pData->curItem.usItemFlag = (UINT64) strtoul(pData->szCharData, NULL, 0); - } else if(strcmp(name, "FoodType") == 0) { pData->curElement = ELEMENT; @@ -1448,7 +1443,7 @@ itemEndElementHandle(void *userData, const XML_Char *name) pData->curElement = ELEMENT; pData->curItem.sBackpackWeightModifier = (INT16)atol(pData->szCharData); } - else if (strcmp(name, "fAllowClimbing") == 0) + else if (strcmp(name, "AllowClimbing") == 0) { pData->curElement = ELEMENT; if ((BOOLEAN)atol(pData->szCharData)) @@ -1466,7 +1461,7 @@ itemEndElementHandle(void *userData, const XML_Char *name) pData->curItem.usPortionSize = (UINT8)atol( pData->szCharData ); } // Flugente: simple tags in the xml get translated into flags - else if ( strcmp( name, "diseaseprotectionface" ) == 0 ) + else if ( strcmp( name, "DiseaseprotectionFace" ) == 0 ) { pData->curElement = ELEMENT; BOOLEAN val = (BOOLEAN)atol( pData->szCharData ); @@ -1474,7 +1469,7 @@ itemEndElementHandle(void *userData, const XML_Char *name) if ( val ) pData->curItem.usItemFlag |= DISEASEPROTECTION_1; } - else if ( strcmp( name, "diseaseprotectionhand" ) == 0 ) + else if ( strcmp( name, "DiseaseprotectionHand" ) == 0 ) { pData->curElement = ELEMENT; BOOLEAN val = (BOOLEAN)atol( pData->szCharData ); @@ -1492,21 +1487,224 @@ itemEndElementHandle(void *userData, const XML_Char *name) pData->curElement = ELEMENT; pData->curItem.usRiotShieldGraphic = (UINT16)atol( pData->szCharData ); } - else if ( strcmp( name, "bloodbag" ) == 0 ) + else if ( strcmp( name, "Bloodbag" ) == 0 ) { pData->curElement = ELEMENT; if ( (BOOLEAN)atol( pData->szCharData ) ) pData->curItem.usItemFlag |= BLOOD_BAG; } - else if ( strcmp( name, "emptybloodbag" ) == 0 ) + else if ( strcmp( name, "Manpad" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= MANPAD; + } + else if ( strcmp( name, "Beartrap" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= BEARTRAP; + } + else if ( strcmp( name, "Camera" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= CAMERA; + } + else if ( strcmp( name, "Waterdrum" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= WATER_DRUM; + } + else if ( strcmp( name, "BloodcatMeat" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= MEAT_BLOODCAT; + } + else if ( strcmp( name, "CowMeat" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= MEAT_COW; + } + else if ( strcmp( name, "Beltfed" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= BELT_FED; + } + else if ( strcmp( name, "Ammobelt" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= AMMO_BELT; + } + else if ( strcmp( name, "AmmobeltVest" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= AMMO_BELT_VEST; + } + else if ( strcmp( name, "CamoRemoval" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= CAMO_REMOVAL; + } + else if ( strcmp( name, "Cleaningkit" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= CLEANING_KIT; + } + else if ( strcmp( name, "AttentionItem" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= ATTENTION_ITEM; + } + else if ( strcmp( name, "Garotte" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= GAROTTE; + } + else if ( strcmp( name, "Covert" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= COVERT; + } + else if ( strcmp( name, "Corpse" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= CORPSE; + } + else if ( strcmp( name, "BloodcatSkin" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= SKIN_BLOODCAT; + } + else if ( strcmp( name, "NoMetalDetection" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= NO_METAL_DETECTION; + } + else if ( strcmp( name, "JumpGrenade" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= JUMP_GRENADE; + } + else if ( strcmp( name, "Handcuffs" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= HANDCUFFS; + } + else if ( strcmp( name, "Taser" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= TASER; + } + else if ( strcmp( name, "ScubaBottle" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= SCUBA_BOTTLE; + } + else if ( strcmp( name, "ScubaMask" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= SCUBA_MASK; + } + else if ( strcmp( name, "ScubaFins" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= SCUBA_FINS; + } + else if ( strcmp( name, "TripwireRoll" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= TRIPWIREROLL; + } + else if ( strcmp( name, "Radioset" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= RADIO_SET; + } + else if ( strcmp( name, "SignalShell" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= SIGNAL_SHELL; + } + else if ( strcmp( name, "Soda" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= SODA; + } + else if ( strcmp( name, "RoofcollapseItem" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= ROOF_COLLAPSE_ITEM; + } + else if ( strcmp( name, "LBEexplosionproof" ) == 0 ) + { + pData->curElement = ELEMENT; + + if ( (BOOLEAN)atol( pData->szCharData ) ) + pData->curItem.usItemFlag |= LBE_EXPLOSIONPROOF; + } + else if ( strcmp( name, "EmptyBloodbag" ) == 0 ) { pData->curElement = ELEMENT; if ( (BOOLEAN)atol( pData->szCharData ) ) pData->curItem.usItemFlag |= EMPTY_BLOOD_BAG; } - else if ( strcmp( name, "medicalsplint" ) == 0 ) + else if ( strcmp( name, "MedicalSplint" ) == 0 ) { pData->curElement = ELEMENT; @@ -1971,153 +2169,88 @@ BOOLEAN WriteItemStats() FilePrintf(hFile,"\r\n"); FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usItemClass); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].nasAttachmentClass); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].nasLayoutClass); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubClassIndex); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubCursor); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bSoundType); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].nasAttachmentClass); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].nasLayoutClass); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubClassIndex); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubCursor); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bSoundType); FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubGraphicType); FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubGraphicNum); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubWeight); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubPerPocket); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ItemSize); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usPrice); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubCoolness); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bReliability); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bRepairEase); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubWeight); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubPerPocket); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ItemSize); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usPrice); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubCoolness); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bReliability); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bRepairEase); - if (ItemIsDamageable(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsRepairable(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsDamagedByWater(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsMetal(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemSinks(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (HasItemFlag2(cnt, ITEM_showstatus)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsHiddenAddon(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsTwoHanded(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsNotBuyable(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsAttachment(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsHiddenAttachment(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsOnlyInTonsOfGuns(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsOnlyInScifi(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsOnlyInNIV(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsNotInEditor(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsUndroppableByDefault(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsUnaerodynamic(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsElectronic(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemHasHiddenMuzzleFlash(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubAttachmentSystem ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubAttachmentSystem ); FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].inseparable ); - FilePrintf(hFile,"\t\t%d\r\n", StoreInventory[cnt][0] ); - FilePrintf(hFile,"\t\t%d\r\n", StoreInventory[cnt][1] ); - FilePrintf(hFile,"\t\t%d\r\n", WeaponROF[cnt]); + FilePrintf(hFile,"\t\t%d\r\n", StoreInventory[cnt][0] ); + FilePrintf(hFile,"\t\t%d\r\n", StoreInventory[cnt][1] ); + FilePrintf(hFile,"\t\t%d\r\n", WeaponROF[cnt]); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentnoisereduction ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bipod ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].rangebonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].rangebonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].tohitbonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].aimbonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].minrangeforaimbonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentnoisereduction ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bipod ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].rangebonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].rangebonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].tohitbonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].aimbonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].minrangeforaimbonus ); FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].magsizebonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].rateoffirebonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bulletspeedbonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].burstsizebonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bestlaserrange ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bursttohitbonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].autofiretohitbonus); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].APBonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].rateoffirebonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bulletspeedbonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].burstsizebonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bestlaserrange ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bursttohitbonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].autofiretohitbonus); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].APBonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentburstfireapreduction ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentautofireapreduction ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentreadytimeapreduction ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentreloadtimeapreduction ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentapreduction ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentstatusdrainreduction ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentburstfireapreduction ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentautofireapreduction ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentreadytimeapreduction ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentreloadtimeapreduction ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentapreduction ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentstatusdrainreduction ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].damagebonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].meleedamagebonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].discardedlauncheritem ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].damagebonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].meleedamagebonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].discardedlauncheritem ); - if (ItemIsMortar(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsRocketLauncher(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsSingleShotRocketLauncher(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsGrenadeLauncher(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsDuckbill(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsGLgrenade(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsMine(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsATMine(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsRocketRifle(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemHasFingerPrintID(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsCannon(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); for(UINT8 cnt2 = 0; cnt2 < MAX_DEFAULT_ATTACHMENTS; cnt2++){ if(Item[cnt].defaultattachments[cnt2] != 0){ - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].defaultattachments[cnt2] ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].defaultattachments[cnt2] ); } } - if (ItemIsBrassKnuckles(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsCrowbar(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsRock(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bloodieditem ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].camobonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].urbanCamobonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].desertCamobonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].snowCamobonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].camobonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].urbanCamobonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].desertCamobonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].snowCamobonus ); FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].stealthbonus ); - if (ItemIsFlakJacket(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsLeatherJacket(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsDetonator(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsRemoteDetonator(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsRemoteTrigger(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsLockBomb(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsFlare(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsRobotRemote(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsWalkman(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsThermalOptics(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsGasmask(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].hearingrangebonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].visionrangebonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].nightvisionrangebonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].dayvisionrangebonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].cavevisionrangebonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].brightlightvisionrangebonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].itemsizebonus ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percenttunnelvision ); - FilePrintf(hFile,"\t\t%3.2f\r\n", Item[cnt].alcohol ); - - if (ItemIsHardware(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsMedical(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsCamoKit(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsLocksmithKit(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsToolkit(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsFirstAidKit(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsMedicalKit(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsWirecutters(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsCanteen(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsGascan(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsMarbles(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsCanAndString(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsJar(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemHasXRay(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsBatteries(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemNeedsBatteries(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemContainsLiquid(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsMetalDetector(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].visionrangebonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].nightvisionrangebonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].dayvisionrangebonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].cavevisionrangebonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].brightlightvisionrangebonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].itemsizebonus ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percenttunnelvision ); + FilePrintf(hFile,"\t\t%3.2f\r\n", Item[cnt].alcohol ); // HEADROCK HAM 4: Print out new values FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].scopemagfactor ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].projectionfactor ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentaccuracymodifier ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].RecoilModifierX ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].RecoilModifierY ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].PercentRecoilModifier ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].projectionfactor ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].percentaccuracymodifier ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].RecoilModifierX ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].RecoilModifierY ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].PercentRecoilModifier ); // HEADROCK HAM 4: Print out stance-based values FilePrintf(hFile,"\t\t\r\n"); @@ -2130,7 +2263,7 @@ BOOLEAN WriteItemStats() FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].percentdropcompensationmodifier[0] ); FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].maxcounterforcemodifier[0] ); FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].counterforceaccuracymodifier[0] ); - FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].aimlevelsmodifier[0] ); + FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].aimlevelsmodifier[0] ); FilePrintf(hFile,"\t\t\r\n"); FilePrintf(hFile,"\t\t\r\n"); @@ -2143,7 +2276,7 @@ BOOLEAN WriteItemStats() FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].percentdropcompensationmodifier[1] ); FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].maxcounterforcemodifier[1] ); FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].counterforceaccuracymodifier[1] ); - FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].aimlevelsmodifier[1] ); + FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].aimlevelsmodifier[1] ); FilePrintf(hFile,"\t\t\r\n"); FilePrintf(hFile,"\t\t\r\n"); @@ -2156,58 +2289,42 @@ BOOLEAN WriteItemStats() FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].percentdropcompensationmodifier[2] ); FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].maxcounterforcemodifier[2] ); FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].counterforceaccuracymodifier[2] ); - FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].aimlevelsmodifier[2] ); + FilePrintf(hFile,"\t\t\t%d\r\n", Item[cnt].aimlevelsmodifier[2] ); FilePrintf(hFile,"\t\t\r\n"); // Flugente FTW 1.2 - if (ItemIsBarrel(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - FilePrintf(hFile,"\t\t%4.2f\r\n", Item[cnt].usOverheatingCooldownFactor ); - FilePrintf(hFile,"\t\t%4.2f\r\n", Item[cnt].overheatTemperatureModificator ); - FilePrintf(hFile,"\t\t%4.2f\r\n", Item[cnt].overheatCooldownModificator ); - FilePrintf(hFile,"\t\t%4.2f\r\n", Item[cnt].overheatJamThresholdModificator ); - FilePrintf(hFile,"\t\t%4.2f\r\n", Item[cnt].overheatDamageThresholdModificator ); + FilePrintf(hFile,"\t\t%4.2f\r\n", Item[cnt].usOverheatingCooldownFactor ); + FilePrintf(hFile,"\t\t%4.2f\r\n", Item[cnt].overheatTemperatureModificator ); + FilePrintf(hFile,"\t\t%4.2f\r\n", Item[cnt].overheatCooldownModificator ); + FilePrintf(hFile,"\t\t%4.2f\r\n", Item[cnt].overheatJamThresholdModificator ); + FilePrintf(hFile,"\t\t%4.2f\r\n", Item[cnt].overheatDamageThresholdModificator ); - FilePrintf(hFile,"\t\t%4.2f\r\n", Item[cnt].attachmentclass ); - - if (ItemHasTripwireActivation(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsTripwire(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsDirectional(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemBlocksIronsight(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usItemFlag ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].drugtype ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].foodtype ); + FilePrintf(hFile,"\t\t%4.2f\r\n", Item[cnt].attachmentclass ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].drugtype ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].foodtype ); //JMich_SkillModifiers: Adding the values here as well - FilePrintf(hFile, "\t\t%d\r\n", Item[cnt].LockPickModifier ); + FilePrintf(hFile, "\t\t%d\r\n", Item[cnt].LockPickModifier ); FilePrintf(hFile, "\t\t%d\r\n", Item[cnt].CrowbarModifier ); - FilePrintf(hFile, "\t\t%d\r\n", Item[cnt].DisarmModifier ); - FilePrintf(hFile, "\t\t%d\r\n", Item[cnt].RepairModifier ); + FilePrintf(hFile, "\t\t%d\r\n", Item[cnt].DisarmModifier ); + FilePrintf(hFile, "\t\t%d\r\n", Item[cnt].RepairModifier ); FilePrintf(hFile, "\t\t%d\r\n", Item[cnt].usHackingModifier ); - FilePrintf(hFile, "\t\t%d\r\n", Item[cnt].usBurialModifier ); + FilePrintf(hFile, "\t\t%d\r\n", Item[cnt].usBurialModifier ); FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usDamageChance ); FilePrintf(hFile,"\t\t%4.2f\r\n", Item[cnt].dirtIncreaseFactor ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usActionItemFlag ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].clothestype ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].randomitem ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usActionItemFlag ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].clothestype ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].randomitem ); FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].randomitemcoolnessmodificator ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usFlashLightRange ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usItemChoiceTimeSetting ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usBuddyItem ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubSleepModifier ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usSpotting ); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].sBackpackWeightModifier); - FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usPortionSize ); - - if (ItemAllowsClimbing(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsCigarette(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if ( HasItemFlag( cnt, DISEASEPROTECTION_1 ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); - if ( HasItemFlag( cnt, DISEASEPROTECTION_2 ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); - if ( HasItemFlag( cnt, BLOOD_BAG) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); - if ( HasItemFlag( cnt, EMPTY_BLOOD_BAG ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); - if ( HasItemFlag( cnt, MEDICAL_SPLINT ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usFlashLightRange ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usItemChoiceTimeSetting ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usBuddyItem ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].ubSleepModifier ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usSpotting ); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].sBackpackWeightModifier); + FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usPortionSize ); FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usRiotShieldStrength ); FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].usRiotShieldGraphic ); @@ -2221,10 +2338,117 @@ BOOLEAN WriteItemStats() FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bRobotChassisSkillGrant ); FilePrintf(hFile,"\t\t%d\r\n", Item[cnt].bRobotUtilitySkillGrant ); - if (ItemProvidesRobotCamo(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemProvidesRobotNightvision(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemProvidesRobotLaserBonus(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); - if (ItemIsOnlyInDisease(cnt)) FilePrintf(hFile, "\t\t%d\r\n", 1); + // usItemFlag + if ( HasItemFlag( cnt, BLOOD_BAG ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, MANPAD ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, BEARTRAP ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, CAMERA ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, WATER_DRUM ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, MEAT_BLOODCAT ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, MEAT_COW ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, BELT_FED ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, AMMO_BELT ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, AMMO_BELT_VEST ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, CAMO_REMOVAL ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, CLEANING_KIT ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, ATTENTION_ITEM ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, GAROTTE ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, COVERT ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, CORPSE ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, SKIN_BLOODCAT ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, NO_METAL_DETECTION ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, JUMP_GRENADE ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, HANDCUFFS ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, TASER ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, SCUBA_BOTTLE ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, SCUBA_MASK ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, SCUBA_FINS ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, TRIPWIREROLL ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, RADIO_SET ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, SIGNAL_SHELL ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, SODA ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, ROOF_COLLAPSE_ITEM ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, DISEASEPROTECTION_1 ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, DISEASEPROTECTION_2 ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, LBE_EXPLOSIONPROOF ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, EMPTY_BLOOD_BAG ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, MEDICAL_SPLINT ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsDamageable( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsRepairable( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsDamagedByWater( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsMetal( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemSinks( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( HasItemFlag( cnt, ITEM_showstatus ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsHiddenAddon( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsTwoHanded( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsNotBuyable( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsAttachment( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsHiddenAttachment( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsOnlyInTonsOfGuns( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsNotInEditor( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsUndroppableByDefault( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsUnaerodynamic( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsElectronic( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsCannon( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsRocketRifle( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemHasFingerPrintID( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsMetalDetector( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsGasmask( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsLockBomb( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsFlare( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsGrenadeLauncher( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsMortar( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsDuckbill( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsDetonator( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsRemoteDetonator( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemHasHiddenMuzzleFlash( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsRocketLauncher( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + + // usItemFlag2 + if ( ItemIsSingleShotRocketLauncher( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsBrassKnuckles( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsCrowbar( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsGLgrenade( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsFlakJacket( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsLeatherJacket( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsBatteries( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemNeedsBatteries( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemHasXRay( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsWirecutters( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsToolkit( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsFirstAidKit( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsMedicalKit( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsCanteen( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsJar( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsCanAndString( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsMarbles( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsWalkman( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsRemoteTrigger( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsRobotRemote( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsCamoKit( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsLocksmithKit( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsMine( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsATMine( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsHardware( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsMedical( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsGascan( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemContainsLiquid( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsRock( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsThermalOptics( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsOnlyInScifi( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsOnlyInNIV( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsOnlyInDisease( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsBarrel( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemHasTripwireActivation( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsTripwire( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsDirectional( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemBlocksIronsight( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemAllowsClimbing( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemIsCigarette( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemProvidesRobotCamo( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemProvidesRobotNightvision( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + if ( ItemProvidesRobotLaserBonus( cnt ) ) FilePrintf( hFile, "\t\t%d\r\n", 1 ); + FilePrintf(hFile,"\t\r\n"); }