mirror of
https://github.com/1dot13/source.git
synced 2026-08-12 14:10:23 +02:00
- added AP & BP cost setting for arming bombs/grenades in inventory
- Fix: blowing up grenades in inventory now correctly costs APs - a message now shows how many prisoners were taken git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5891 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -12765,7 +12765,7 @@ void ItemDescTransformRegionCallback( MOUSE_REGION *pRegion, INT32 reason )
|
||||
{
|
||||
iTransformIndex++;
|
||||
|
||||
UINT16 apcost = APBPConstants[AP_INVENTORY_EXPLOSIVE_ACTIVATE];
|
||||
UINT16 usAPCost = APBPConstants[AP_INVENTORY_ARM];
|
||||
|
||||
// test wether item is already armed
|
||||
INT8 detonatortype;
|
||||
@@ -12779,24 +12779,24 @@ void ItemDescTransformRegionCallback( MOUSE_REGION *pRegion, INT32 reason )
|
||||
{
|
||||
fHaveToDisarm = TRUE;
|
||||
|
||||
if ( apcost > 0 && gTacticalStatus.uiFlags & INCOMBAT && gTacticalStatus.uiFlags & TURNBASED )
|
||||
if ( usAPCost > 0 && gTacticalStatus.uiFlags & INCOMBAT && gTacticalStatus.uiFlags & TURNBASED )
|
||||
{
|
||||
swprintf (MenuRowText, L"Disarm (%d AP)", apcost );
|
||||
swprintf (MenuRowText, szInventoryArmTextStr[STR_INV_ARM_DISARM_AP], usAPCost );
|
||||
}
|
||||
else
|
||||
{
|
||||
swprintf (MenuRowText, L"Disarm");
|
||||
swprintf (MenuRowText, szInventoryArmTextStr[STR_INV_ARM_DISARM]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( apcost > 0 && gTacticalStatus.uiFlags & INCOMBAT && gTacticalStatus.uiFlags & TURNBASED )
|
||||
if ( usAPCost > 0 && gTacticalStatus.uiFlags & INCOMBAT && gTacticalStatus.uiFlags & TURNBASED )
|
||||
{
|
||||
swprintf (MenuRowText, L"Arm (%d AP)", apcost );
|
||||
swprintf (MenuRowText, szInventoryArmTextStr[STR_INV_ARM_ARM_AP], usAPCost );
|
||||
}
|
||||
else
|
||||
{
|
||||
swprintf (MenuRowText, L"Arm");
|
||||
swprintf (MenuRowText, szInventoryArmTextStr[STR_INV_ARM_ARM]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12813,17 +12813,17 @@ void ItemDescTransformRegionCallback( MOUSE_REGION *pRegion, INT32 reason )
|
||||
{
|
||||
iTransformIndex++;
|
||||
|
||||
UINT16 apcost = 20;
|
||||
UINT16 usAPCost = APBPConstants[AP_INVENTORY_ARM];
|
||||
|
||||
CHAR16 MenuRowText[300];
|
||||
|
||||
if ( apcost > 0 && gTacticalStatus.uiFlags & INCOMBAT && gTacticalStatus.uiFlags & TURNBASED )
|
||||
if ( usAPCost > 0 && gTacticalStatus.uiFlags & INCOMBAT && gTacticalStatus.uiFlags & TURNBASED )
|
||||
{
|
||||
swprintf (MenuRowText, L"Blow up (%d AP)", apcost );
|
||||
swprintf (MenuRowText, szInventoryArmTextStr[STR_INV_ARM_BLOWUP_AP], usAPCost );
|
||||
}
|
||||
else
|
||||
{
|
||||
swprintf (MenuRowText, L"Blow up");
|
||||
swprintf (MenuRowText, szInventoryArmTextStr[STR_INV_ARM_BLOWUP]);
|
||||
}
|
||||
|
||||
// Generate a new option for the menu
|
||||
@@ -13019,6 +13019,21 @@ void TransformationMenuPopup_Arm( OBJECTTYPE* pObj )
|
||||
// if this is grenade, blow it up, no dialogue settings here
|
||||
if ( Item[pObj->usItem].usItemClass == IC_GRENADE )
|
||||
{
|
||||
// Start reading transformation data with APBP costs.
|
||||
UINT16 usAPCost = APBPConstants[AP_INVENTORY_ARM];
|
||||
INT32 iBPCost = APBPConstants[BP_INVENTORY_ARM];
|
||||
|
||||
// Check whether our soldier can afford this transformation!
|
||||
if (!EnoughPoints( gpItemDescSoldier, (INT16)usAPCost, iBPCost, true ))
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Soldier can afford the transformation. Deduct APBP as necessary.
|
||||
DeductPoints( gpItemDescSoldier, (INT16)usAPCost, iBPCost, false );
|
||||
}
|
||||
|
||||
INT8 screen = guiCurrentScreen;
|
||||
if ( screen == GAME_SCREEN )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user