From fce528e1a496c30aa433095265d019b2ca4fd9d8 Mon Sep 17 00:00:00 2001 From: Wanne Date: Sat, 26 Aug 2006 12:28:27 +0000 Subject: [PATCH] - added a militia drop rate to the xml-drop files.obj - added drop rates for knives, laws, mortars, launchers (see EnemyWeaponDrops.xml, EnemyMiscDrops.xml) git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@478 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- GameVersion.cpp | 4 +- Init.cpp | 10 +-- JA2.suo | Bin 86528 -> 93696 bytes Tactical/EnemyItemDrops.h | 15 ++-- Tactical/Inventory Choosing.cpp | 113 +++++++++++++++++++++------ Tactical/XML_EnemyAmmoDrops.cpp | 15 +++- Tactical/XML_EnemyArmourDrops.cpp | 15 +++- Tactical/XML_EnemyExplosiveDrops.cpp | 15 +++- Tactical/XML_EnemyMiscDrops.cpp | 15 +++- Tactical/XML_EnemyWeaponDrops.cpp | 15 +++- 10 files changed, 160 insertions(+), 57 deletions(-) diff --git a/GameVersion.cpp b/GameVersion.cpp index e42f7f25..60319c54 100644 --- a/GameVersion.cpp +++ b/GameVersion.cpp @@ -23,12 +23,12 @@ INT16 zVersionLabel[256] = { L"Beta v. 0.98" }; #else //RELEASE BUILD VERSION - INT16 zVersionLabel[256] = { L"Release v1.13.477" }; + INT16 zVersionLabel[256] = { L"Release v1.13.478" }; #endif -INT8 czVersionNumber[16] = { "Build 06.08.25" }; +INT8 czVersionNumber[16] = { "Build 06.08.26" }; INT16 zTrackingNumber[16] = { L"Z" }; diff --git a/Init.cpp b/Init.cpp index f055da35..36c7a273 100644 --- a/Init.cpp +++ b/Init.cpp @@ -87,7 +87,7 @@ BOOLEAN LoadExternalGameplayData(STR directoryName) { char fileName[MAX_PATH]; - // WANNE: Enemy drops + // WANNE: Enemy drops - begin strcpy(fileName, directoryName); strcat(fileName, ENEMYMISCDROPSFILENAME); DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName)); @@ -117,16 +117,10 @@ BOOLEAN LoadExternalGameplayData(STR directoryName) DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName)); if(!ReadInEnemyArmourDropsStats(gEnemyArmourDrops, fileName)) return FALSE; - - + // WANNE: Enemy drops - end - - - - // -------- - strcpy(fileName, directoryName); strcat(fileName, AMMOTYPESFILENAME); DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName)); diff --git a/JA2.suo b/JA2.suo index 9d1cfdcf9a6a944a0d750e4a41fc0c6b770a1614..06d66244e37a30d2152d276a1c81c2d3637db2f0 100644 GIT binary patch delta 3339 zcmeHJYitx%6h3Emw)^OG+HSY+$4+T!fdaM_B`#hUfUb~m|F2c5Cg2*KSm*;H9U;?*AP-n^oN=#Qe%R__1x*~cDMUT{N*3-=49@< z_w0Fo=gbV9Fb`cfpQ)E@Spe{NFc>UmEt1PzM4UaaNBRrZ4(pHK+b>O_iH_=y1P0|P zq~pNal%vv0jm~yJ1N1=;?1BT(0=+N*T~H7Gup4}|2Us#srUCW`g4TLd8mM$543X6! z`&KSD3lrb51Il4(=E1-n#fp|pKm<^jO?8=Nx&@Z0X0bZ;TAD)4W8f!)J7It+>BRwe z`m3b0n9jvrNGY3fv?)&GAbjZ0YGd`z>Xg%Tk)F@)WHl>k^JG#o=wKSzpmPwN>3q1tMRncGnGgYd;lxH!SMoh+%1hSa-3VeUzJ|7 z1O}TQ@5}&0{!a=th4yUvRFTOd0ej~{ejx9o?Roq+85dyt$XVRLDkgJyMk~tf#>H;7 zeR9-N0FO|n_p&|L9$<&=s%%;-33N|Qn-t+(rs1e?lKC%h)FYU=d`(HG3lZL21Xq+5 ztZ~x)=^0#$+=qBb-~kHYE{VKAyCXy=d76aJR*%#6T_S;&_vraP(FX=E6pHi6#Xi}t z;fb@}Dje})3HQl(P>+H4%lJ0yn3Q>)8S4)FsF1q}F}<*l&=iTFa#9|NvM1=ilhC!B za2F}3&68V0nA}BDkuvjjts$fenY}z{#tXK$2!bCHl?$BN&f5UKB1+M@r%C;DL;{1k zX0e&wS!rX{C0c3sB+=3+P7ZUM=x$LG&Y|C}AgPClQU#YpF>l#omZPe+eT26mB1xEX4p30f z6A=*g_4TP0j?e7aC|Og97bO)yn(!-lJsnq0c#H7mO4}IaN35}lZB1B;wo3+o$>47p z{Hv#6iY(gS^?UVN&yruJUSZZ3RjnnE%g43Ye(jD3wswtsOh$NUmiM(*Xf~jlJdR!PNUZM8E4)6P8)Vs*VINu zSCQP>!%3{=d&!EPIM84nHHc`XP719%DzFz#!?TI3Om6B?WZHTU_qO5drD9<1)C<%@ z-fIx5v<4n3+5q^4g{qp`E`7Rpk=314;JKGf6P=6KO}MQ|e#_E`q82CjrFqVm{DfM$ zV#6&JQQ0g>q?X^^h*vUy{o?cu@v>S*fL}x85BULIg-*H+=OKzuQ&d#z}JM>XNSdRMw5NKE`8uz~Yqsmd5$et+2bev4Z ze4Gf)3)>;qo4Atf-0cG1V8MH;%=$+OAy}*k+~vl4H1Tr^R^yWJyvd6dA;=i>Mgk4l z&~1;fvUQ{mWq#X=FO}ve`wxH{hYLOY2OAcRY$gQJ47|D^Y_A~Eez^n3E(G+R_j7bFKt b^05^63sAr@_6=W_+>RSr-C~dFAT;~~9Z>ji delta 1325 zcmaJ>|8G-O6hG(oz4mpyzOHMxb)#$@Zn6|5Qzim&S~uKe8FT3H7v{dm_<=BSxQf~z zWWj)m2?_4XE(sB(0|^0>;frbF4~yuw5Qz!?CXtx=7bvmD1cdszU2RYU_vVv(&pDrS z&b#NH`zCLglV{A?Ey5ooqPzKgJ|ee?db14DDtEuQ&CdAqyPI}hS!54X$s=ysSY%-f zx7~Y0JQ;=VP1-|SDMh>KHR_--8leeHqFP`a^HF*l_I-4Kc2XSNIKATLtu3AaJ76GV zVaOkhMpLKwO1@(s6g|(lw`_}j1~Ee^{Z73Zz=mYV3CpB&O*RB;0yY#oka`c&PPiL_ zM-g-tbegH7>Yy@L(PytHDoV;!xX;!?SqWSWKit=4w!r^Xy{!t18HUmhtB6#0MRi?yFzx)Ae_AbI+7jT^oAY7~_m zPz?rm$P%jJJjQkM(82-VIIe3m4aoi1HpzGIIC3do=Z-Eed29pc z3*J*0nfmSp`E7UG)YW-gw}~zck`~JA=C0bU$J;rnjydee9~WY3Uq3f~8Rb!4N%Zz| z4(g_7=?+{D!Sy{LqXL58s+qy|9B>9W3+S_Ge0FL3E>^S8aj*LLC9a#^!CrOB;8QAQ zaf?ctoIFUh5f1+}o^GxCG#jl$i%yi7Xg~PrBmA3>!b5kzW`?OW-axKSl{fkFT64KQ zM+>%UYBr7vyqtW#Ns#VkJ!bc|i7R7mBD;2gTR2goJp6wOE|Yw^r!nFzCx7ozhX;62 zSJqJL2l;Trng=-v+RRfcdsNd9$Ff|;UBc4AP|m_lWm7ia2=d14_87mvCNOLj@{nF1 zS07fhRJ|SiL149h`WSj`E$IhUa)^Igciyweg#$J};6oISo&oChTW$QyN2F1|9G1Sn z&|2~9+~+^zzpx&213f{T)XiZ|$YXmAm9}_lx|1LA&-j=5GudA{xPkq1MR~3$UoXnn zi*l&=*`e%Em*(e+_MC$M>$1hL)YqLnU0Kq@oInv[ i ].fFlags & OBJECT_NO_OVERWRITE ) && pp->Inv[ i ].usItem != 0) { // Weapon - if( uiItemClass == IC_GUN || uiItemClass == IC_BLADE || - uiItemClass == IC_THROWING_KNIFE || uiItemClass == IC_LAUNCHER || - uiItemClass == IC_TENTACLES || uiItemClass == IC_THROWN || - uiItemClass == IC_PUNCH) + if( uiItemClass == IC_GUN) { // Find matching weaponType in the XML for (j = 0; j < MAX_DROP_ITEMS; j++) @@ -2479,11 +2476,25 @@ else if (uiRandomValue == 0) uiRandomValue++; - // Drop the weapon! - if (uiRandomValue <= gEnemyWeaponDrops[j].ubDropRate) + // militia + if ( SOLDIER_CLASS_MILITIA( bSoldierClass ) ) { - pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + // Drop the item! + if (uiRandomValue <= gEnemyWeaponDrops[j].ubMilitiaDropRate) + { + pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + } } + // enemy + else + { + // Drop the item! + if (uiRandomValue <= gEnemyWeaponDrops[j].ubEnemyDropRate) + { + pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + } + } + break; } } @@ -2506,11 +2517,24 @@ else if (uiRandomValue == 0) uiRandomValue++; - // Drop the weapon! - if (uiRandomValue <= gEnemyAmmoDrops[j].ubDropRate) + // militia + if ( SOLDIER_CLASS_MILITIA( bSoldierClass ) ) { - pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + // Drop the item! + if (uiRandomValue <= gEnemyAmmoDrops[j].ubMilitiaDropRate) + { + pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + } } + else + { + // Drop the item! + if (uiRandomValue <= gEnemyAmmoDrops[j].ubEnemyDropRate) + { + pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + } + } + break; } } @@ -2533,11 +2557,26 @@ else if (uiRandomValue == 0) uiRandomValue++; - // Drop the weapon! - if (uiRandomValue <= gEnemyExplosiveDrops[j].ubDropRate) + // militia + if ( SOLDIER_CLASS_MILITIA( bSoldierClass ) ) { - pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + // Drop the item! + if (uiRandomValue <= gEnemyExplosiveDrops[j].ubMilitiaDropRate) + { + pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + } } + // enemy + else + { + // Drop the item! + if (uiRandomValue <= gEnemyExplosiveDrops[j].ubEnemyDropRate) + { + pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + } + } + + break; } } @@ -2560,19 +2599,35 @@ else if (uiRandomValue == 0) uiRandomValue++; - // Drop the weapon! - if (uiRandomValue <= gEnemyArmourDrops[j].ubDropRate) + // militia + if ( SOLDIER_CLASS_MILITIA( bSoldierClass ) ) { - pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + // Drop the item! + if (uiRandomValue <= gEnemyArmourDrops[j].ubMilitiaDropRate) + { + pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + } } + // enemy + else + { + // Drop the item! + if (uiRandomValue <= gEnemyArmourDrops[j].ubEnemyDropRate) + { + pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + } + } + break; } } } // Misc - else if (uiItemClass == IC_MEDKIT || uiItemClass == IC_KIT || - uiItemClass == IC_APPLIABLE || uiItemClass == IC_FACE || - uiItemClass == IC_KEY || uiItemClass == IC_MISC || uiItemClass == IC_MONEY) + else if (uiItemClass == IC_BLADE || uiItemClass == IC_MEDKIT || uiItemClass == IC_KIT || + uiItemClass == IC_THROWING_KNIFE || uiItemClass == IC_LAUNCHER || + uiItemClass == IC_APPLIABLE || uiItemClass == IC_FACE || uiItemClass == IC_TENTACLES || + uiItemClass == IC_THROWN || uiItemClass == IC_PUNCH || uiItemClass == IC_KEY || + uiItemClass == IC_MISC || uiItemClass == IC_MONEY) { // Find matching armour in the XML for (j = 0; j < MAX_DROP_ITEMS; j++) @@ -2589,11 +2644,25 @@ else if (uiRandomValue == 0) uiRandomValue++; - // Drop the weapon! - if (uiRandomValue <= gEnemyMiscDrops[j].ubDropRate) + // militia + if ( SOLDIER_CLASS_MILITIA( bSoldierClass ) ) { - pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + // Drop the item! + if (uiRandomValue <= gEnemyMiscDrops[j].ubMilitiaDropRate) + { + pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + } } + // enemy + else + { + // Drop the item! + if (uiRandomValue <= gEnemyMiscDrops[j].ubEnemyDropRate) + { + pp->Inv[ i ].fFlags &= ~OBJECT_UNDROPPABLE; + } + } + break; } } diff --git a/Tactical/XML_EnemyAmmoDrops.cpp b/Tactical/XML_EnemyAmmoDrops.cpp index b7e26fd7..1fec113a 100644 --- a/Tactical/XML_EnemyAmmoDrops.cpp +++ b/Tactical/XML_EnemyAmmoDrops.cpp @@ -86,7 +86,8 @@ ammoDropStartElementHandle(void *userData, const char *name, const char **atts) else if(pData->curElement == ELEMENT && (strcmp(name, "uiIndex") == 0 || strcmp(name, "uiType") == 0 || - strcmp(name, "ubDropRate") == 0 )) + strcmp(name, "ubEnemyDropRate") == 0 || + strcmp(name, "ubMilitiaDropRate") == 0)) { pData->curElement = ELEMENT_PROPERTY; @@ -143,10 +144,15 @@ ammoDropEndElementHandle(void *userData, const char *name) pData->curElement = ELEMENT; pData->curAmmoDrop.uiType = (UINT32) atol(pData->szCharData); } - else if(strcmp(name, "ubDropRate") == 0) + else if(strcmp(name, "ubEnemyDropRate") == 0) { pData->curElement = ELEMENT; - pData->curAmmoDrop.ubDropRate = (UINT8) atol(pData->szCharData); + pData->curAmmoDrop.ubEnemyDropRate = (UINT8) atol(pData->szCharData); + } + else if(strcmp(name, "ubMilitiaDropRate") == 0) + { + pData->curElement = ELEMENT; + pData->curAmmoDrop.ubMilitiaDropRate = (UINT8) atol(pData->szCharData); } pData->maxReadDepth--; @@ -242,7 +248,8 @@ BOOLEAN WriteEnemyAmmoDropsStats(AMMO_DROPS *pEnemyAmmoDrops, STR fileName) FilePrintf(hFile,"\t\t%d\r\n", cnt); FilePrintf(hFile,"\t\t%d\r\n", pEnemyAmmoDrops[cnt].uiType); - FilePrintf(hFile,"\t\t%d\r\n", pEnemyAmmoDrops[cnt].ubDropRate); + FilePrintf(hFile,"\t\t%d\r\n", pEnemyAmmoDrops[cnt].ubEnemyDropRate); + FilePrintf(hFile,"\t\t%d\r\n", pEnemyAmmoDrops[cnt].ubMilitiaDropRate); FilePrintf(hFile,"\t\r\n"); } diff --git a/Tactical/XML_EnemyArmourDrops.cpp b/Tactical/XML_EnemyArmourDrops.cpp index c2c7067f..edcbd1cd 100644 --- a/Tactical/XML_EnemyArmourDrops.cpp +++ b/Tactical/XML_EnemyArmourDrops.cpp @@ -86,7 +86,8 @@ armourDropStartElementHandle(void *userData, const char *name, const char **atts else if(pData->curElement == ELEMENT && (strcmp(name, "uiIndex") == 0 || strcmp(name, "ubArmourClass") == 0 || - strcmp(name, "ubDropRate") == 0 )) + strcmp(name, "ubEnemyDropRate") == 0 || + strcmp(name, "ubMilitiaDropRate") == 0 )) { pData->curElement = ELEMENT_PROPERTY; @@ -143,10 +144,15 @@ armourDropEndElementHandle(void *userData, const char *name) pData->curElement = ELEMENT; pData->curArmourDrop.ubArmourClass = (UINT8) atol(pData->szCharData); } - else if(strcmp(name, "ubDropRate") == 0) + else if(strcmp(name, "ubEnemyDropRate") == 0) { pData->curElement = ELEMENT; - pData->curArmourDrop.ubDropRate = (UINT8) atol(pData->szCharData); + pData->curArmourDrop.ubEnemyDropRate = (UINT8) atol(pData->szCharData); + } + else if (strcmp(name, "ubMilitiaDropRate") == 0) + { + pData->curElement = ELEMENT; + pData->curArmourDrop.ubMilitiaDropRate = (UINT8) atol(pData->szCharData); } pData->maxReadDepth--; @@ -242,7 +248,8 @@ BOOLEAN WriteEnemyArmourDropsStats(ARMOUR_DROPS *pEnemyArmourDrops, STR fileName FilePrintf(hFile,"\t\t%d\r\n", cnt); FilePrintf(hFile,"\t\t%d\r\n", pEnemyArmourDrops[cnt].ubArmourClass); - FilePrintf(hFile,"\t\t%d\r\n", pEnemyArmourDrops[cnt].ubDropRate); + FilePrintf(hFile,"\t\t%d\r\n", pEnemyArmourDrops[cnt].ubEnemyDropRate); + FilePrintf(hFile,"\t\t%d\r\n", pEnemyArmourDrops[cnt].ubMilitiaDropRate); FilePrintf(hFile,"\t\r\n"); } diff --git a/Tactical/XML_EnemyExplosiveDrops.cpp b/Tactical/XML_EnemyExplosiveDrops.cpp index b641253e..b6f7cb9f 100644 --- a/Tactical/XML_EnemyExplosiveDrops.cpp +++ b/Tactical/XML_EnemyExplosiveDrops.cpp @@ -86,7 +86,8 @@ explosiveDropStartElementHandle(void *userData, const char *name, const char **a else if(pData->curElement == ELEMENT && (strcmp(name, "uiIndex") == 0 || strcmp(name, "ubType") == 0 || - strcmp(name, "ubDropRate") == 0 )) + strcmp(name, "ubEnemyDropRate") == 0 || + strcmp(name, "ubMilitiaDropRate") == 0 )) { pData->curElement = ELEMENT_PROPERTY; @@ -143,10 +144,15 @@ explosiveDropEndElementHandle(void *userData, const char *name) pData->curElement = ELEMENT; pData->curExplosiveDrop.ubType = (UINT8) atol(pData->szCharData); } - else if(strcmp(name, "ubDropRate") == 0) + else if(strcmp(name, "ubEnemyDropRate") == 0) { pData->curElement = ELEMENT; - pData->curExplosiveDrop.ubDropRate = (UINT8) atol(pData->szCharData); + pData->curExplosiveDrop.ubEnemyDropRate = (UINT8) atol(pData->szCharData); + } + else if(strcmp(name, "ubMilitiaDropRate") == 0) + { + pData->curElement = ELEMENT; + pData->curExplosiveDrop.ubMilitiaDropRate = (UINT8) atol(pData->szCharData); } pData->maxReadDepth--; @@ -242,7 +248,8 @@ BOOLEAN WriteEnemyExplosiveDropsStats(EXPLOSIVE_DROPS *pEnemyExplosiveDrops, STR FilePrintf(hFile,"\t\t%d\r\n", cnt); FilePrintf(hFile,"\t\t%d\r\n", pEnemyExplosiveDrops[cnt].ubType); - FilePrintf(hFile,"\t\t%d\r\n", pEnemyExplosiveDrops[cnt].ubDropRate); + FilePrintf(hFile,"\t\t%d\r\n", pEnemyExplosiveDrops[cnt].ubEnemyDropRate); + FilePrintf(hFile,"\t\t%d\r\n", pEnemyExplosiveDrops[cnt].ubMilitiaDropRate); FilePrintf(hFile,"\t\r\n"); } diff --git a/Tactical/XML_EnemyMiscDrops.cpp b/Tactical/XML_EnemyMiscDrops.cpp index d8c96537..39437990 100644 --- a/Tactical/XML_EnemyMiscDrops.cpp +++ b/Tactical/XML_EnemyMiscDrops.cpp @@ -86,7 +86,8 @@ miscDropStartElementHandle(void *userData, const char *name, const char **atts) else if(pData->curElement == ELEMENT && (strcmp(name, "uiIndex") == 0 || strcmp(name, "usItemClass") == 0 || - strcmp(name, "ubDropRate") == 0 )) + strcmp(name, "ubEnemyDropRate") == 0 || + strcmp(name, "ubMilitiaDropRate") == 0 )) { pData->curElement = ELEMENT_PROPERTY; @@ -143,10 +144,15 @@ miscDropEndElementHandle(void *userData, const char *name) pData->curElement = ELEMENT; pData->curMiscDrop.usItemClass = (UINT32) atol(pData->szCharData); } - else if(strcmp(name, "ubDropRate") == 0) + else if(strcmp(name, "ubEnemyDropRate") == 0) { pData->curElement = ELEMENT; - pData->curMiscDrop.ubDropRate = (UINT8) atol(pData->szCharData); + pData->curMiscDrop.ubEnemyDropRate = (UINT8) atol(pData->szCharData); + } + else if(strcmp(name, "ubMilitiaDropRate") == 0) + { + pData->curElement = ELEMENT; + pData->curMiscDrop.ubMilitiaDropRate = (UINT8) atol(pData->szCharData); } pData->maxReadDepth--; @@ -242,7 +248,8 @@ BOOLEAN WriteEnemyMiscDropsStats(MISC_DROPS *pEnemyMiscDrops, STR fileName) FilePrintf(hFile,"\t\t%d\r\n", cnt); FilePrintf(hFile,"\t\t%d\r\n", pEnemyMiscDrops[cnt].usItemClass); - FilePrintf(hFile,"\t\t%d\r\n", pEnemyMiscDrops[cnt].ubDropRate); + FilePrintf(hFile,"\t\t%d\r\n", pEnemyMiscDrops[cnt].ubEnemyDropRate); + FilePrintf(hFile,"\t\t%d\r\n", pEnemyMiscDrops[cnt].ubMilitiaDropRate); FilePrintf(hFile,"\t\r\n"); } diff --git a/Tactical/XML_EnemyWeaponDrops.cpp b/Tactical/XML_EnemyWeaponDrops.cpp index 6f17b3f8..0e38ee17 100644 --- a/Tactical/XML_EnemyWeaponDrops.cpp +++ b/Tactical/XML_EnemyWeaponDrops.cpp @@ -86,7 +86,8 @@ weaponDropStartElementHandle(void *userData, const char *name, const char **atts else if(pData->curElement == ELEMENT && (strcmp(name, "uiIndex") == 0 || strcmp(name, "ubWeaponType") == 0 || - strcmp(name, "ubDropRate") == 0 )) + strcmp(name, "ubEnemyDropRate") == 0 || + strcmp(name, "ubMilitiaDropRate") == 0 )) { pData->curElement = ELEMENT_PROPERTY; @@ -143,10 +144,15 @@ weaponDropEndElementHandle(void *userData, const char *name) pData->curElement = ELEMENT; pData->curWeaponDrop.ubWeaponType = (UINT8) atol(pData->szCharData); } - else if(strcmp(name, "ubDropRate") == 0) + else if(strcmp(name, "ubEnemyDropRate") == 0) { pData->curElement = ELEMENT; - pData->curWeaponDrop.ubDropRate = (UINT8) atol(pData->szCharData); + pData->curWeaponDrop.ubEnemyDropRate = (UINT8) atol(pData->szCharData); + } + else if(strcmp(name, "ubMilitiaDropRate") == 0) + { + pData->curElement = ELEMENT; + pData->curWeaponDrop.ubMilitiaDropRate = (UINT8) atol(pData->szCharData); } pData->maxReadDepth--; @@ -242,7 +248,8 @@ BOOLEAN WriteEnemyWeaponDropsStats(WEAPON_DROPS *pEnemyWeaponDrops, STR fileName FilePrintf(hFile,"\t\t%d\r\n", cnt); FilePrintf(hFile,"\t\t%d\r\n", pEnemyWeaponDrops[cnt].ubWeaponType); - FilePrintf(hFile,"\t\t%d\r\n", pEnemyWeaponDrops[cnt].ubDropRate); + FilePrintf(hFile,"\t\t%d\r\n", pEnemyWeaponDrops[cnt].ubEnemyDropRate); + FilePrintf(hFile,"\t\t%d\r\n", pEnemyWeaponDrops[cnt].ubMilitiaDropRate); FilePrintf(hFile,"\t\r\n"); }