mirror of
https://github.com/1dot13/source.git
synced 2026-08-12 14:10:23 +02:00
Updates / Fixes by Arynn
- Fixed: Mercs randomly drop aimed weapons automatically under some weird circumstances - Fixed: Merc are now a little more "talkactive" - Update: New option screen with "Next" and "Prev" button. This allows "unlimited" of options in the option screen - New: New "Forced turn base mode" option in the option screen and also available via keyboard shortcut (CTRL+ALT+SHIFT+T) in tactical. This forces the game to go in turn based mode when there are enemies in the sector. INFO: There is a new STI Graphic (OPTIONSCREENADDONS2.sti) which is needed for the updated option screen. You can download the file from http://ja2.h758491.serverkompetenz.net/Wanne/NewOptionScreen/OPTIONSCREENADDONS2.sti Put this file in your Data\Interface folder. If I build a new release I will upload the file to SVN GameDir and then remove it from my private download folder. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@2610 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+17
-4
@@ -1901,7 +1901,7 @@ UINT32 UIHandleCMoveMerc( UI_EVENT *pUIEvent )
|
||||
//else
|
||||
if ( pSoldier->EVENT_InternalGetNewSoldierPath( sMapPos, pSoldier->usUIMovementMode, TRUE, FALSE ) )
|
||||
{
|
||||
pSoldier->InternalSoldierReadyWeapon( BATTLE_SOUND_OK1, BATTLE_SND_LOWER_VOLUME );
|
||||
pSoldier->InternalDoMercBattleSound( BATTLE_SOUND_OK1, BATTLE_SND_LOWER_VOLUME );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4703,7 +4703,20 @@ BOOLEAN MakeSoldierTurn( SOLDIERTYPE *pSoldier, INT16 sXPos, INT16 sYPos )
|
||||
// ATE: make stationary if...
|
||||
if ( pSoldier->flags.fNoAPToFinishMove )
|
||||
{
|
||||
pSoldier->SoldierGotoStationaryStance( );
|
||||
// arynn : fix lower ready weapons
|
||||
//previously "ready weapon" state was being dropped in a couple of cases
|
||||
//the fix involves bypassing the reset animation state for the various "ready weapon" types
|
||||
//since this is a reset animation function, we should be VERY specific about when and what we dont reset
|
||||
|
||||
UINT16 test;
|
||||
test = pSoldier->usAnimState;
|
||||
if (!( test == AIM_RIFLE_STAND || test == AIM_RIFLE_CROUCH ||
|
||||
test == AIM_RIFLE_PRONE || test == AIM_DUAL_STAND ||
|
||||
test == AIM_DUAL_CROUCH || test == AIM_DUAL_PRONE
|
||||
))
|
||||
{
|
||||
pSoldier->SoldierGotoStationaryStance( );
|
||||
}// arynn : fix lower ready weapon end_if
|
||||
}
|
||||
|
||||
//DEF: made it an event
|
||||
@@ -5100,7 +5113,7 @@ void EndMultiSoldierSelection( BOOLEAN fAcknowledge )
|
||||
}
|
||||
|
||||
if( !gGameSettings.fOptions[ TOPTION_MUTE_CONFIRMATIONS ] && fAcknowledge )
|
||||
pSoldier->InternalSoldierReadyWeapon( BATTLE_SOUND_ATTN1, BATTLE_SND_LOWER_VOLUME );
|
||||
pSoldier->InternalDoMercBattleSound( BATTLE_SOUND_ATTN1, BATTLE_SND_LOWER_VOLUME );
|
||||
|
||||
if ( pSoldier->flags.fMercAsleep )
|
||||
{
|
||||
@@ -5227,7 +5240,7 @@ BOOLEAN HandleMultiSelectionMove( INT16 sDestGridNo )
|
||||
|
||||
if ( pSoldier->EVENT_InternalGetNewSoldierPath( sDestGridNo, pSoldier->usUIMovementMode , TRUE, pSoldier->flags.fNoAPToFinishMove ) )
|
||||
{
|
||||
pSoldier->InternalSoldierReadyWeapon( BATTLE_SOUND_OK1, BATTLE_SND_LOWER_VOLUME );
|
||||
pSoldier->InternalDoMercBattleSound( BATTLE_SOUND_OK1, BATTLE_SND_LOWER_VOLUME );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+19
-2
@@ -5729,6 +5729,8 @@ void ExitCombatMode( )
|
||||
|
||||
EndTopMessage( );
|
||||
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Exit combat mode");// arynn : add forced turn mode
|
||||
|
||||
// OK, we have exited combat mode.....
|
||||
// Reset some flags for no aps to move, etc
|
||||
|
||||
@@ -5746,7 +5748,21 @@ void ExitCombatMode( )
|
||||
if ( pSoldier->flags.fNoAPToFinishMove && pSoldier->stats.bLife >= OKLIFE )
|
||||
{
|
||||
pSoldier->AdjustNoAPToFinishMove( FALSE );
|
||||
pSoldier->SoldierGotoStationaryStance( );
|
||||
|
||||
// arynn : fix lower ready weapons
|
||||
//previously "ready weapon" state was being dropped in a couple of cases
|
||||
//the fix involves bypassing the reset animation state for the various "ready weapon" types
|
||||
//since this is a reset animation function, we should be VERY specific about when and what we dont reset
|
||||
|
||||
UINT16 test;
|
||||
test = pSoldier->usAnimState;
|
||||
if (!( test == AIM_RIFLE_STAND || test == AIM_RIFLE_CROUCH ||
|
||||
test == AIM_RIFLE_PRONE || test == AIM_DUAL_STAND ||
|
||||
test == AIM_DUAL_CROUCH || test == AIM_DUAL_PRONE
|
||||
))
|
||||
{
|
||||
pSoldier->SoldierGotoStationaryStance( );
|
||||
}// arynn : fix lower ready weapon end_if
|
||||
}
|
||||
|
||||
//Cancel pending events
|
||||
@@ -6082,7 +6098,8 @@ BOOLEAN CheckForEndOfCombatMode( BOOLEAN fIncrementTurnsNotSeen )
|
||||
gTacticalStatus.bConsNumTurnsWeHaventSeenButEnemyDoes = 0;
|
||||
|
||||
// If we have reach a point where a cons. number of turns gone by....
|
||||
if ( gTacticalStatus.bConsNumTurnsNotSeen > 1 )
|
||||
//if ( gTacticalStatus.bConsNumTurnsNotSeen > 1 )
|
||||
if ( gTacticalStatus.bConsNumTurnsNotSeen > 1 && !gGameSettings.fOptions[ TOPTION_TOGGLE_TURN_MODE ])// arynn : add forced turn mode
|
||||
{
|
||||
|
||||
if(is_networked && !getReal)//hayden
|
||||
|
||||
@@ -23,6 +23,10 @@
|
||||
#include "Exit Grids.h"
|
||||
#endif
|
||||
|
||||
|
||||
#include "GameSettings.h" // arynn : add forced turn mode
|
||||
#include "font control.h" // arynn : add forced turn mode
|
||||
#include "message.h" // arynn : add forced turn mode
|
||||
#include "connect.h"
|
||||
//forward declarations of common classes to eliminate includes
|
||||
class OBJECTTYPE;
|
||||
@@ -1522,12 +1526,21 @@ void AddSoldierToSectorGridNo( SOLDIERTYPE *pSoldier, INT16 sGridNo, UINT8 ubDir
|
||||
// If he's an enemy... set presence
|
||||
if ( !pSoldier->aiData.bNeutral && (pSoldier->bSide != gbPlayerNum ) )
|
||||
{
|
||||
// ATE: Added if not bloodcats
|
||||
// only do this once they are seen.....
|
||||
if ( pSoldier->ubBodyType != BLOODCAT )
|
||||
{
|
||||
SetEnemyPresence( );
|
||||
}
|
||||
// ATE: Added if not bloodcats
|
||||
// only do this once they are seen.....
|
||||
if ( pSoldier->ubBodyType != BLOODCAT )
|
||||
{
|
||||
SetEnemyPresence( );
|
||||
// arynn : add forced turn mode : note not for bloodcats..
|
||||
if ( gGameSettings.fOptions[ TOPTION_TOGGLE_TURN_MODE ])
|
||||
{
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Forced Turn Mode Active, Entering Combat" );
|
||||
if( Random( 100 ) >= Random( 100 ) ) // give a chance for either to go first
|
||||
EnterCombatMode( OUR_TEAM );
|
||||
else
|
||||
EnterCombatMode( ENEMY_TEAM );
|
||||
}// arynn : add forced turn mode
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -205,6 +205,7 @@ void ToggleWireFrame();
|
||||
void RefreshSoldier();
|
||||
void ChangeSoldiersBodyType( UINT8 ubBodyType, BOOLEAN fCreateNewPalette );
|
||||
void TeleportSelectedSoldier();
|
||||
void ToggleTurnMode();// arynn : add forced turn mode
|
||||
void ToggleTreeTops();
|
||||
void ToggleZBuffer();
|
||||
void TogglePlanningMode();
|
||||
@@ -3662,9 +3663,16 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
|
||||
ToggleTreeTops();
|
||||
break;
|
||||
|
||||
case 'T':
|
||||
//resort Team by ubID
|
||||
SortSquadByID(MercPtrs[gusSelectedSoldier]->bTeam);
|
||||
case 'T':
|
||||
if ( fCtrl && fShift && fAlt && !is_networked)// arynn : add forced turn mode
|
||||
{
|
||||
ToggleTurnMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
//resort Team by ubID
|
||||
SortSquadByID(MercPtrs[gusSelectedSoldier]->bTeam);
|
||||
}
|
||||
break;
|
||||
|
||||
case '=':
|
||||
@@ -4519,7 +4527,20 @@ void TeleportSelectedSoldier()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ToggleTurnMode()// arynn : add forced turn mode
|
||||
{
|
||||
if ( !gGameSettings.fOptions[ TOPTION_TOGGLE_TURN_MODE ] )
|
||||
{
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Forced Turn Mode" );
|
||||
gGameSettings.fOptions[ TOPTION_TOGGLE_TURN_MODE ] = TRUE;
|
||||
EnterCombatMode( OUR_TEAM ); // arynn : randomize ? i'm leaving this for now due to "i made the call, i get dibs"
|
||||
}
|
||||
else
|
||||
{
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Normal turn mode");
|
||||
gGameSettings.fOptions[ TOPTION_TOGGLE_TURN_MODE ] = FALSE;
|
||||
}
|
||||
}// arynn : add forced turn mode
|
||||
|
||||
void ToggleTreeTops()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user