- Fix: negative values for ExplosionSoundID or AltExplosionSoundID in ExplosionData.xml cause a game crash, even though negative values are intended

- armed vehicles always get the 'mounted' bonus for their guns
- removed unused code
- increased ASD starting resources

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8115 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2016-03-21 20:07:56 +00:00
parent 9e97538d89
commit be346d07ef
9 changed files with 37 additions and 95 deletions
+1 -7
View File
@@ -1155,13 +1155,7 @@ UINT32 UIHandleNewBadMerc( UI_EVENT *pUIEvent )
{
return( GAME_SCREEN );
}
// Flugente hack
/*if ( Water(usMapPos) )
pSoldier = TacticalCreateEnemyBoat( );
else
pSoldier = TacticalCreateEnemyJeep( );*/
usRandom = (UINT16)Random( 20 );
if( usRandom < 5 )
pSoldier = TacticalCreateAdministrator();
+4
View File
@@ -14307,6 +14307,10 @@ BOOLEAN SOLDIERTYPE::IsWeaponMounted( void )
if ( TileIsOutOfBounds( this->sGridNo ) )
return(FALSE);
// if we are a combat vehicle, our guns are always mounted
if ( ARMED_VEHICLE( this ) )
return TRUE;
// anv: passengers who can shoot can rest their guns
if ( this->flags.uiStatusFlags & (SOLDIER_DRIVER | SOLDIER_PASSENGER) )
{
-38
View File
@@ -3170,44 +3170,6 @@ SOLDIERTYPE* TacticalCreateEnemyJeep( )
return(pSoldier);
}
//USED BY STRATEGIC AI and AUTORESOLVE
// should to be succeeded by TacticalCreateArmyTroop/EliteEnemy and AddSoldierToVehicle
SOLDIERTYPE* TacticalCreateJeep()
{
BASIC_SOLDIERCREATE_STRUCT bp;
SOLDIERCREATE_STRUCT pp;
UINT8 ubID;
SOLDIERTYPE * pSoldier;
SOLDIERTYPE * pDriver;
if( guiCurrentScreen == AUTORESOLVE_SCREEN && !gfPersistantPBI )
{
pSoldier = ReserveTacticalSoldierForAutoresolve( SOLDIER_CLASS_ELITE );
if( pSoldier ) return pSoldier;
}
memset( &bp, 0, sizeof( BASIC_SOLDIERCREATE_STRUCT ) );
RandomizeRelativeLevel( &( bp.bRelativeAttributeLevel ), SOLDIER_CLASS_ELITE );
RandomizeRelativeLevel( &( bp.bRelativeEquipmentLevel ), SOLDIER_CLASS_ELITE );
bp.bTeam = CIV_TEAM;
bp.bOrders = STATIONARY;
bp.bAttitude = (INT8) Random( MAXATTITUDES );
bp.ubBodyType = JEEP;
bp.ubSoldierClass = SOLDIER_CLASS_NONE;
CreateDetailedPlacementGivenBasicPlacementInfo( &pp, &bp );
pp.ubProfile = 199;
pSoldier = TacticalCreateSoldier( &pp, &ubID );
if ( pSoldier )
{
// send soldier to centre of map, roughly
pSoldier->aiData.sNoiseGridno = (CENTRAL_GRIDNO + ( Random( CENTRAL_RADIUS * 2 + 1 ) - CENTRAL_RADIUS ) + ( Random( CENTRAL_RADIUS * 2 + 1 ) - CENTRAL_RADIUS ) * WORLD_COLS);
pSoldier->aiData.ubNoiseVolume = MAX_MISC_NOISE_DURATION;
}
return( pSoldier );
}
//USED BY STRATEGIC AI and AUTORESOLVE
SOLDIERTYPE* TacticalCreateZombie()
{
-1
View File
@@ -444,7 +444,6 @@ SOLDIERTYPE* TacticalCreateMilitia( UINT8 ubMilitiaClass, INT16 sX, INT16 sY );
SOLDIERTYPE* TacticalCreateCreature( INT8 bCreatureBodyType );
SOLDIERTYPE* TacticalCreateEnemyTank();
SOLDIERTYPE* TacticalCreateEnemyJeep( );
SOLDIERTYPE* TacticalCreateJeep();
// Flugente: create an armed civilian
SOLDIERTYPE* TacticalCreateArmedCivilian( UINT8 usSoldierClass = SOLDIER_CLASS_ARMY );
+1 -13
View File
@@ -9681,19 +9681,7 @@ INT32 BulletImpact( SOLDIERTYPE *pFirer, BULLET *pBullet, SOLDIERTYPE * pTarget,
{
ApplyDrugs_New( pTarget, ammoitem, 100 );
}
/*// Flugente: ammo can now add the lifedamage drug effect. This will kill the target in a few turns.
// this is intended to work on darts, but it is possible on any ammo
if ( AmmoTypes[ubAmmoType].ammoflag & AMMO_NEUROTOXIN )
{
pTarget->usSoldierFlagMask |= SOLDIER_DRUGGED;
ApplyDrugs_New( pTarget, ammoitem, 100 );
// Add lifedamage effects
pTarget->AddDrugValues( DRUG_TYPE_LIFEDAMAGE, Drug[DRUG_TYPE_LIFEDAMAGE].ubDrugEffect, Drug[DRUG_TYPE_LIFEDAMAGE].ubDrugTravelRate, Drug[DRUG_TYPE_LIFEDAMAGE].ubDrugSideEffect );
}
else */
if ( AmmoTypes[ubAmmoType].dart && sHitBy > 20 )
{
if (pubSpecial)