mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
- new option for militia command menu: crouch/all crouch
- Larry now consumes every drug git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5638 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -296,7 +296,9 @@ void HourlyQuestUpdate( void )
|
||||
}
|
||||
|
||||
#define BAR_TEMPTATION 4
|
||||
#define NUM_LARRY_ITEMS 6
|
||||
|
||||
// Flugente: abandoned the LarryItems for the new drug system
|
||||
/*#define NUM_LARRY_ITEMS 6
|
||||
UINT16 LarryItems[ NUM_LARRY_ITEMS ][ 3 ] =
|
||||
{
|
||||
// item, temptation, points to use
|
||||
@@ -306,18 +308,19 @@ UINT16 LarryItems[ NUM_LARRY_ITEMS ][ 3 ] =
|
||||
{ WINE, 3, 50 },
|
||||
{ REGEN_BOOSTER, 3, 100 },
|
||||
{ BEER, 2, 100 },
|
||||
};
|
||||
};*/
|
||||
|
||||
#define LARRY_FALLS_OFF_WAGON 8
|
||||
|
||||
void HourlyLarryUpdate( void )
|
||||
{
|
||||
SOLDIERTYPE * pSoldier;
|
||||
INT8 bSlot = NO_SLOT, bBoozeSlot;
|
||||
INT8 bLarryItemLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
INT8 bSlot = NO_SLOT, bBoozeSlot;
|
||||
INT8 bLarryItemLoop;
|
||||
UINT16 usTemptation = 0;
|
||||
UINT16 usCashAmount;
|
||||
BOOLEAN fBar = FALSE;
|
||||
OBJECTTYPE* pObj = NULL;
|
||||
|
||||
pSoldier = FindSoldierByProfileID( LARRY_NORMAL, TRUE );
|
||||
if ( !pSoldier )
|
||||
@@ -339,8 +342,23 @@ void HourlyLarryUpdate( void )
|
||||
return;
|
||||
}
|
||||
|
||||
// Flugente: reworked this for the new drug system. We now loop over our entire inventory
|
||||
INT8 invsize = (INT8)pSoldier->inv.size(); // remember inventorysize, so we don't call size() repeatedly
|
||||
for ( INT8 bLoop = 0; bLoop < invsize; ++bLoop) // ... for all items in our inventory ...
|
||||
{
|
||||
if ( pSoldier->inv[bLoop].exists() && Item[ pSoldier->inv[bLoop].usItem ].drugtype > 0 )
|
||||
{
|
||||
pObj = &(pSoldier->inv[bLoop]);
|
||||
|
||||
usTemptation = 5;
|
||||
|
||||
// any drug will do... I'm not going to create a new tag for sth minor like this
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// look for items in Larry's inventory to maybe use
|
||||
for ( bLarryItemLoop = 0; bLarryItemLoop < NUM_LARRY_ITEMS; bLarryItemLoop++ )
|
||||
/*for ( bLarryItemLoop = 0; bLarryItemLoop < NUM_LARRY_ITEMS; bLarryItemLoop++ )
|
||||
{
|
||||
bSlot = FindObj( pSoldier, LarryItems[ bLarryItemLoop ][ 0 ] );
|
||||
if ( bSlot != NO_SLOT )
|
||||
@@ -348,7 +366,7 @@ void HourlyLarryUpdate( void )
|
||||
usTemptation = LarryItems[ bLarryItemLoop ][ 1 ];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
// check to see if we're in a bar sector, if we are, we have access to alcohol
|
||||
// which may be better than anything we've got...
|
||||
@@ -397,7 +415,7 @@ void HourlyLarryUpdate( void )
|
||||
SwapLarrysProfiles( pSoldier );
|
||||
if ( bSlot != NO_SLOT )
|
||||
{
|
||||
UseKitPoints( &(pSoldier->inv[ bSlot ]), LarryItems[ bLarryItemLoop ][ 2 ], pSoldier );
|
||||
UseKitPoints( &(pSoldier->inv[ bSlot ]), 25/*LarryItems[ bLarryItemLoop ][ 2 ]*/, pSoldier );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -427,8 +445,10 @@ void HourlyLarryUpdate( void )
|
||||
}
|
||||
if ( bSlot != NO_SLOT )
|
||||
{
|
||||
// Flugente: abandoned LarryItems
|
||||
// ahhhh!!!
|
||||
UseKitPoints( &(pSoldier->inv[ bSlot ]), LarryItems[ bLarryItemLoop ][ 2 ], pSoldier );
|
||||
if ( pObj )
|
||||
UseKitPoints( pObj, 100/*LarryItems[ bLarryItemLoop ][ 2 ]*/, pSoldier );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,6 +60,7 @@ enum{
|
||||
MILCON_MENU_RETREAT,
|
||||
MILCON_MENU_COMETOME,
|
||||
MILCON_MENU_GETDOWN,
|
||||
MILCON_MENU_CROUCH,
|
||||
MILCON_MENU_TAKE_COVER,
|
||||
MILCON_MENU_ALL_ATTACK,
|
||||
MILCON_MENU_ALL_HOLD,
|
||||
@@ -67,6 +68,7 @@ enum{
|
||||
MILCON_MENU_ALL_COMETOME,
|
||||
MILCON_MENU_ALL_SPREAD,
|
||||
MILCON_MENU_ALL_GETDOWN,
|
||||
MILCON_MENU_ALL_CROUCH,
|
||||
MILCON_MENU_ALL_TAKE_COVER,
|
||||
//MILCON_MENU_ALL_TAKE_ITEMS,
|
||||
MILCON_MENU_CANCEL,
|
||||
|
||||
@@ -1013,6 +1013,7 @@ void HandleShadingOfLinesForMilitiaControlMenu( void )
|
||||
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_RETREAT );
|
||||
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_COMETOME );
|
||||
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_GETDOWN );
|
||||
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_CROUCH );
|
||||
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_TAKE_COVER );
|
||||
}
|
||||
else
|
||||
@@ -1022,6 +1023,7 @@ void HandleShadingOfLinesForMilitiaControlMenu( void )
|
||||
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_RETREAT );
|
||||
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_COMETOME );
|
||||
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_GETDOWN );
|
||||
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_CROUCH );
|
||||
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_TAKE_COVER );
|
||||
}
|
||||
}
|
||||
@@ -1034,6 +1036,7 @@ void HandleShadingOfLinesForMilitiaControlMenu( void )
|
||||
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_COMETOME );
|
||||
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_SPREAD );
|
||||
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_GETDOWN );
|
||||
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_CROUCH );
|
||||
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_COVER );
|
||||
//UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_ITEMS );
|
||||
}
|
||||
@@ -1045,6 +1048,7 @@ void HandleShadingOfLinesForMilitiaControlMenu( void )
|
||||
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_COMETOME );
|
||||
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_SPREAD );
|
||||
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_GETDOWN );
|
||||
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_CROUCH );
|
||||
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_COVER );
|
||||
//ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_ITEMS );
|
||||
}
|
||||
@@ -1437,8 +1441,29 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
}
|
||||
break;
|
||||
|
||||
case( MILCON_MENU_CROUCH ):
|
||||
{
|
||||
if ( (pTMilitiaSoldier->bActive) && (pTMilitiaSoldier->bInSector) && (pTMilitiaSoldier->stats.bLife >= OKLIFE) )
|
||||
SendChangeSoldierStanceEvent( pTMilitiaSoldier, ANIM_CROUCH );
|
||||
|
||||
case( MILCON_MENU_TAKE_COVER ):
|
||||
if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
|
||||
{
|
||||
DeductPoints( pSoldier, APBPConstants[AP_TALK], 0 );
|
||||
StatChange( pSoldier, LDRAMT, 1, FALSE );
|
||||
}
|
||||
|
||||
// stop showing menu
|
||||
fShowMilitiaControlMenu = FALSE;
|
||||
giAssignHighLine = -1;
|
||||
|
||||
// set dirty flag
|
||||
fTeamPanelDirty = TRUE;
|
||||
fMapScreenBottomDirty = TRUE;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case( MILCON_MENU_TAKE_COVER ):
|
||||
{
|
||||
if ( (pTMilitiaSoldier->bActive) && (pTMilitiaSoldier->bInSector) && (pTMilitiaSoldier->stats.bLife >= OKLIFE) )
|
||||
{
|
||||
@@ -1749,9 +1774,38 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
}
|
||||
break;
|
||||
|
||||
case( MILCON_MENU_ALL_CROUCH ):
|
||||
{
|
||||
UINT8 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||
|
||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++cnt, ++pTeamSoldier)
|
||||
{
|
||||
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
||||
{
|
||||
SendChangeSoldierStanceEvent( pTeamSoldier, ANIM_CROUCH );
|
||||
}
|
||||
}
|
||||
|
||||
case( MILCON_MENU_ALL_TAKE_COVER ):
|
||||
if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
|
||||
{
|
||||
DeductPoints( pSoldier, APBPConstants[AP_TALK], 0 );
|
||||
StatChange( pSoldier, LDRAMT, 1, FALSE );
|
||||
}
|
||||
|
||||
// stop showing menu
|
||||
fShowMilitiaControlMenu = FALSE;
|
||||
giAssignHighLine = -1;
|
||||
|
||||
// set dirty flag
|
||||
fTeamPanelDirty = TRUE;
|
||||
fMapScreenBottomDirty = TRUE;
|
||||
}
|
||||
break;
|
||||
|
||||
case( MILCON_MENU_ALL_TAKE_COVER ):
|
||||
{
|
||||
//UINT8 cnt;
|
||||
//SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
@@ -1905,6 +1905,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"撤退", // retreat militia
|
||||
L"向我靠拢", // retreat militia
|
||||
L"卧倒", // retreat militia
|
||||
L"Crouch", // TODO.Translate
|
||||
L"隐蔽",
|
||||
L"全体: 进攻",
|
||||
L"全体: 原地坚守",
|
||||
@@ -1912,6 +1913,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"全体: 向我靠拢",
|
||||
L"全体: 分散",
|
||||
L"全体: 卧倒",
|
||||
L"All: Crouch", // TODO.Translate
|
||||
L"全体: 隐蔽",
|
||||
//L"All: Find items",
|
||||
L"取消", // cancel this menu
|
||||
|
||||
@@ -1901,6 +1901,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"Retreat", // retreat militia
|
||||
L"Come to me", // retreat militia
|
||||
L"Get down", // retreat militia
|
||||
L"Crouch", // TODO.Translate
|
||||
L"Take cover",
|
||||
L"All: Attack",
|
||||
L"All: Hold Position",
|
||||
@@ -1908,6 +1909,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"All: Come to me",
|
||||
L"All: Spread out",
|
||||
L"All: Get down",
|
||||
L"All: Crouch", // TODO.Translate
|
||||
L"All: Take cover",
|
||||
//L"All: Find items",
|
||||
L"Cancel", // cancel this menu
|
||||
|
||||
@@ -1903,8 +1903,9 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"Attack", // set militia to aggresive
|
||||
L"Hold Position", // set militia to stationary
|
||||
L"Retreat", // retreat militia
|
||||
L"Come to me", // retreat militia
|
||||
L"Get down", // retreat militia
|
||||
L"Come to me",
|
||||
L"Get down",
|
||||
L"Crouch",
|
||||
L"Take cover",
|
||||
L"All: Attack",
|
||||
L"All: Hold Position",
|
||||
@@ -1912,6 +1913,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"All: Come to me",
|
||||
L"All: Spread out",
|
||||
L"All: Get down",
|
||||
L"All: Crouch",
|
||||
L"All: Take cover",
|
||||
//L"All: Find items",
|
||||
L"Cancel", // cancel this menu
|
||||
|
||||
@@ -1904,6 +1904,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"Retraite", // retreat militia
|
||||
L"Rejoignez moi", // retreat militia
|
||||
L"Couchez vous", // retreat militia
|
||||
L"Crouch", // TODO.Translate
|
||||
L"A couvert!",
|
||||
L"All: Attaquez",
|
||||
L"All: Tenez la Position",
|
||||
@@ -1911,6 +1912,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"All: Rejoignez-moi",
|
||||
L"All: Dispersez-vous",
|
||||
L"All: Couchez-vous",
|
||||
L"All: Crouch", // TODO.Translate
|
||||
L"All: A couvert!",
|
||||
//L"All: Trouver materiel",
|
||||
L"Annuler", // cancel this menu
|
||||
|
||||
@@ -1904,6 +1904,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"Rückzug", // retreat militia
|
||||
L"An meine Position", // retreat militia
|
||||
L"Auf den Boden", // retreat militia
|
||||
L"Ducken",
|
||||
L"In Deckung gehen",
|
||||
L"Alle: Angreifen",
|
||||
L"Alle: Position halten",
|
||||
@@ -1911,6 +1912,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"Alle: An meine Position",
|
||||
L"Alle: Ausschwärmen",
|
||||
L"Alle: Auf den Boden",
|
||||
L"Alle: Ducken",
|
||||
L"Alle: In Deckung gehen",
|
||||
//L"All: Find items",
|
||||
L"Abbrechen", // cancel this menu
|
||||
|
||||
@@ -1896,7 +1896,8 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"Hold Position", // set militia to stationary
|
||||
L"Retreat", // retreat militia
|
||||
L"Come to me", // retreat militia
|
||||
L"Get down", // retreat militia
|
||||
L"Get down", // retreat militia
|
||||
L"Crouch", // TODO.Translate
|
||||
L"Take cover",
|
||||
L"All: Attack",
|
||||
L"All: Hold Position",
|
||||
@@ -1904,6 +1905,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"All: Come to me",
|
||||
L"All: Spread out",
|
||||
L"All: Get down",
|
||||
L"All: Crouch", // TODO.Translate
|
||||
L"All: Take cover",
|
||||
//L"All: Find items",
|
||||
L"Cancel", // cancel this menu
|
||||
|
||||
@@ -1912,6 +1912,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"Wycofaj się", // retreat militia
|
||||
L"Chodź do mnie", // retreat militia
|
||||
L"Padnij", // retreat militia
|
||||
L"Crouch", // TODO.Translate
|
||||
L"Kryj się",
|
||||
L"Wszyscy: Atakujcie",
|
||||
L"Wszyscy: Utrzymajcie pozycje",
|
||||
@@ -1919,6 +1920,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"Wszyscy: Chodźcie do mnie",
|
||||
L"Wszyscy: Rozproszcie się",
|
||||
L"Wszyscy: Padnijcie",
|
||||
L"All: Crouch", // TODO.Translate
|
||||
L"Wszyscy: Kryjcie się",
|
||||
//L"Wszyscy: Szukajcie przedmiotów",
|
||||
L"Anuluj", // cancel this menu
|
||||
|
||||
@@ -1905,6 +1905,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"Отступать", // retreat militia
|
||||
L"За мной", // retreat militia
|
||||
L"Ложись", // retreat militia
|
||||
L"Crouch", // TODO.Translate
|
||||
L"В укрытие",
|
||||
L"Все в атаку",
|
||||
L"Всем держать оборону",
|
||||
@@ -1912,6 +1913,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"Все за мной",
|
||||
L"Всем рассеяться",
|
||||
L"Всем залечь",
|
||||
L"All: Crouch", // TODO.Translate
|
||||
L"Всем в укрытие",
|
||||
//L"Всем искать предметы",
|
||||
L"Отмена", // cancel this menu
|
||||
|
||||
@@ -1905,6 +1905,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"Retreat", // retreat militia
|
||||
L"Come to me", // retreat militia
|
||||
L"Get down", // retreat militia
|
||||
L"Crouch", // TODO.Translate
|
||||
L"Take cover",
|
||||
L"All: Attack",
|
||||
L"All: Hold Position",
|
||||
@@ -1912,6 +1913,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
||||
L"All: Come to me",
|
||||
L"All: Spread out",
|
||||
L"All: Get down",
|
||||
L"All: Crouch", // TODO.Translate
|
||||
L"All: Take cover",
|
||||
//L"All: Find items",
|
||||
L"Cancel", // cancel this menu
|
||||
|
||||
Reference in New Issue
Block a user