mirror of
https://github.com/1dot13/source.git
synced 2026-09-16 14:47:17 +02:00
New Feature: tracking allows rangers to track past movements.
Fro more info, see http://www.ja-galaxy-forum.com/ubbthreads.php/topics/337545#Post337545 git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7646 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -2313,6 +2313,8 @@ void LoadSkillTraitsExternalSettings()
|
|||||||
gSkillTraitValues.ubRAWeatherPenaltiesReduction = iniReader.ReadInteger("Ranger","WEATHER_PENALTIES_REDUCTION", 50, 0, 100);
|
gSkillTraitValues.ubRAWeatherPenaltiesReduction = iniReader.ReadInteger("Ranger","WEATHER_PENALTIES_REDUCTION", 50, 0, 100);
|
||||||
//gSkillTraitValues.ubRACamoEffectivenessBonus = iniReader.ReadInteger("Ranger","CAMO_EFFECTIVENESS_BONUS_PERCENT", 10, 0, 100);
|
//gSkillTraitValues.ubRACamoEffectivenessBonus = iniReader.ReadInteger("Ranger","CAMO_EFFECTIVENESS_BONUS_PERCENT", 10, 0, 100);
|
||||||
gSkillTraitValues.ubRACamoWornountSpeedReduction = iniReader.ReadInteger("Ranger","CAMO_WORNOUT_SPEED_REDUCTION", 50, 0, 100);
|
gSkillTraitValues.ubRACamoWornountSpeedReduction = iniReader.ReadInteger("Ranger","CAMO_WORNOUT_SPEED_REDUCTION", 50, 0, 100);
|
||||||
|
gSkillTraitValues.usTrackerMaxRange = iniReader.ReadInteger( "Ranger", "TRACKER_MAX_RANGE", 30, 0, 50 );
|
||||||
|
gSkillTraitValues.usTrackerAbility = iniReader.ReadInteger( "Ranger", "TRACKER_ABILITY", 30, 0, 50 );
|
||||||
|
|
||||||
// GUNSLINGER
|
// GUNSLINGER
|
||||||
gSkillTraitValues.ubGSFiringSpeedBonusPistols = iniReader.ReadInteger("Gunslinger","FIRING_SPEED_BONUS_PISTOLS", 15, 0, 45);
|
gSkillTraitValues.ubGSFiringSpeedBonusPistols = iniReader.ReadInteger("Gunslinger","FIRING_SPEED_BONUS_PISTOLS", 15, 0, 45);
|
||||||
|
|||||||
@@ -1608,6 +1608,8 @@ typedef struct
|
|||||||
UINT8 ubRACamoWornountSpeedReduction;
|
UINT8 ubRACamoWornountSpeedReduction;
|
||||||
UINT8 ubRAFiringSpeedBonusShotguns;
|
UINT8 ubRAFiringSpeedBonusShotguns;
|
||||||
UINT8 ubRAAimClicksAdded;
|
UINT8 ubRAAimClicksAdded;
|
||||||
|
UINT16 usTrackerMaxRange;
|
||||||
|
UINT8 usTrackerAbility;
|
||||||
|
|
||||||
// GUNSLINGER
|
// GUNSLINGER
|
||||||
UINT8 ubGSFiringSpeedBonusPistols;
|
UINT8 ubGSFiringSpeedBonusPistols;
|
||||||
|
|||||||
+9
-9
@@ -15,9 +15,9 @@
|
|||||||
#ifdef JA2EDITOR
|
#ifdef JA2EDITOR
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
CHAR16 zVersionLabel[256] = { L"Unfinished Business - Map Editor v1.13.7614 (Development Build)" };
|
CHAR16 zVersionLabel[256] = { L"Unfinished Business - Map Editor v1.13.7646 (Development Build)" };
|
||||||
#else
|
#else
|
||||||
CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.7614 (Development Build)" };
|
CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.7646 (Development Build)" };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ------------------------------
|
// ------------------------------
|
||||||
@@ -27,11 +27,11 @@
|
|||||||
|
|
||||||
//DEBUG BUILD VERSION
|
//DEBUG BUILD VERSION
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
CHAR16 zVersionLabel[256] = { L"Debug: Unfinished Business - v1.13.7614 (Development Build)" };
|
CHAR16 zVersionLabel[256] = { L"Debug: Unfinished Business - v1.13.7646 (Development Build)" };
|
||||||
#elif defined (JA113DEMO)
|
#elif defined (JA113DEMO)
|
||||||
CHAR16 zVersionLabel[256] = { L"Debug: JA2 Demo - v1.13.7614 (Development Build)" };
|
CHAR16 zVersionLabel[256] = { L"Debug: JA2 Demo - v1.13.7646 (Development Build)" };
|
||||||
#else
|
#else
|
||||||
CHAR16 zVersionLabel[256] = { L"Debug: v1.13.7614 (Development Build)" };
|
CHAR16 zVersionLabel[256] = { L"Debug: v1.13.7646 (Development Build)" };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#elif defined CRIPPLED_VERSION
|
#elif defined CRIPPLED_VERSION
|
||||||
@@ -46,16 +46,16 @@
|
|||||||
|
|
||||||
//RELEASE BUILD VERSION
|
//RELEASE BUILD VERSION
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
CHAR16 zVersionLabel[256] = { L"Release Unfinished Business - v1.13.7614 (Development Build)" };
|
CHAR16 zVersionLabel[256] = { L"Release Unfinished Business - v1.13.7646 (Development Build)" };
|
||||||
#elif defined (JA113DEMO)
|
#elif defined (JA113DEMO)
|
||||||
CHAR16 zVersionLabel[256] = { L"Release JA2 Demo - v1.13.7614 (Development Build)" };
|
CHAR16 zVersionLabel[256] = { L"Release JA2 Demo - v1.13.7646 (Development Build)" };
|
||||||
#else
|
#else
|
||||||
CHAR16 zVersionLabel[256] = { L"Release v1.13.7614 (Development Build)" };
|
CHAR16 zVersionLabel[256] = { L"Release v1.13.7646 (Development Build)" };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
CHAR8 czVersionNumber[16] = { "Build 14.10.26" }; //YY.MM.DD
|
CHAR8 czVersionNumber[16] = { "Build 14.11.3" }; //YY.MM.DD
|
||||||
CHAR16 zTrackingNumber[16] = { L"Z" };
|
CHAR16 zTrackingNumber[16] = { L"Z" };
|
||||||
|
|
||||||
// SAVE_GAME_VERSION is defined in header, change it there
|
// SAVE_GAME_VERSION is defined in header, change it there
|
||||||
|
|||||||
@@ -499,6 +499,11 @@ void AssignBackgroundHelpText( UINT16 ubNumber, MOUSE_REGION* pMouseregion )
|
|||||||
swprintf( atStr, szBackgroundText_Value[i] );
|
swprintf( atStr, szBackgroundText_Value[i] );
|
||||||
wcscat( apStr, atStr );
|
wcscat( apStr, atStr );
|
||||||
}
|
}
|
||||||
|
else if ( BG_TRACKER_ABILITY == i && zBackground[ubNumber].value[i] )
|
||||||
|
{
|
||||||
|
swprintf( atStr, szBackgroundText_Value[i], (UINT16)((gSkillTraitValues.usTrackerMaxRange * zBackground[ubNumber].value[i]) / 100) );
|
||||||
|
wcscat( apStr, atStr );
|
||||||
|
}
|
||||||
else if ( zBackground[ ubNumber ].value[i] )
|
else if ( zBackground[ ubNumber ].value[i] )
|
||||||
{
|
{
|
||||||
swprintf(atStr, szBackgroundText_Value[ i ], zBackground[ ubNumber ].value[i] > 0 ? L"+" : L"", zBackground[ ubNumber ].value[i] );
|
swprintf(atStr, szBackgroundText_Value[ i ], zBackground[ ubNumber ].value[i] > 0 ? L"+" : L"", zBackground[ ubNumber ].value[i] );
|
||||||
|
|||||||
@@ -7444,6 +7444,13 @@ void AssignPersonnelSkillTraitHelpText( UINT8 ubTraitNumber, BOOLEAN fExpertLeve
|
|||||||
swprintf( atStr, gzIMPMajorTraitsHelpTextsRanger[11], ( gSkillTraitValues.ubRACamoWornountSpeedReduction * (fExpertLevel ? 2 : 1)), sSpecialCharacters[0]);
|
swprintf( atStr, gzIMPMajorTraitsHelpTextsRanger[11], ( gSkillTraitValues.ubRACamoWornountSpeedReduction * (fExpertLevel ? 2 : 1)), sSpecialCharacters[0]);
|
||||||
wcscat( apStr, atStr );
|
wcscat( apStr, atStr );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( gSkillTraitValues.usTrackerMaxRange && gSkillTraitValues.usTrackerAbility )
|
||||||
|
{
|
||||||
|
swprintf( atStr, gzIMPMajorTraitsHelpTextsRanger[12], (gSkillTraitValues.usTrackerAbility * (fExpertLevel ? 2 : 1) * gSkillTraitValues.usTrackerMaxRange / 100) );
|
||||||
|
wcscat( apStr, atStr );
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GUNSLINGER_NT:
|
case GUNSLINGER_NT:
|
||||||
|
|||||||
+403
-483
File diff suppressed because it is too large
Load Diff
+73
-48
@@ -1,8 +1,8 @@
|
|||||||
#ifndef _DISPLAY_COVER__H_
|
#ifndef _DISPLAY_COVER__H_
|
||||||
#define _DISPLAY_COVER__H_
|
#define _DISPLAY_COVER__H_
|
||||||
|
|
||||||
void DisplayCoverOfSelectedGridNo( );
|
// resets the overlay modes so that everything will be reset at the NEXT display cycle
|
||||||
void RemoveCoverOfSelectedGridNo();
|
void ResetOverlayModes();
|
||||||
|
|
||||||
void DisplayRangeToTarget( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo );
|
void DisplayRangeToTarget( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo );
|
||||||
void DisplayCover(const BOOLEAN& forceUpdate = FALSE);
|
void DisplayCover(const BOOLEAN& forceUpdate = FALSE);
|
||||||
@@ -14,29 +14,66 @@ void SwitchViewOff();
|
|||||||
void ToggleMercView();
|
void ToggleMercView();
|
||||||
void ToggleEnemyView();
|
void ToggleEnemyView();
|
||||||
|
|
||||||
void SwitchCoverDrawMode();
|
|
||||||
|
|
||||||
void RemoveVisibleGridNoAtSelectedGridNo();
|
|
||||||
void DisplayGridNoVisibleToSoldierGrid( );
|
|
||||||
|
|
||||||
void CalculateCoverForSoldier( SOLDIERTYPE* pForSoldier, const INT32& sTargetGridNo, const BOOLEAN& fRoof, INT8& bCover );
|
void CalculateCoverForSoldier( SOLDIERTYPE* pForSoldier, const INT32& sTargetGridNo, const BOOLEAN& fRoof, INT8& bCover );
|
||||||
void CalculateCoverFromSoldier( SOLDIERTYPE* pFromSoldier, const INT32& sTargetGridNo, const BOOLEAN& fRoof, INT8& bCover, SOLDIERTYPE* pToSoldier = NULL );
|
void CalculateCoverFromSoldier( SOLDIERTYPE* pFromSoldier, const INT32& sTargetGridNo, const BOOLEAN& fRoof, INT8& bCover, SOLDIERTYPE* pToSoldier = NULL );
|
||||||
|
BOOLEAN CanSoldierSeeFloor( SOLDIERTYPE* pSoldier, INT32 sGridNo, INT8 bLevel );
|
||||||
|
|
||||||
|
// Flugente: all different overlays in one enum
|
||||||
#define DC_MAX_COVER_RANGE 43 //31
|
enum OVERLAY_VALUES
|
||||||
#define DC__SOLDIER_VISIBLE_RANGE 43 //31
|
|
||||||
#define DC__MIN_SIZE 4
|
|
||||||
#define DC__MAX_SIZE 21 //11
|
|
||||||
|
|
||||||
enum COVER_VALUES
|
|
||||||
{
|
{
|
||||||
INVALID_COVER = -1,
|
INVALID_COVER = -1,
|
||||||
NO_COVER = 0,
|
NO_COVER,
|
||||||
MIN_COVER = 1,
|
MIN_COVER,
|
||||||
MED_COVER = 2,
|
MED_COVER,
|
||||||
MAX_COVER = 3
|
MAX_COVER,
|
||||||
|
|
||||||
|
NO_SEE,
|
||||||
|
MIN_SEE,
|
||||||
|
MED_SEE,
|
||||||
|
MAX_SEE,
|
||||||
|
|
||||||
|
MINES_ALL,
|
||||||
|
MINE_BOMB,
|
||||||
|
MINE_WIRE,
|
||||||
|
MINE_BOMB_AND_WIRE,
|
||||||
|
MINES_NET_1,
|
||||||
|
MINES_NET_2,
|
||||||
|
MINES_NET_3,
|
||||||
|
MINES_NET_4,
|
||||||
|
MINES_LVL_1,
|
||||||
|
MINES_LVL_2,
|
||||||
|
MINES_LVL_3,
|
||||||
|
MINES_LVL_4,
|
||||||
|
MAX_MINES,
|
||||||
|
|
||||||
|
TRAIT_ALL,
|
||||||
|
TRAIT_1,
|
||||||
|
TRAIT_2,
|
||||||
|
MAX_TRAIT,
|
||||||
|
|
||||||
|
TRACKS_VERYOLD,
|
||||||
|
TRACKS_OLD,
|
||||||
|
TRACKS_RECENT,
|
||||||
|
TRACKS_BLOOD,
|
||||||
|
MAX_TRACKS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum COVER_DRAW_MODE {
|
||||||
|
COVER_DRAW_OFF,
|
||||||
|
COVER_DRAW_MERC_VIEW,
|
||||||
|
COVER_DRAW_ENEMY_VIEW
|
||||||
|
};
|
||||||
|
|
||||||
|
void ChangeSizeOfDisplayCover( INT32 iNewSize );
|
||||||
|
|
||||||
|
void ChangeSizeOfLOS( INT32 iNewSize );
|
||||||
|
//ddd for optimize oppponent turn
|
||||||
|
INT8 CalcCoverForGridNoBasedOnTeamKnownEnemies( SOLDIERTYPE *pSoldier, INT16 sTargetGridNo, INT8 bStance );
|
||||||
|
//ddd for optimize oppponent turn
|
||||||
|
|
||||||
|
|
||||||
|
// ----------------------------- Mines display after this ----------------------------------------
|
||||||
|
// added by Flugente: display of mine, bombs and tripwire
|
||||||
// Flugente: mines display - stuff needs to be here
|
// Flugente: mines display - stuff needs to be here
|
||||||
// Sevenfm: moved here from DisplayCover.cpp
|
// Sevenfm: moved here from DisplayCover.cpp
|
||||||
enum MINES_DRAW_MODE {
|
enum MINES_DRAW_MODE {
|
||||||
@@ -51,35 +88,6 @@ enum MINES_DRAW_MODE {
|
|||||||
MINES_DRAW_MAX
|
MINES_DRAW_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
// Flugente: trait draw mode
|
|
||||||
enum TRAIT_DRAW_MODE {
|
|
||||||
TRAIT_DRAW_OFF,
|
|
||||||
TRAIT_DRAW_RANGE,
|
|
||||||
TRAIT_DRAW_MAX
|
|
||||||
};
|
|
||||||
|
|
||||||
enum COVER_DRAW_MODE {
|
|
||||||
COVER_DRAW_OFF,
|
|
||||||
COVER_DRAW_MERC_VIEW,
|
|
||||||
COVER_DRAW_ENEMY_VIEW
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef JA2TESTVERSION
|
|
||||||
void DisplayLosAndDisplayCoverUsageScreenMsg();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void ChangeSizeOfDisplayCover( INT32 iNewSize );
|
|
||||||
|
|
||||||
void ChangeSizeOfLOS( INT32 iNewSize );
|
|
||||||
//ddd for optimize oppponent turn
|
|
||||||
INT8 CalcCoverForGridNoBasedOnTeamKnownEnemies( SOLDIERTYPE *pSoldier, INT16 sTargetGridNo, INT8 bStance );
|
|
||||||
//ddd for optimize oppponent turn
|
|
||||||
|
|
||||||
|
|
||||||
// ----------------------------- Mines display after this ----------------------------------------
|
|
||||||
// added by Flugente: display of mine, bombs and tripwire
|
|
||||||
void DisplayMines(const BOOLEAN& forceUpdate = FALSE);
|
|
||||||
|
|
||||||
void SwitchToTrapNetworkView();
|
void SwitchToTrapNetworkView();
|
||||||
void SwitchToHostileTrapsView();
|
void SwitchToHostileTrapsView();
|
||||||
void SwitchMineViewOff();
|
void SwitchMineViewOff();
|
||||||
@@ -91,10 +99,27 @@ void SwitchMinesDrawModeForNetworks();
|
|||||||
|
|
||||||
// ----------------------------- trait range display after this ----------------------------------------
|
// ----------------------------- trait range display after this ----------------------------------------
|
||||||
// added by Flugente: display of ranges and areas of effects for traits
|
// added by Flugente: display of ranges and areas of effects for traits
|
||||||
void DisplayTraitRange(const BOOLEAN& forceUpdate = FALSE);
|
// Flugente: trait draw mode
|
||||||
|
enum TRAIT_DRAW_MODE {
|
||||||
|
TRAIT_DRAW_OFF,
|
||||||
|
TRAIT_DRAW_RANGE,
|
||||||
|
TRAIT_DRAW_MAX
|
||||||
|
};
|
||||||
|
|
||||||
void ToggleTraitRangeView(BOOLEAN fOn = TRUE);
|
void ToggleTraitRangeView(BOOLEAN fOn = TRUE);
|
||||||
void SetTraitToDisplay( UINT32 aTrait );
|
void SetTraitToDisplay( UINT32 aTrait );
|
||||||
void SetGridNoForTraitDisplay( INT32 sGridNo );
|
void SetGridNoForTraitDisplay( INT32 sGridNo );
|
||||||
|
|
||||||
|
// ----------------------------- tracker display after this ----------------------------------------
|
||||||
|
// added by Flugente: display of ranges and areas of effects for traits
|
||||||
|
|
||||||
|
// Flugente: trait draw mode
|
||||||
|
enum TRACKER_DRAW_MODE {
|
||||||
|
TRACKER_DRAW_OFF,
|
||||||
|
TRACKER_DRAW_SMELL,
|
||||||
|
TRACKER_DRAW_MAX
|
||||||
|
};
|
||||||
|
|
||||||
|
extern TRACKER_DRAW_MODE gubDrawModeTracker;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -650,8 +650,6 @@ UINT32 HandleTacticalUI( void )
|
|||||||
|
|
||||||
DisplayCover();
|
DisplayCover();
|
||||||
|
|
||||||
DisplayMines(); // added by Flugente
|
|
||||||
|
|
||||||
if ( HandleItemPickupMenu( ) )
|
if ( HandleItemPickupMenu( ) )
|
||||||
{
|
{
|
||||||
uiNewEvent = A_CHANGE_TO_MOVE;
|
uiNewEvent = A_CHANGE_TO_MOVE;
|
||||||
|
|||||||
@@ -189,6 +189,7 @@ enum {
|
|||||||
BG_PERC_SPOTTER,
|
BG_PERC_SPOTTER,
|
||||||
BG_PERC_DISEASE_DIAGNOSE,
|
BG_PERC_DISEASE_DIAGNOSE,
|
||||||
BG_PERC_DISEASE_TREAT,
|
BG_PERC_DISEASE_TREAT,
|
||||||
|
BG_TRACKER_ABILITY,
|
||||||
|
|
||||||
BG_DISLIKEBG, // dislike any other background that has the negative of this value set
|
BG_DISLIKEBG, // dislike any other background that has the negative of this value set
|
||||||
|
|
||||||
|
|||||||
@@ -2691,6 +2691,7 @@ void HandleJohnArrival( SOLDIERTYPE * pSoldier )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern void DisplayCover( const BOOLEAN& forceUpdate );
|
||||||
|
|
||||||
BOOLEAN HandleAtNewGridNo( SOLDIERTYPE *pSoldier, BOOLEAN *pfKeepMoving )
|
BOOLEAN HandleAtNewGridNo( SOLDIERTYPE *pSoldier, BOOLEAN *pfKeepMoving )
|
||||||
{
|
{
|
||||||
@@ -2940,6 +2941,11 @@ BOOLEAN HandleAtNewGridNo( SOLDIERTYPE *pSoldier, BOOLEAN *pfKeepMoving )
|
|||||||
|
|
||||||
HandleSystemNewAISituation( pSoldier, FALSE );
|
HandleSystemNewAISituation( pSoldier, FALSE );
|
||||||
|
|
||||||
|
// Flugente: tracker...
|
||||||
|
if ( pSoldier->bInSector && gusSelectedSoldier == pSoldier->ubID && !pSoldier->bCollapsed )
|
||||||
|
{
|
||||||
|
DisplayCover( TRUE );
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef LUA_OVERHEAD
|
#ifdef LUA_OVERHEAD
|
||||||
LetLuaMyCustomHandleAtNewGridNo(NULL,pSoldier->ubProfile, 0);
|
LetLuaMyCustomHandleAtNewGridNo(NULL,pSoldier->ubProfile, 0);
|
||||||
|
|||||||
@@ -17372,6 +17372,8 @@ INT16 SOLDIERTYPE::GetInterruptModifier( UINT8 usDistance )
|
|||||||
return bonus;
|
return bonus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern void DisplayCover( const BOOLEAN& forceUpdate );
|
||||||
|
|
||||||
void SOLDIERTYPE::SoldierPropertyUpkeep( )
|
void SOLDIERTYPE::SoldierPropertyUpkeep( )
|
||||||
{
|
{
|
||||||
// these effects last only one turn
|
// these effects last only one turn
|
||||||
@@ -17427,7 +17429,12 @@ void SOLDIERTYPE::SoldierPropertyUpkeep( )
|
|||||||
{
|
{
|
||||||
this->usSoldierFlagMask &= ~SOLDIER_BATTLE_PARTICIPATION;
|
this->usSoldierFlagMask &= ~SOLDIER_BATTLE_PARTICIPATION;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( this->bInSector && this->bTeam == gbPlayerNum && !this->bCollapsed )
|
||||||
|
{
|
||||||
|
DisplayCover( TRUE );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// check if Soldier can use the spell skillwise, with fAPCheck = TRUE also check current APs
|
// check if Soldier can use the spell skillwise, with fAPCheck = TRUE also check current APs
|
||||||
BOOLEAN SOLDIERTYPE::CanUseSkill( INT8 iSkill, BOOLEAN fAPCheck )
|
BOOLEAN SOLDIERTYPE::CanUseSkill( INT8 iSkill, BOOLEAN fAPCheck )
|
||||||
|
|||||||
@@ -8231,6 +8231,7 @@ void HandleTacticalCoverMenu( void )
|
|||||||
gzUserDefinedButtonColor[1] = FONT_MCOLOR_LTYELLOW;
|
gzUserDefinedButtonColor[1] = FONT_MCOLOR_LTYELLOW;
|
||||||
gzUserDefinedButtonColor[2] = FONT_MCOLOR_LTYELLOW;
|
gzUserDefinedButtonColor[2] = FONT_MCOLOR_LTYELLOW;
|
||||||
gzUserDefinedButtonColor[4] = gDisplayEnemyRoles ? FONT_MCOLOR_LTGREEN : FONT_LTRED;
|
gzUserDefinedButtonColor[4] = gDisplayEnemyRoles ? FONT_MCOLOR_LTGREEN : FONT_LTRED;
|
||||||
|
gzUserDefinedButtonColor[6] = (gubDrawModeTracker == TRACKER_DRAW_OFF) ? FONT_LTRED : FONT_MCOLOR_LTGREEN;
|
||||||
gzUserDefinedButtonColor[8] = FONT_ORANGE;
|
gzUserDefinedButtonColor[8] = FONT_ORANGE;
|
||||||
gzUserDefinedButtonColor[9] = FONT_ORANGE;
|
gzUserDefinedButtonColor[9] = FONT_ORANGE;
|
||||||
gzUserDefinedButtonColor[10] = FONT_ORANGE;
|
gzUserDefinedButtonColor[10] = FONT_ORANGE;
|
||||||
@@ -8244,22 +8245,18 @@ void HandleTacticalCoverMenu( void )
|
|||||||
|
|
||||||
void TacticalCoverMessageBoxCallBack( UINT8 ubExitValue )
|
void TacticalCoverMessageBoxCallBack( UINT8 ubExitValue )
|
||||||
{
|
{
|
||||||
gubDrawModeMine = MINES_DRAW_OFF;
|
|
||||||
gubDrawMode = COVER_DRAW_OFF;
|
|
||||||
switch( ubExitValue )
|
switch( ubExitValue )
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
gubDrawModeMine = MINES_DRAW_OFF;
|
ResetOverlayModes( );
|
||||||
gubDrawMode = COVER_DRAW_OFF;
|
|
||||||
DisplayMines(TRUE);
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
|
ResetOverlayModes( );
|
||||||
gubDrawMode = COVER_DRAW_ENEMY_VIEW;
|
gubDrawMode = COVER_DRAW_ENEMY_VIEW;
|
||||||
DisplayCover(TRUE);
|
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
|
ResetOverlayModes( );
|
||||||
gubDrawMode = COVER_DRAW_MERC_VIEW;
|
gubDrawMode = COVER_DRAW_MERC_VIEW;
|
||||||
DisplayCover(TRUE);
|
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
break;
|
break;
|
||||||
@@ -8269,40 +8266,52 @@ void TacticalCoverMessageBoxCallBack( UINT8 ubExitValue )
|
|||||||
case 6:
|
case 6:
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
|
if ( gubDrawModeTracker == TRACKER_DRAW_SMELL )
|
||||||
|
{
|
||||||
|
ResetOverlayModes( );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ResetOverlayModes( );
|
||||||
|
gubDrawModeTracker = TRACKER_DRAW_SMELL;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
|
ResetOverlayModes( );
|
||||||
gubDrawModeMine = MINES_DRAW_PLAYERTEAM_NETWORKS;
|
gubDrawModeMine = MINES_DRAW_PLAYERTEAM_NETWORKS;
|
||||||
DisplayMines(TRUE);
|
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
|
ResetOverlayModes( );
|
||||||
gubDrawModeMine = MINES_DRAW_NETWORKCOLOURING;
|
gubDrawModeMine = MINES_DRAW_NETWORKCOLOURING;
|
||||||
DisplayMines(TRUE);
|
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 11:
|
||||||
|
ResetOverlayModes( );
|
||||||
gubDrawModeMine = MINES_DRAW_DETECT_ENEMY;
|
gubDrawModeMine = MINES_DRAW_DETECT_ENEMY;
|
||||||
DisplayMines(TRUE);
|
|
||||||
break;
|
break;
|
||||||
case 12:
|
case 12:
|
||||||
break;
|
break;
|
||||||
case 13:
|
case 13:
|
||||||
|
ResetOverlayModes( );
|
||||||
gubDrawModeMine = MINES_DRAW_NET_A;
|
gubDrawModeMine = MINES_DRAW_NET_A;
|
||||||
DisplayMines(TRUE);
|
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 14:
|
||||||
|
ResetOverlayModes( );
|
||||||
gubDrawModeMine = MINES_DRAW_NET_B;
|
gubDrawModeMine = MINES_DRAW_NET_B;
|
||||||
DisplayMines(TRUE);
|
|
||||||
break;
|
break;
|
||||||
case 15:
|
case 15:
|
||||||
|
ResetOverlayModes( );
|
||||||
gubDrawModeMine = MINES_DRAW_NET_C;
|
gubDrawModeMine = MINES_DRAW_NET_C;
|
||||||
DisplayMines(TRUE);
|
|
||||||
break;
|
break;
|
||||||
case 16:
|
case 16:
|
||||||
|
ResetOverlayModes( );
|
||||||
gubDrawModeMine = MINES_DRAW_NET_D;
|
gubDrawModeMine = MINES_DRAW_NET_D;
|
||||||
DisplayMines(TRUE);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DisplayCover( TRUE );
|
||||||
|
|
||||||
if( ubExitValue <= TACTICAL_COVER_DIALOG_NUM )
|
if( ubExitValue <= TACTICAL_COVER_DIALOG_NUM )
|
||||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szTacticalCoverDialogPrintString[ubExitValue-1]);
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szTacticalCoverDialogPrintString[ubExitValue-1]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ backgroundStartElementHandle(void *userData, const XML_Char *name, const XML_Cha
|
|||||||
strcmp(name, "spotter") == 0 ||
|
strcmp(name, "spotter") == 0 ||
|
||||||
strcmp(name, "disease_diagnose" ) == 0 ||
|
strcmp(name, "disease_diagnose" ) == 0 ||
|
||||||
strcmp(name, "disease_treatment" ) == 0 ||
|
strcmp(name, "disease_treatment" ) == 0 ||
|
||||||
|
strcmp(name, "tracker_ability" ) == 0 ||
|
||||||
strcmp(name, "dislikebackground" ) == 0 ||
|
strcmp(name, "dislikebackground" ) == 0 ||
|
||||||
strcmp(name, "druguse") == 0 ||
|
strcmp(name, "druguse") == 0 ||
|
||||||
strcmp(name, "xenophobic") == 0 ||
|
strcmp(name, "xenophobic") == 0 ||
|
||||||
@@ -137,7 +138,7 @@ backgroundStartElementHandle(void *userData, const XML_Char *name, const XML_Cha
|
|||||||
strcmp(name, "traplevel") == 0 ||
|
strcmp(name, "traplevel") == 0 ||
|
||||||
strcmp(name, "no_male") == 0 ||
|
strcmp(name, "no_male") == 0 ||
|
||||||
strcmp(name, "no_female") == 0 ||
|
strcmp(name, "no_female") == 0 ||
|
||||||
strcmp( name, "loyalitylossondeath" ) == 0 ))
|
strcmp(name, "loyalitylossondeath" ) == 0 ))
|
||||||
|
|
||||||
{
|
{
|
||||||
pData->curElement = ELEMENT_PROPERTY;
|
pData->curElement = ELEMENT_PROPERTY;
|
||||||
@@ -538,6 +539,11 @@ backgroundEndElementHandle(void *userData, const XML_Char *name)
|
|||||||
pData->curElement = ELEMENT;
|
pData->curElement = ELEMENT;
|
||||||
pData->curBackground.value[BG_PERC_DISEASE_TREAT] = min( 50, max( -50, (INT16)atol( pData->szCharData ) ) );
|
pData->curBackground.value[BG_PERC_DISEASE_TREAT] = min( 50, max( -50, (INT16)atol( pData->szCharData ) ) );
|
||||||
}
|
}
|
||||||
|
else if ( strcmp( name, "tracker_ability" ) == 0 )
|
||||||
|
{
|
||||||
|
pData->curElement = ELEMENT;
|
||||||
|
pData->curBackground.value[BG_TRACKER_ABILITY] = min( 40, max( 0, (INT16)atol( pData->szCharData ) ) );
|
||||||
|
}
|
||||||
else if ( strcmp( name, "dislikebackground" ) == 0 )
|
else if ( strcmp( name, "dislikebackground" ) == 0 )
|
||||||
{
|
{
|
||||||
pData->curElement = ELEMENT;
|
pData->curElement = ELEMENT;
|
||||||
|
|||||||
+21
-40
@@ -63,19 +63,19 @@
|
|||||||
UINT8 ubBloodGraphicLUT [ ] = { 3, 3, 2, 2, 1, 1, 0, 0 };
|
UINT8 ubBloodGraphicLUT [ ] = { 3, 3, 2, 2, 1, 1, 0, 0 };
|
||||||
|
|
||||||
|
|
||||||
#define SMELL_STRENGTH_MAX 63
|
#define SMELL_STRENGTH_MAX 63
|
||||||
#define BLOOD_STRENGTH_MAX 7
|
#define BLOOD_STRENGTH_MAX 7
|
||||||
#define BLOOD_DELAY_MAX 3
|
#define BLOOD_DELAY_MAX 3
|
||||||
|
|
||||||
#define SMELL_TYPE_BITS( s ) (s & 0x03)
|
#define SMELL_TYPE_BITS( s ) (s & 0x03)
|
||||||
|
|
||||||
#define BLOOD_ROOF_TYPE( s ) (s & 0x02)
|
#define BLOOD_ROOF_TYPE( s ) (s & 0x02)
|
||||||
#define BLOOD_FLOOR_TYPE( s ) (s & 0x01)
|
#define BLOOD_FLOOR_TYPE( s ) (s & 0x01)
|
||||||
|
|
||||||
#define BLOOD_ROOF_STRENGTH( b ) (b & 0xE0)
|
#define BLOOD_ROOF_STRENGTH( b ) (b & 0xE0)
|
||||||
#define BLOOD_FLOOR_STRENGTH( b ) ( (b & 0x1C) >> 2 )
|
#define BLOOD_FLOOR_STRENGTH( b ) ( (b & 0x1C) >> 2 )
|
||||||
#define BLOOD_DELAY_TIME( b ) (b & 0x03)
|
#define BLOOD_DELAY_TIME( b ) (b & 0x03)
|
||||||
#define NO_BLOOD_STRENGTH( b ) ((b & 0xFC) == 0)
|
#define NO_BLOOD_STRENGTH( b ) ((b & 0xFC) == 0)
|
||||||
|
|
||||||
#define DECAY_SMELL_STRENGTH( s ) \
|
#define DECAY_SMELL_STRENGTH( s ) \
|
||||||
{ \
|
{ \
|
||||||
@@ -150,17 +150,13 @@ void RemoveBlood( INT32 sGridNo, INT8 bLevel )
|
|||||||
UpdateBloodGraphics( sGridNo, bLevel );
|
UpdateBloodGraphics( sGridNo, bLevel );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DecaySmells( void )
|
void DecaySmells( void )
|
||||||
{
|
{
|
||||||
INT32 uiLoop;
|
INT32 uiLoop;
|
||||||
MAP_ELEMENT * pMapElement;
|
MAP_ELEMENT * pMapElement;
|
||||||
|
|
||||||
//return;
|
for ( uiLoop = 0, pMapElement = gpWorldLevelData; uiLoop < WORLD_MAX; ++uiLoop, ++pMapElement )
|
||||||
|
|
||||||
for (uiLoop = 0, pMapElement = gpWorldLevelData; uiLoop < WORLD_MAX; uiLoop++, pMapElement++)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
if (pMapElement->ubSmellInfo)
|
if (pMapElement->ubSmellInfo)
|
||||||
{
|
{
|
||||||
// decay smell strength!
|
// decay smell strength!
|
||||||
@@ -174,13 +170,12 @@ void DecaySmells( void )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DecayBlood()
|
void DecayBlood()
|
||||||
{
|
{
|
||||||
INT32 uiLoop;
|
INT32 uiLoop;
|
||||||
MAP_ELEMENT * pMapElement;
|
MAP_ELEMENT * pMapElement;
|
||||||
|
|
||||||
for (uiLoop = 0, pMapElement = gpWorldLevelData; uiLoop < WORLD_MAX; uiLoop++, pMapElement++)
|
for (uiLoop = 0, pMapElement = gpWorldLevelData; uiLoop < WORLD_MAX; ++uiLoop, ++pMapElement)
|
||||||
{
|
{
|
||||||
if (pMapElement->ubBloodInfo)
|
if (pMapElement->ubBloodInfo)
|
||||||
{
|
{
|
||||||
@@ -274,10 +269,10 @@ void DecayBloodAndSmells( UINT32 uiTime )
|
|||||||
void DropSmell( SOLDIERTYPE * pSoldier )
|
void DropSmell( SOLDIERTYPE * pSoldier )
|
||||||
{
|
{
|
||||||
MAP_ELEMENT * pMapElement;
|
MAP_ELEMENT * pMapElement;
|
||||||
UINT8 ubOldSmell;
|
UINT8 ubOldSmell;
|
||||||
UINT8 ubOldStrength;
|
UINT8 ubOldStrength;
|
||||||
UINT8 ubSmell;
|
UINT8 ubSmell;
|
||||||
UINT8 ubStrength;
|
UINT8 ubStrength;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Here we are creating a new smell on the ground. If there is blood in
|
* Here we are creating a new smell on the ground. If there is blood in
|
||||||
@@ -354,7 +349,6 @@ void DropSmell( SOLDIERTYPE * pSoldier )
|
|||||||
// otherwise skip dropping smell
|
// otherwise skip dropping smell
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void InternalDropBlood( INT32 sGridNo, INT8 bLevel, UINT8 ubType, UINT8 ubStrength, INT8 bVisible )
|
void InternalDropBlood( INT32 sGridNo, INT8 bLevel, UINT8 ubType, UINT8 ubStrength, INT8 bVisible )
|
||||||
{
|
{
|
||||||
CHAR tmpMPDbgString[512];
|
CHAR tmpMPDbgString[512];
|
||||||
@@ -381,9 +375,9 @@ void InternalDropBlood( INT32 sGridNo, INT8 bLevel, UINT8 ubType, UINT8 ubStreng
|
|||||||
// ATE: Send warning if dropping blood nowhere....
|
// ATE: Send warning if dropping blood nowhere....
|
||||||
if (TileIsOutOfBounds(sGridNo))
|
if (TileIsOutOfBounds(sGridNo))
|
||||||
{
|
{
|
||||||
#ifdef JA2BETAVERSION
|
#ifdef JA2BETAVERSION
|
||||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_TESTVERSION, L"Attempting to drop blood NOWHERE" );
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_TESTVERSION, L"Attempting to drop blood NOWHERE" );
|
||||||
#endif
|
#endif
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -469,10 +463,8 @@ void InternalDropBlood( INT32 sGridNo, INT8 bLevel, UINT8 ubType, UINT8 ubStreng
|
|||||||
{
|
{
|
||||||
UpdateBloodGraphics( sGridNo, bLevel );
|
UpdateBloodGraphics( sGridNo, bLevel );
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DropBlood( SOLDIERTYPE * pSoldier, UINT8 ubStrength, INT8 bVisible )
|
void DropBlood( SOLDIERTYPE * pSoldier, UINT8 ubStrength, INT8 bVisible )
|
||||||
{
|
{
|
||||||
UINT8 ubType;
|
UINT8 ubType;
|
||||||
@@ -485,30 +477,23 @@ void DropBlood( SOLDIERTYPE * pSoldier, UINT8 ubStrength, INT8 bVisible )
|
|||||||
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MONSTER )
|
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MONSTER )
|
||||||
{
|
{
|
||||||
if ( pSoldier->pathing.bLevel == 0 )
|
if ( pSoldier->pathing.bLevel == 0 )
|
||||||
{
|
|
||||||
ubType = CREATURE_ON_FLOOR;
|
ubType = CREATURE_ON_FLOOR;
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
|
||||||
ubType = CREATURE_ON_ROOF;
|
ubType = CREATURE_ON_ROOF;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ubType = 0;
|
ubType = HUMAN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
InternalDropBlood( pSoldier->sGridNo, pSoldier->pathing.bLevel, ubType, ubStrength, bVisible );
|
InternalDropBlood( pSoldier->sGridNo, pSoldier->pathing.bLevel, ubType, ubStrength, bVisible );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void UpdateBloodGraphics( INT32 sGridNo, INT8 bLevel )
|
void UpdateBloodGraphics( INT32 sGridNo, INT8 bLevel )
|
||||||
{
|
{
|
||||||
MAP_ELEMENT * pMapElement;
|
MAP_ELEMENT * pMapElement;
|
||||||
INT8 bValue;
|
INT8 bValue;
|
||||||
UINT16 usIndex, usNewIndex;
|
UINT16 usIndex, usNewIndex;
|
||||||
|
|
||||||
// OK, based on level, type, display graphics for blood
|
// OK, based on level, type, display graphics for blood
|
||||||
pMapElement = &(gpWorldLevelData[ sGridNo ]);
|
pMapElement = &(gpWorldLevelData[ sGridNo ]);
|
||||||
@@ -521,7 +506,6 @@ void UpdateBloodGraphics( INT32 sGridNo, INT8 bLevel )
|
|||||||
|
|
||||||
if ( pMapElement->uiFlags & MAPELEMENT_REEVALUATEBLOOD )
|
if ( pMapElement->uiFlags & MAPELEMENT_REEVALUATEBLOOD )
|
||||||
{
|
{
|
||||||
|
|
||||||
// Turn off flag!
|
// Turn off flag!
|
||||||
pMapElement->uiFlags &= ( ~MAPELEMENT_REEVALUATEBLOOD );
|
pMapElement->uiFlags &= ( ~MAPELEMENT_REEVALUATEBLOOD );
|
||||||
|
|
||||||
@@ -567,18 +551,15 @@ void UpdateBloodGraphics( INT32 sGridNo, INT8 bLevel )
|
|||||||
|
|
||||||
//ApplyMapChangesToMapTempFile( FALSE );
|
//ApplyMapChangesToMapTempFile( FALSE );
|
||||||
|
|
||||||
|
|
||||||
// Update rendering!
|
// Update rendering!
|
||||||
pMapElement->uiFlags|=MAPELEMENT_REDRAW;
|
pMapElement->uiFlags|=MAPELEMENT_REDRAW;
|
||||||
SetRenderFlags(RENDER_FLAG_MARKED);
|
SetRenderFlags(RENDER_FLAG_MARKED);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Roof
|
// Roof
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8247,6 +8247,7 @@ STR16 szBackgroundText_Value[]=
|
|||||||
L" %s%d%%发现狙击手的成功率\n",
|
L" %s%d%%发现狙击手的成功率\n",
|
||||||
L" %s%d%% effectiveness at diagnosing diseases\n", // TODO.Translate
|
L" %s%d%% effectiveness at diagnosing diseases\n", // TODO.Translate
|
||||||
L" %s%d%% effectiveness at treating population against diseases\n",
|
L" %s%d%% effectiveness at treating population against diseases\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n",
|
||||||
|
|
||||||
L" dislikes some other backgrounds", // TODO.Translate
|
L" dislikes some other backgrounds", // TODO.Translate
|
||||||
};
|
};
|
||||||
@@ -9109,7 +9110,7 @@ STR16 szTacticalCoverDialogString[]=
|
|||||||
|
|
||||||
L"Roles", // TODO.Translate
|
L"Roles", // TODO.Translate
|
||||||
L"",
|
L"",
|
||||||
L"",
|
L"Tracker",
|
||||||
L"",
|
L"",
|
||||||
|
|
||||||
L"陷阱",
|
L"陷阱",
|
||||||
|
|||||||
@@ -8260,6 +8260,7 @@ STR16 szBackgroundText_Value[]=
|
|||||||
L" %s%d%% effectiveness as spotter for fellow snipers\n", // TODO.Translate
|
L" %s%d%% effectiveness as spotter for fellow snipers\n", // TODO.Translate
|
||||||
L" %s%d%% effectiveness at diagnosing diseases\n", // TODO.Translate
|
L" %s%d%% effectiveness at diagnosing diseases\n", // TODO.Translate
|
||||||
L" %s%d%% effectiveness at treating population against diseases\n",
|
L" %s%d%% effectiveness at treating population against diseases\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n",
|
||||||
|
|
||||||
L" dislikes some other backgrounds", // TODO.Translate
|
L" dislikes some other backgrounds", // TODO.Translate
|
||||||
};
|
};
|
||||||
@@ -9120,7 +9121,7 @@ STR16 szTacticalCoverDialogString[]=
|
|||||||
|
|
||||||
L"Roles", // TODO.Translate
|
L"Roles", // TODO.Translate
|
||||||
L"",
|
L"",
|
||||||
L"",
|
L"Tracker",
|
||||||
L"",
|
L"",
|
||||||
|
|
||||||
L"Traps",
|
L"Traps",
|
||||||
|
|||||||
@@ -8245,6 +8245,7 @@ STR16 szBackgroundText_Value[]=
|
|||||||
L" %s%d%% effectiveness as spotter for fellow snipers\n",
|
L" %s%d%% effectiveness as spotter for fellow snipers\n",
|
||||||
L" %s%d%% effectiveness at diagnosing diseases\n",
|
L" %s%d%% effectiveness at diagnosing diseases\n",
|
||||||
L" %s%d%% effectiveness at treating population against diseases\n",
|
L" %s%d%% effectiveness at treating population against diseases\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n",
|
||||||
|
|
||||||
L" dislikes some other backgrounds",
|
L" dislikes some other backgrounds",
|
||||||
};
|
};
|
||||||
@@ -9158,7 +9159,7 @@ STR16 szTacticalCoverDialogString[]=
|
|||||||
|
|
||||||
L"Roles",
|
L"Roles",
|
||||||
L"",
|
L"",
|
||||||
L"",
|
L"Tracker",
|
||||||
L"",
|
L"",
|
||||||
|
|
||||||
L"Traps",
|
L"Traps",
|
||||||
|
|||||||
@@ -8246,6 +8246,7 @@ STR16 szBackgroundText_Value[]=
|
|||||||
L" %s%d%% d'efficacité comme guetteur pour vos tireurs d'élite\n",
|
L" %s%d%% d'efficacité comme guetteur pour vos tireurs d'élite\n",
|
||||||
L" %s%d%% effectiveness at diagnosing diseases\n", // TODO.Translate
|
L" %s%d%% effectiveness at diagnosing diseases\n", // TODO.Translate
|
||||||
L" %s%d%% effectiveness at treating population against diseases\n",
|
L" %s%d%% effectiveness at treating population against diseases\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n",
|
||||||
|
|
||||||
L" dislikes some other backgrounds", // TODO.Translate
|
L" dislikes some other backgrounds", // TODO.Translate
|
||||||
};
|
};
|
||||||
@@ -9106,7 +9107,7 @@ STR16 szTacticalCoverDialogString[]=
|
|||||||
|
|
||||||
L"Roles", // TODO.Translate
|
L"Roles", // TODO.Translate
|
||||||
L"",
|
L"",
|
||||||
L"",
|
L"Tracker",
|
||||||
L"",
|
L"",
|
||||||
|
|
||||||
L"Pièges",
|
L"Pièges",
|
||||||
|
|||||||
@@ -8077,6 +8077,7 @@ STR16 szBackgroundText_Value[]=
|
|||||||
L" %s%d%% effectiveness as spotter for fellow snipers\n", // TODO.Translate
|
L" %s%d%% effectiveness as spotter for fellow snipers\n", // TODO.Translate
|
||||||
L" %s%d%% effectiveness at diagnosing diseases\n", // TODO.Translate
|
L" %s%d%% effectiveness at diagnosing diseases\n", // TODO.Translate
|
||||||
L" %s%d%% effectiveness at treating population against diseases\n",
|
L" %s%d%% effectiveness at treating population against diseases\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n",
|
||||||
|
|
||||||
L" dislikes some other backgrounds", // TODO.Translate
|
L" dislikes some other backgrounds", // TODO.Translate
|
||||||
};
|
};
|
||||||
@@ -8937,7 +8938,7 @@ STR16 szTacticalCoverDialogString[]=
|
|||||||
|
|
||||||
L"Roles", // TODO.Translate
|
L"Roles", // TODO.Translate
|
||||||
L"",
|
L"",
|
||||||
L"",
|
L"Tracker",
|
||||||
L"",
|
L"",
|
||||||
|
|
||||||
L"Traps",
|
L"Traps",
|
||||||
|
|||||||
@@ -8256,6 +8256,7 @@ STR16 szBackgroundText_Value[]=
|
|||||||
L" %s%d%% effectiveness as spotter for fellow snipers\n", // TODO.Translate
|
L" %s%d%% effectiveness as spotter for fellow snipers\n", // TODO.Translate
|
||||||
L" %s%d%% effectiveness at diagnosing diseases\n", // TODO.Translate
|
L" %s%d%% effectiveness at diagnosing diseases\n", // TODO.Translate
|
||||||
L" %s%d%% effectiveness at treating population against diseases\n",
|
L" %s%d%% effectiveness at treating population against diseases\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n",
|
||||||
|
|
||||||
L" dislikes some other backgrounds", // TODO.Translate
|
L" dislikes some other backgrounds", // TODO.Translate
|
||||||
};
|
};
|
||||||
@@ -9116,7 +9117,7 @@ STR16 szTacticalCoverDialogString[]=
|
|||||||
|
|
||||||
L"Roles", // TODO.Translate
|
L"Roles", // TODO.Translate
|
||||||
L"",
|
L"",
|
||||||
L"",
|
L"Tracker",
|
||||||
L"",
|
L"",
|
||||||
|
|
||||||
L"Traps",
|
L"Traps",
|
||||||
|
|||||||
@@ -155,6 +155,7 @@ STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
|||||||
L"天气效果惩罚 -%d%s\n",// L"-%d%s weather penalties\n",
|
L"天气效果惩罚 -%d%s\n",// L"-%d%s weather penalties\n",
|
||||||
L"迷彩涂装效果 +%d%s\n",// L"+%d%s camouflage effectiveness\n",
|
L"迷彩涂装效果 +%d%s\n",// L"+%d%s camouflage effectiveness\n",
|
||||||
L"迷彩涂装退色的速度 -%d%s\n",// L"-%d%s worn out speed of camouflage by water or time\n",
|
L"迷彩涂装退色的速度 -%d%s\n",// L"-%d%s worn out speed of camouflage by water or time\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n", // TODO.Translate
|
||||||
|
|
||||||
};
|
};
|
||||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||||
|
|||||||
@@ -155,6 +155,7 @@ STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
|||||||
L"-%d%s weather penalties\n",
|
L"-%d%s weather penalties\n",
|
||||||
L"+%d%s camouflage effectiveness\n",
|
L"+%d%s camouflage effectiveness\n",
|
||||||
L"-%d%s worn out speed of camouflage by water or time\n",
|
L"-%d%s worn out speed of camouflage by water or time\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n", // TODO.Translate
|
||||||
};
|
};
|
||||||
|
|
||||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||||
|
|||||||
@@ -155,6 +155,7 @@ STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
|||||||
L"-%d%s weather penalties\n",
|
L"-%d%s weather penalties\n",
|
||||||
L"+%d%s camouflage effectiveness\n",
|
L"+%d%s camouflage effectiveness\n",
|
||||||
L"-%d%s worn out speed of camouflage by water or time\n",
|
L"-%d%s worn out speed of camouflage by water or time\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n",
|
||||||
};
|
};
|
||||||
|
|
||||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||||
|
|||||||
@@ -156,6 +156,7 @@ STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
|||||||
L"-%d%s de pénalités du temps\n",
|
L"-%d%s de pénalités du temps\n",
|
||||||
L"+%d%s d'efficacité du camouflage\n",
|
L"+%d%s d'efficacité du camouflage\n",
|
||||||
L"-%d%s de l'usure du camouflage due au temps ou à l'eau\n",
|
L"-%d%s de l'usure du camouflage due au temps ou à l'eau\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n", // TODO.Translate
|
||||||
|
|
||||||
};
|
};
|
||||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||||
|
|||||||
@@ -155,6 +155,7 @@ STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
|||||||
L"-%d%s Einfluss durch schlechtes Wetter\n",
|
L"-%d%s Einfluss durch schlechtes Wetter\n",
|
||||||
L"+%d%s Tarnungs-Effektivität\n",
|
L"+%d%s Tarnungs-Effektivität\n",
|
||||||
L"-%d%s Abnutzung von Tarnfarbe durch Wasser oder Zeit\n",
|
L"-%d%s Abnutzung von Tarnfarbe durch Wasser oder Zeit\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n", // TODO.Translate
|
||||||
};
|
};
|
||||||
|
|
||||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||||
|
|||||||
@@ -153,6 +153,7 @@ STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
|||||||
L"-%d%s weather penalties\n",
|
L"-%d%s weather penalties\n",
|
||||||
L"+%d%s camouflage effectiveness\n",
|
L"+%d%s camouflage effectiveness\n",
|
||||||
L"-%d%s worn out speed of camouflage by water or time\n",
|
L"-%d%s worn out speed of camouflage by water or time\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n", // TODO.Translate
|
||||||
};
|
};
|
||||||
|
|
||||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||||
|
|||||||
@@ -155,6 +155,7 @@ STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
|||||||
L"-%d%s weather penalties\n",
|
L"-%d%s weather penalties\n",
|
||||||
L"+%d%s camouflage effectiveness\n",
|
L"+%d%s camouflage effectiveness\n",
|
||||||
L"-%d%s worn out speed of camouflage by water or time\n",
|
L"-%d%s worn out speed of camouflage by water or time\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n", // TODO.Translate
|
||||||
};
|
};
|
||||||
|
|
||||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||||
|
|||||||
@@ -155,6 +155,7 @@ STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
|||||||
L"-%d%s к штрафам от погодных условий\n",
|
L"-%d%s к штрафам от погодных условий\n",
|
||||||
L"+%d%s к эффективности камуфляжа\n",
|
L"+%d%s к эффективности камуфляжа\n",
|
||||||
L"-%d%s на скорость ухудшения камуфляжа от воды и времени\n",
|
L"-%d%s на скорость ухудшения камуфляжа от воды и времени\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n", // TODO.Translate
|
||||||
|
|
||||||
};
|
};
|
||||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||||
|
|||||||
@@ -8271,6 +8271,7 @@ STR16 szBackgroundText_Value[]=
|
|||||||
L" %s%d%% effectiveness as spotter for fellow snipers\n", // TODO.Translate
|
L" %s%d%% effectiveness as spotter for fellow snipers\n", // TODO.Translate
|
||||||
L" %s%d%% effectiveness at diagnosing diseases\n", // TODO.Translate
|
L" %s%d%% effectiveness at diagnosing diseases\n", // TODO.Translate
|
||||||
L" %s%d%% effectiveness at treating population against diseases\n",
|
L" %s%d%% effectiveness at treating population against diseases\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n",
|
||||||
|
|
||||||
L" dislikes some other backgrounds", // TODO.Translate
|
L" dislikes some other backgrounds", // TODO.Translate
|
||||||
};
|
};
|
||||||
@@ -9131,7 +9132,7 @@ STR16 szTacticalCoverDialogString[]=
|
|||||||
|
|
||||||
L"Roles", // TODO.Translate
|
L"Roles", // TODO.Translate
|
||||||
L"",
|
L"",
|
||||||
L"",
|
L"Tracker",
|
||||||
L"",
|
L"",
|
||||||
|
|
||||||
L"Traps",
|
L"Traps",
|
||||||
|
|||||||
@@ -8243,6 +8243,7 @@ STR16 szBackgroundText_Value[]=
|
|||||||
|
|
||||||
L" %s%d%% effectiveness at diagnosing diseases\n", // TODO.Translate
|
L" %s%d%% effectiveness at diagnosing diseases\n", // TODO.Translate
|
||||||
L" %s%d%% effectiveness at treating population against diseases\n",
|
L" %s%d%% effectiveness at treating population against diseases\n",
|
||||||
|
L"Can spot tracks up to %d tiles away\n",
|
||||||
|
|
||||||
L" dislikes some other backgrounds", // TODO.Translate
|
L" dislikes some other backgrounds", // TODO.Translate
|
||||||
};
|
};
|
||||||
@@ -9102,7 +9103,7 @@ STR16 szTacticalCoverDialogString[]=
|
|||||||
|
|
||||||
L"Roles", // TODO.Translate
|
L"Roles", // TODO.Translate
|
||||||
L"",
|
L"",
|
||||||
L"",
|
L"Tracker",
|
||||||
L"",
|
L"",
|
||||||
|
|
||||||
L"Ловушки",
|
L"Ловушки",
|
||||||
|
|||||||
Reference in New Issue
Block a user