mirror of
https://github.com/1dot13/source.git
synced 2026-09-16 14:47:17 +02:00
-externalized assignment (repair, doctor, training) constants to ja2_options.ini, and added a few for good measure ;)
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@432 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -1063,7 +1063,7 @@ UINT8 ChanceOfItemTransaction( INT8 bArmsDealer, UINT16 usItemIndex, BOOLEAN fDe
|
||||
|
||||
// Madd
|
||||
if ( !fDealerIsSelling && fBobbyRay )
|
||||
ubChance *= gGameOptions.ubBobbyRay;
|
||||
ubChance = min(100,gGameOptions.ubBobbyRay * ubChance);
|
||||
|
||||
// if there's any uncertainty
|
||||
if ((ubChance > 0) && (ubChance < 100))
|
||||
@@ -1181,6 +1181,7 @@ UINT8 HowManyItemsAreSold( INT8 bArmsDealerID, UINT16 usItemIndex, UINT8 ubNumIn
|
||||
UINT8 HowManyItemsToReorder(UINT8 ubWanted, UINT8 ubStillHave)
|
||||
{
|
||||
UINT8 ubNumReordered;
|
||||
DebugMsg(TOPIC_JA2, DBG_LEVEL_3,String("HowManyItemsToReorder: wanted = %d, still have = %d",ubWanted, ubStillHave));
|
||||
|
||||
Assert(ubStillHave <= ubWanted);
|
||||
|
||||
@@ -1197,6 +1198,7 @@ UINT8 HowManyItemsToReorder(UINT8 ubWanted, UINT8 ubStillHave)
|
||||
break;
|
||||
}
|
||||
|
||||
DebugMsg(TOPIC_JA2, DBG_LEVEL_3,String("HowManyBRItemsToOrder: reordered = %d",ubNumReordered));
|
||||
return(ubNumReordered);
|
||||
}
|
||||
|
||||
|
||||
@@ -252,7 +252,7 @@ void ProcessStatChange(MERCPROFILESTRUCT *pProfile, UINT8 ubStat, UINT16 usNumCh
|
||||
usChance = 100 - (bCurrentRating + (*psStatGainPtr / usSubpointsPerPoint));
|
||||
|
||||
// prevent training beyond the training cap
|
||||
if ((ubReason == FROM_TRAINING) && (bCurrentRating + (*psStatGainPtr / usSubpointsPerPoint) >= TRAINING_RATING_CAP))
|
||||
if ((ubReason == FROM_TRAINING) && (bCurrentRating + (*psStatGainPtr / usSubpointsPerPoint) >= gGameExternalOptions.ubTrainingSkillMax))
|
||||
{
|
||||
usChance = 0;
|
||||
}
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@
|
||||
|
||||
// training cap: you can't train any stat/skill beyond this value
|
||||
// Madd
|
||||
#define TRAINING_RATING_CAP 100 // 85
|
||||
//#define TRAINING_RATING_CAP 100 // 85
|
||||
|
||||
// stat change causes
|
||||
#define FROM_SUCCESS 0
|
||||
|
||||
@@ -116,6 +116,7 @@ void StartBombMessageBox( SOLDIERTYPE * pSoldier, INT16 sGridNo );
|
||||
BOOLEAN HandleCheckForBadChangeToGetThrough( SOLDIERTYPE *pSoldier, SOLDIERTYPE *pTargetSoldier, INT16 sTargetGridNo , INT8 bLevel )
|
||||
{
|
||||
BOOLEAN fBadChangeToGetThrough = FALSE;
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("HandleCheckForBadChangeToGetThrough"));
|
||||
|
||||
if ( pTargetSoldier != NULL )
|
||||
{
|
||||
|
||||
@@ -7605,6 +7605,7 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( UINT8 ubID, BOOLEAN fCalledByAttacke
|
||||
|
||||
SOLDIERTYPE * ReduceAttackBusyCount( UINT8 ubID, BOOLEAN fCalledByAttacker )
|
||||
{
|
||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("ReduceAttackBusyCount") );
|
||||
if ( ubID == NOBODY )
|
||||
{
|
||||
return( InternalReduceAttackBusyCount( ubID, fCalledByAttacker, NOBODY ) );
|
||||
@@ -7620,7 +7621,7 @@ SOLDIERTYPE * FreeUpAttacker( UINT8 ubID )
|
||||
// Strange as this may seem, this function returns a pointer to
|
||||
// the *target* in case the target has changed sides as a result
|
||||
// of being attacked
|
||||
|
||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("FreeUpAttacker") );
|
||||
return( ReduceAttackBusyCount( ubID, TRUE ) );
|
||||
}
|
||||
|
||||
@@ -7629,7 +7630,7 @@ SOLDIERTYPE * FreeUpAttackerGivenTarget( UINT8 ubID, UINT8 ubTargetID )
|
||||
// Strange as this may seem, this function returns a pointer to
|
||||
// the *target* in case the target has changed sides as a result
|
||||
// of being attacked
|
||||
|
||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("FreeUpAttackerGivenTarget") );
|
||||
return( InternalReduceAttackBusyCount( ubID, TRUE, ubTargetID ) );
|
||||
}
|
||||
|
||||
@@ -7638,7 +7639,7 @@ SOLDIERTYPE * ReduceAttackBusyGivenTarget( UINT8 ubID, UINT8 ubTargetID )
|
||||
// Strange as this may seem, this function returns a pointer to
|
||||
// the *target* in case the target has changed sides as a result
|
||||
// of being attacked
|
||||
|
||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("ReduceAttackBusyGivenTarget") );
|
||||
return( InternalReduceAttackBusyCount( ubID, FALSE, ubTargetID ) );
|
||||
}
|
||||
|
||||
|
||||
@@ -331,6 +331,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
|
||||
case 430:
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,"AdjustToNextAnimationFrame: case 430");
|
||||
// SHOOT GUN
|
||||
// MAKE AN EVENT, BUT ONLY DO STUFF IF WE OWN THE GUY!
|
||||
SFireWeapon.usSoldierID = pSoldier->ubID;
|
||||
@@ -714,6 +715,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
|
||||
if ( ( pSoldier->bWeaponMode == WM_ATTACHED_GL_BURST && pSoldier->bDoBurst > Weapon[GetAttachedGrenadeLauncher(&pSoldier->inv[HANDPOS])].ubShotsPerBurst) || (pSoldier->bWeaponMode != WM_ATTACHED_GL_BURST && pSoldier->bDoBurst > ((pSoldier->bDoAutofire)?(pSoldier->bDoAutofire):(GetShotsPerBurst(&pSoldier->inv[HANDPOS])))) )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,"AdjustToNextAnimationFrame: Burst case 448, stopping because burst size too large");
|
||||
fStop = TRUE;
|
||||
fFreeUpAttacker = TRUE;
|
||||
}
|
||||
@@ -721,6 +723,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
// CHECK IF WE HAVE AMMO LEFT, IF NOT, END ANIMATION!
|
||||
if ( !EnoughAmmo( pSoldier, FALSE, pSoldier->ubAttackingHand ) )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,"AdjustToNextAnimationFrame: Burst case 448, stopping because not enough ammo");
|
||||
fStop = TRUE;
|
||||
fFreeUpAttacker = TRUE;
|
||||
if ( pSoldier->bTeam == gbPlayerNum )
|
||||
@@ -734,6 +737,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
bWeaponJammed = CheckForGunJam( pSoldier );
|
||||
if ( bWeaponJammed == TRUE )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,"AdjustToNextAnimationFrame: Burst case 448, stopping because weapon jammed");
|
||||
fStop = TRUE;
|
||||
fFreeUpAttacker = TRUE;
|
||||
// stop shooting!
|
||||
|
||||
@@ -1333,6 +1333,7 @@ void CheckForFreeupFromHit( SOLDIERTYPE *pSoldier, UINT32 uiOldAnimFlags, UINT32
|
||||
// THIS IS CALLED FROM AN EVENT ( S_CHANGESTATE )!
|
||||
BOOLEAN EVENT_InitNewSoldierAnim( SOLDIERTYPE *pSoldier, UINT16 usNewState, UINT16 usStartingAniCode, BOOLEAN fForce )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,"EVENT_InitNewSoldierAnim");
|
||||
UINT16 usNewGridNo = 0;
|
||||
INT16 sAPCost = 0;
|
||||
INT16 sBPCost = 0;
|
||||
@@ -2827,6 +2828,7 @@ void EVENT_FireSoldierWeapon( SOLDIERTYPE *pSoldier, INT16 sTargetGridNo )
|
||||
pSoldier->bBulletsLeft = __min( pSoldier->bDoAutofire, pSoldier->inv[ pSoldier->ubAttackingHand ].ubGunShotsLeft );
|
||||
else
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,"EVENT_FireSoldierWeapon: do burst");
|
||||
if ( pSoldier->bWeaponMode == WM_ATTACHED_GL_BURST )
|
||||
pSoldier->bBulletsLeft = __min( Weapon[GetAttachedGrenadeLauncher(&pSoldier->inv[pSoldier->ubAttackingHand])].ubShotsPerBurst, pSoldier->inv[ pSoldier->ubAttackingHand ].ubGunShotsLeft );
|
||||
else
|
||||
@@ -5167,6 +5169,7 @@ void TurnSoldier( SOLDIERTYPE *pSoldier)
|
||||
{
|
||||
if ( ( (gAnimControl[ pSoldier->usAnimState ].uiFlags & ANIM_FIREREADY ) && !pSoldier->fTurningFromPronePosition ) || pSoldier->ubBodyType == ROBOTNOWEAPON || pSoldier->ubBodyType == TANK_NW || pSoldier->ubBodyType == TANK_NE )
|
||||
{
|
||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("TurnSoldier: EVENT_InitNewSoldierAnim") );
|
||||
EVENT_InitNewSoldierAnim( pSoldier, SelectFireAnimation( pSoldier, gAnimControl[ pSoldier->usAnimState ].ubEndHeight ), 0, FALSE );
|
||||
pSoldier->fTurningToShoot = FALSE;
|
||||
|
||||
@@ -5744,6 +5747,7 @@ void AdjustAniSpeed( SOLDIERTYPE *pSoldier )
|
||||
|
||||
void CalculateSoldierAniSpeed( SOLDIERTYPE *pSoldier, SOLDIERTYPE *pStatsSoldier )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,"CalculateSoldierAniSpeed");
|
||||
UINT32 uiTerrainDelay;
|
||||
UINT32 uiSpeed = 0;
|
||||
|
||||
@@ -5924,6 +5928,7 @@ void SetSoldierAniSpeed( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
SOLDIERTYPE *pStatsSoldier;
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,"SetSoldierAniSpeed");
|
||||
|
||||
// ATE: If we are an enemy and are not visible......
|
||||
// Set speed to 0
|
||||
@@ -8125,6 +8130,7 @@ void SendChangeSoldierStanceEvent( SOLDIERTYPE *pSoldier, UINT8 ubNewStance )
|
||||
|
||||
void SendBeginFireWeaponEvent( SOLDIERTYPE *pSoldier, INT16 sTargetGridNo )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("SendBeginFireWeaponEvent"));
|
||||
EV_S_BEGINFIREWEAPON SBeginFireWeapon;
|
||||
|
||||
SBeginFireWeapon.usSoldierID = pSoldier->ubID;
|
||||
@@ -9189,6 +9195,7 @@ void GivingSoldierCancelServices( SOLDIERTYPE *pSoldier )
|
||||
|
||||
void HaultSoldierFromSighting( SOLDIERTYPE *pSoldier, BOOLEAN fFromSightingEnemy )
|
||||
{
|
||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("HaultSoldierFromSighting") );
|
||||
// SEND HUALT EVENT!
|
||||
//EV_S_STOP_MERC SStopMerc;
|
||||
|
||||
|
||||
@@ -1851,7 +1851,7 @@ void DoneAddingToIntList( SOLDIERTYPE * pSoldier, BOOLEAN fChange, UINT8 ubInter
|
||||
|
||||
void ResolveInterruptsVs( SOLDIERTYPE * pSoldier, UINT8 ubInterruptType)
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"ResolveInterruptsVs");
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("ResolveInterruptsVs: Soldier ID = %d, APs = %d",pSoldier->ubID,pSoldier->bActionPoints));
|
||||
UINT8 ubTeam, ubOpp;
|
||||
UINT8 ubIntCnt;
|
||||
UINT8 ubIntList[MAXMERCS];
|
||||
@@ -1901,6 +1901,7 @@ void ResolveInterruptsVs( SOLDIERTYPE * pSoldier, UINT8 ubInterruptType)
|
||||
switch (pOpponent->bInterruptDuelPts)
|
||||
{
|
||||
case NO_INTERRUPT: // no interrupt possible, no duel necessary
|
||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("ResolveInterruptsVs: No interrupt for opponent %d", pOpponent->ubID ) );
|
||||
fIntOccurs = FALSE;
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user