mirror of
https://github.com/1dot13/source.git
synced 2026-08-12 14:10:23 +02:00
Helicopter features (by anv):
- Waldo can now repair the helicopter for money - alternative fuel system - damage to helicopter can damage passengers Appropriate Data in GameDir r1897. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6695 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -49,6 +49,9 @@
|
||||
|
||||
#include "Luaglobal.h"
|
||||
|
||||
// anv: Waldo The Mechanic - for fact checking with helicopter
|
||||
#include "Vehicles.h"
|
||||
|
||||
#define TESTQUESTS
|
||||
|
||||
extern SOLDIERTYPE * gpSrcSoldier;
|
||||
@@ -1307,6 +1310,43 @@ BOOLEAN CheckFact( UINT16 usFact, UINT8 ubProfileID )
|
||||
gubFact[usFact] = ;
|
||||
break;
|
||||
*/
|
||||
// anv: facts for checking if Waldo can repair helicopter
|
||||
|
||||
case FACT_HELI_DAMAGED_CAN_START_REPAIR:
|
||||
gubFact[usFact] = ( gGameExternalOptions.fWaldoCanRepairHelicopter &&
|
||||
!fHelicopterDestroyed && !fHelicopterIsAirBorne && gubHelicopterHitsTaken == 1 &&
|
||||
pVehicleList[ iHelicopterVehicleId ].sSectorX == gMercProfiles[ WALDO ].sSectorX && pVehicleList[ iHelicopterVehicleId ].sSectorY == gMercProfiles[ WALDO ].sSectorY &&
|
||||
LaptopSaveInfo.iCurrentBalance >= CalculateHelicopterRepairCost( FALSE ) &&
|
||||
gubHelicopterHoursToRepair == 0 && CheckFact( FACT_WALDO_MET, 0 ) );
|
||||
break;
|
||||
|
||||
case FACT_HELI_SERIOUSLY_DAMAGED_CAN_START_REPAIR:
|
||||
gubFact[usFact] = ( gGameExternalOptions.fWaldoCanRepairHelicopter &&
|
||||
!fHelicopterDestroyed && !fHelicopterIsAirBorne && gubHelicopterHitsTaken == 2 &&
|
||||
pVehicleList[ iHelicopterVehicleId ].sSectorX == gMercProfiles[ WALDO ].sSectorX && pVehicleList[ iHelicopterVehicleId ].sSectorY == gMercProfiles[ WALDO ].sSectorY &&
|
||||
LaptopSaveInfo.iCurrentBalance >= CalculateHelicopterRepairCost( TRUE ) &&
|
||||
gubHelicopterHoursToRepair == 0 && CheckFact( FACT_WALDO_MET, 0 ) );
|
||||
break;
|
||||
|
||||
case FACT_HELI_GIVEN_MONEY_CAN_START_REPAIR:
|
||||
gubFact[usFact] = ( ( gGameExternalOptions.fWaldoCanRepairHelicopter &&
|
||||
!fHelicopterDestroyed && !fHelicopterIsAirBorne && gubHelicopterHitsTaken > 0 &&
|
||||
pVehicleList[ iHelicopterVehicleId ].sSectorX == gMercProfiles[ WALDO ].sSectorX && pVehicleList[ iHelicopterVehicleId ].sSectorY == gMercProfiles[ WALDO ].sSectorY &&
|
||||
gubHelicopterHoursToRepair == 0 ) &&
|
||||
( CheckFact(FACT_GIVEN_ENOUGH_TO_REPAIR_HELI, 0) || CheckFact(FACT_GIVEN_ENOUGH_TO_SERIOUSLY_REPAIR_HELI, 0) ) && CheckFact( FACT_WALDO_MET, 0 ) );
|
||||
break;
|
||||
|
||||
case FACT_HELI_CANT_START_REPAIR:
|
||||
gubFact[usFact] = ( !CheckFact(FACT_HELI_GIVEN_MONEY_CAN_START_REPAIR, 0) && !CheckFact(FACT_HELICOPTER_IN_PERFECT_CONDITION, 0));
|
||||
break;
|
||||
|
||||
case FACT_HELICOPTER_IN_PERFECT_CONDITION:
|
||||
gubFact[usFact] = ( gubHelicopterHitsTaken == 0 );
|
||||
break;
|
||||
|
||||
case FACT_HELICOPTER_LOST:
|
||||
gubFact[usFact] = fHelicopterDestroyed;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user