mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Update to Master
This commit is contained in:
@@ -149,4 +149,4 @@ void SetProgressBarRenderBuffer( UINT32 ubID , UINT32 uiBufferID );
|
||||
void CreateProgressBarNoBorder( UINT8 ubProgressBarID, UINT16 usLeft, UINT16 usTop, UINT16 usRight, UINT16 usBottom );
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -7,7 +7,6 @@ set(UtilsSrc
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/dsutil.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Encrypted File.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Event Pump.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/ExportStrings.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Font Control.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/ImportStrings.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/INIReader.cpp"
|
||||
@@ -16,7 +15,6 @@ set(UtilsSrc
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/MapUtility.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/MercTextBox.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/message.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Multi Language Graphic Utils.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Multilingual Text Code Generator.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Music Control.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/PopUpBox.cpp"
|
||||
@@ -37,20 +35,4 @@ set(UtilsSrc
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Items.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/XML_Language.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/XML_SenderNameList.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_ChineseText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_DutchText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_EnglishText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_FrenchText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_GermanText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_ItalianText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25ChineseText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25DutchText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25EnglishText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25FrenchText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25GermanText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25ItalianText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25PolishText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_Ja25RussianText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_PolishText.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/_RussianText.cpp"
|
||||
PARENT_SCOPE)
|
||||
|
||||
@@ -46,4 +46,4 @@ void BinkShutdownVideo(void);
|
||||
BINKFLIC *BinkPlayFlic(const CHAR8 *cFilename, UINT32 uiLeft, UINT32 uiTop, UINT32 uiFlags );
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -318,4 +318,4 @@ void SetCursorFlags( UINT32 uiCursor, UINT8 ubFlags );
|
||||
void RemoveCursorFlags( UINT32 uiCursor, UINT8 ubFlags );
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -55,4 +55,4 @@ extern void AiDbgMessage( CHAR8 *Str);
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#include "FileMan.h"
|
||||
#include "Debug.h"
|
||||
|
||||
#include "Language Defines.h"
|
||||
// anv: for selecting random line
|
||||
#include "Random.h"
|
||||
|
||||
@@ -230,4 +229,4 @@ void DecodeString(STR16 pDestString, UINT32 uiSeekAmount)
|
||||
// }
|
||||
//#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,4 +7,4 @@ BOOLEAN LoadEncryptedDataFromFile(STR pFileName, STR16 pDestString, UINT32 uiSee
|
||||
BOOLEAN LoadEncryptedDataFromFileRandomLine(STR pFileName, STR16 pDestString, UINT32 uiSeekAmount);
|
||||
void DecodeString(STR16 pDestString, UINT32 uiSeekAmount);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -1,707 +0,0 @@
|
||||
#include "ExportStrings.h"
|
||||
#include "LocalizedStrings.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "personnel.h"
|
||||
#include "soldier profile type.h"
|
||||
#include "interface.h"
|
||||
#include "Keys.h"
|
||||
#include "Merc Contract.h"
|
||||
#include "Campaign Types.h"
|
||||
#include "Finances.h"
|
||||
#include "Laptop.h"
|
||||
|
||||
#include <vfs/Core/vfs_string.h>
|
||||
#include <vfs/Tools/vfs_tools.h>
|
||||
#include <vfs/Tools/vfs_parser_tools.h>
|
||||
#include <vfs/Tools/vfs_property_container.h>
|
||||
|
||||
namespace Loc
|
||||
{
|
||||
bool Translate(vfs::String::char_t* str, int len, Language lang);
|
||||
|
||||
void ExportMercBio();
|
||||
void ExportAIMHistory();
|
||||
void ExportAIMPolicy();
|
||||
void ExportAlumniName();
|
||||
void ExportDialogues();
|
||||
void ExportNPCDialogues();
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////
|
||||
|
||||
//#define GERMAN
|
||||
#include "Text.h"
|
||||
namespace Loc
|
||||
{
|
||||
#ifdef CHINESE
|
||||
# include "_ChineseText.cpp"
|
||||
static Loc::Language gs_Lang = Loc::Chinese;
|
||||
#endif
|
||||
#ifdef DUTCH
|
||||
# include "_DutchText.cpp"
|
||||
static Loc::Language gs_Lang = Loc::Dutch;
|
||||
#endif
|
||||
#ifdef ENGLISH
|
||||
# include "_EnglishText.cpp"
|
||||
static Loc::Language gs_Lang = Loc::English;
|
||||
#endif
|
||||
#ifdef FRENCH
|
||||
# include "_FrenchText.cpp"
|
||||
static Loc::Language gs_Lang = Loc::French;
|
||||
#endif
|
||||
#ifdef GERMAN
|
||||
# include "_GermanText.cpp"
|
||||
static Loc::Language gs_Lang = Loc::German;
|
||||
#endif
|
||||
#ifdef ITALIAN
|
||||
# include "_ItalianText.cpp"
|
||||
static Loc::Language gs_Lang = Loc::Italian;
|
||||
#endif
|
||||
#ifdef POLISH
|
||||
# include "_PolishText.cpp"
|
||||
static Loc::Language gs_Lang = Loc::Polish;
|
||||
#endif
|
||||
#ifdef RUSSIAN
|
||||
# include "_RussianText.cpp"
|
||||
static Loc::Language gs_Lang = Loc::Russian;
|
||||
#endif
|
||||
}
|
||||
|
||||
#include "Assignments.h"
|
||||
#include "History.h"
|
||||
|
||||
template<typename T>
|
||||
void ExportSection(vfs::PropertyContainer& props, const vfs::String::char_t* section_name, T* strings, int min, int max)
|
||||
{
|
||||
for(int i = min; i < max; ++i)
|
||||
{
|
||||
vfs::String str(strings[i]);
|
||||
//Loc::Translate(&str.r_wcs()[0],str.length(), gs_Lang);
|
||||
if(!str.empty())
|
||||
{
|
||||
props.setStringProperty(section_name, vfs::toString<wchar_t>(i), str);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template<>
|
||||
void ExportSection<wchar_t>(vfs::PropertyContainer& props, const vfs::String::char_t* section_name, wchar_t* strings, int min, int max)
|
||||
{
|
||||
ExportSection(props,section_name, &strings, min, max);
|
||||
}
|
||||
|
||||
|
||||
bool Loc::ExportStrings()
|
||||
{
|
||||
vfs::PropertyContainer::TagMap tmap;
|
||||
//tmap.Container(L"LocalizedStrings");
|
||||
//tmap.Section(L"Topic");
|
||||
//tmap.SectionID(L"name");
|
||||
//tmap.Key(L"msg");
|
||||
//tmap.KeyID(L"index");
|
||||
|
||||
vfs::PropertyContainer props;
|
||||
|
||||
//not_required ExportSection(props, L"Ja2Credits", Loc::pCreditsJA2113, 0, 7);
|
||||
ExportSection(props, L"WeaponType", Loc::WeaponType, 0, MAXITEMS);
|
||||
ExportSection(props, L"TeamTurn", Loc::TeamTurnString, 0, 10);
|
||||
ExportSection(props, L"Message", Loc::Message, 0, TEXT_NUM_STR_MESSAGE);
|
||||
ExportSection(props, L"TownNames", Loc::pTownNames, 0, MAX_TOWNS);
|
||||
ExportSection(props, L"Time", Loc::sTimeStrings, 0, 6);
|
||||
ExportSection(props, L"Assignment", Loc::pAssignmentStrings, 0, NUM_ASSIGNMENTS);
|
||||
ExportSection(props, L"PersonnelAssignment", Loc::pPersonnelAssignmentStrings, 0, NUM_ASSIGNMENTS);
|
||||
ExportSection(props, L"LongAssignment", Loc::pLongAssignmentStrings, 0, NUM_ASSIGNMENTS);
|
||||
ExportSection(props, L"Militia", Loc::pMilitiaString, 0, 3);
|
||||
|
||||
ExportSection(props, L"MilitiaButton", Loc::pMilitiaButtonString, 0, 2);
|
||||
ExportSection(props, L"Condition", Loc::pConditionStrings, 0, 9);
|
||||
ExportSection(props, L"EpcMenu", Loc::pEpcMenuStrings, 0, MAX_EPC_MENU_STRING_COUNT);
|
||||
ExportSection(props, L"Contract", Loc::pContractStrings, 0, MAX_CONTRACT_MENU_STRING_COUNT);
|
||||
ExportSection(props, L"POW", Loc::pPOWStrings, 0, 2);
|
||||
ExportSection(props, L"InvPanelTitle", Loc::pInvPanelTitleStrings, 0, 5);
|
||||
ExportSection(props, L"LongAttribute", Loc::pLongAttributeStrings, 0, 10);
|
||||
ExportSection(props, L"ShortAttribute", Loc::pShortAttributeStrings, 0, 10);
|
||||
ExportSection(props, L"UpperLeftMapScreen", Loc::pUpperLeftMapScreenStrings, 0, 6);
|
||||
ExportSection(props, L"Training", Loc::pTrainingStrings, 0, 4);
|
||||
|
||||
ExportSection(props, L"GuardMenu", Loc::pGuardMenuStrings, 0, 10);
|
||||
ExportSection(props, L"OtherGuardMenu", Loc::pOtherGuardMenuStrings, 0, 10);
|
||||
ExportSection(props, L"AssignMenu", Loc::pAssignMenuStrings, 0, MAX_ASSIGN_STRING_COUNT);
|
||||
ExportSection(props, L"MilitiaControlMenu", Loc::pMilitiaControlMenuStrings, 0, MAX_MILCON_STRING_COUNT);
|
||||
ExportSection(props, L"RemoveMerc", Loc::pRemoveMercStrings, 0, MAX_REMOVE_MERC_COUNT);
|
||||
ExportSection(props, L"AttributeMenu", Loc::pAttributeMenuStrings, 0, MAX_ATTRIBUTE_STRING_COUNT);
|
||||
ExportSection(props, L"TrainingMenu", Loc::pTrainingMenuStrings, 0, MAX_TRAIN_STRING_COUNT);
|
||||
ExportSection(props, L"SquadMenu", Loc::pSquadMenuStrings, 0, MAX_SQUAD_MENU_STRING_COUNT);
|
||||
|
||||
ExportSection(props, L"SnitchMenu", Loc::pSnitchMenuStrings, 0, MAX_SNITCH_MENU_STRING_COUNT);
|
||||
ExportSection(props, L"SnitchMenuDesc", Loc::pSnitchMenuDescStrings, 0, MAX_SNITCH_MENU_STRING_COUNT-1);
|
||||
ExportSection(props, L"SnitchToggleMenu", Loc::pSnitchToggleMenuStrings, 0, MAX_SNITCH_TOGGLE_MENU_STRING_COUNT);
|
||||
ExportSection(props, L"SnitchToggleMenuDesc", Loc::pSnitchToggleMenuDescStrings, 0, MAX_SNITCH_TOGGLE_MENU_STRING_COUNT-1);
|
||||
ExportSection(props, L"SnitchSectorMenu", Loc::pSnitchSectorMenuStrings, 0, MAX_SNITCH_SECTOR_MENU_STRING_COUNT);
|
||||
ExportSection(props, L"SnitchSectorMenuDesc", Loc::pSnitchSectorMenuDescStrings, 0, MAX_SNITCH_SECTOR_MENU_STRING_COUNT-1);
|
||||
ExportSection(props, L"PrisonerMenu", Loc::pPrisonerMenuStrings, 0, MAX_PRISONER_MENU_STRING_COUNT );
|
||||
ExportSection(props, L"PrisonerMenuDesc", Loc::pPrisonerMenuDescStrings, 0, MAX_PRISONER_MENU_STRING_COUNT - 1 );
|
||||
ExportSection(props, L"SnitchPrisonExposed", Loc::pSnitchPrisonExposedStrings, 0, NUM_SNITCH_PRISON_EXPOSED);
|
||||
ExportSection(props, L"SnitchGatheringRumoursResult", Loc::pSnitchGatheringRumoursResultStrings, 0, NUM_SNITCH_GATHERING_RUMOURS_RESULT);
|
||||
|
||||
ExportSection(props, L"PersonnelTitle", Loc::pPersonnelTitle, 0, 1);
|
||||
ExportSection(props, L"PersonnelScreen", Loc::pPersonnelScreenStrings, 0, TEXT_NUM_PRSNL);
|
||||
|
||||
ExportSection(props, L"MercSkill", Loc::gzMercSkillText, 0, NUM_SKILLTRAITS_OT);
|
||||
ExportSection(props, L"TacticalPopupButton", Loc::pTacticalPopupButtonStrings, 0, NUM_ICONS);
|
||||
ExportSection(props, L"DoorTrap", Loc::pDoorTrapStrings, 0, NUM_DOOR_TRAPS);
|
||||
ExportSection(props, L"ContractExtend", Loc::pContractExtendStrings, 0, NUM_CONTRACT_EXTEND);
|
||||
ExportSection(props, L"MapScreenMouseRegionHelp", Loc::pMapScreenMouseRegionHelpText, 0, 6);
|
||||
ExportSection(props, L"NoiseVol", Loc::pNoiseVolStr, 0, 4);
|
||||
ExportSection(props, L"NoiseType", Loc::pNoiseTypeStr, 0, 12);
|
||||
ExportSection(props, L"Direction", Loc::pDirectionStr, 0, 8);
|
||||
ExportSection(props, L"LandType", Loc::pLandTypeStrings, 0, NUM_TRAVTERRAIN_TYPES);
|
||||
ExportSection(props, L"Strategic", Loc::gpStrategicString, 0, TEXT_NUM_STRATEGIC_TEXT);
|
||||
|
||||
ExportSection(props, L"GameClock", Loc::gpGameClockString, 0, TEXT_NUM_GAMECLOCK);
|
||||
ExportSection(props, L"KeyDescription", Loc::sKeyDescriptionStrings, 0, 2);
|
||||
ExportSection(props, L"WeaponStatsDesc", Loc::gWeaponStatsDesc, 0, 17);
|
||||
ExportSection(props, L"WeaponStatsFasthelpTactical",Loc::gzWeaponStatsFasthelpTactical, 0, 29);
|
||||
ExportSection(props, L"MiscItemStatsFasthelp", Loc::gzMiscItemStatsFasthelp, 0, 34);
|
||||
ExportSection(props, L"MoneyStatsDesc", Loc::gMoneyStatsDesc, 0, TEXT_NUM_MONEY_DESC);
|
||||
|
||||
ExportSection(props, L"Health", Loc::zHealthStr, 0, 7);
|
||||
ExportSection(props, L"MoneyAmounts", Loc::gzMoneyAmounts, 0, 6);
|
||||
ExportSection(props, L"ProsLabel", Loc::gzProsLabel, 0, 1);
|
||||
ExportSection(props, L"ConsLabel", Loc::gzConsLabel, 0, 1);
|
||||
ExportSection(props, L"TalkMenu", Loc::zTalkMenuStrings, 0, 6);
|
||||
ExportSection(props, L"Dealer", Loc::zDealerStrings, 0, 4);
|
||||
ExportSection(props, L"DialogActions", Loc::zDialogActions, 0, 1);
|
||||
ExportSection(props, L"Vehicle", Loc::pVehicleStrings, 0, 6);
|
||||
ExportSection(props, L"ShortVehicle", Loc::pShortVehicleStrings, 0, 6);
|
||||
ExportSection(props, L"VehicleName", Loc::zVehicleName, 0, 6);
|
||||
ExportSection(props, L"VehicleSeatsStrings", Loc::pVehicleSeatsStrings, 0, 2);
|
||||
|
||||
ExportSection(props, L"Tactical", Loc::TacticalStr, 0, TEXT_NUM_TACTICAL_STR);
|
||||
ExportSection(props, L"ExitingSectorHelp", Loc::pExitingSectorHelpText, 0, TEXT_NUM_EXIT_GUI);
|
||||
ExportSection(props, L"Repair", Loc::pRepairStrings, 0, 4);
|
||||
ExportSection(props, L"PreStatBuild", Loc::sPreStatBuildString, 0, 6);
|
||||
ExportSection(props, L"StatGain", Loc::sStatGainStrings, 0, 11);
|
||||
ExportSection(props, L"HelicopterEta", Loc::pHelicopterEtaStrings, 0, TEXT_NUM_STR_HELI_ETA);
|
||||
ExportSection(props, L"HelicopterRepair", Loc::pHelicopterRepairRefuelStrings, 0, TEXT_NUM_STR_HELI_REPAIRS);
|
||||
ExportSection(props, L"MapLevel", Loc::sMapLevelString, 0, 1);
|
||||
ExportSection(props, L"Loyal", Loc::gsLoyalString, 0, 1);
|
||||
ExportSection(props, L"Underground", Loc::gsUndergroundString, 0, 1);
|
||||
ExportSection(props, L"TimeStings", Loc::gsTimeStrings, 0, 1);
|
||||
|
||||
ExportSection(props, L"Facilities", Loc::sFacilitiesStrings, 0, 7);
|
||||
ExportSection(props, L"MapPopUpInventory", Loc::pMapPopUpInventoryText, 0, 2);
|
||||
ExportSection(props, L"TownInfo", Loc::pwTownInfoStrings, 0, 12);
|
||||
ExportSection(props, L"Mine", Loc::pwMineStrings, 0, 14);
|
||||
ExportSection(props, L"MiscSector", Loc::pwMiscSectorStrings, 0, 7);
|
||||
ExportSection(props, L"MapInventoryError", Loc::pMapInventoryErrorString, 0, 7);
|
||||
ExportSection(props, L"MapInventory", Loc::pMapInventoryStrings, 0, 2);
|
||||
ExportSection(props, L"MapScreenFastHelp", Loc::pMapScreenFastHelpTextList, 0, 10);
|
||||
ExportSection(props, L"MovementMenu", Loc::pMovementMenuStrings, 0, 4);
|
||||
ExportSection(props, L"UpdateMerc", Loc::pUpdateMercStrings, 0, 6);
|
||||
|
||||
ExportSection(props, L"MapScreenBorderButtonHelp", Loc::pMapScreenBorderButtonHelpText,0, 6);
|
||||
ExportSection(props, L"MapScreenBottomFastHelp", Loc::pMapScreenBottomFastHelp, 0, 8);
|
||||
ExportSection(props, L"MapScreenBottom", Loc::pMapScreenBottomText, 0, 1);
|
||||
ExportSection(props, L"MercDead", Loc::pMercDeadString, 0, 1);
|
||||
ExportSection(props, L"Day", Loc::pDayStrings, 0, 1);
|
||||
ExportSection(props, L"SenderName", Loc::pSenderNameList, 0, 51);
|
||||
ExportSection(props, L"Traverse", Loc::pTraverseStrings, 0, 2);
|
||||
ExportSection(props, L"NewMail", Loc::pNewMailStrings, 0, 1);
|
||||
ExportSection(props, L"DeleteMail", Loc::pDeleteMailStrings, 0, 2);
|
||||
ExportSection(props, L"EmailHeader", Loc::pEmailHeaders, 0, 3);
|
||||
|
||||
ExportSection(props, L"EmailTitle", Loc::pEmailTitleText, 0, 1);
|
||||
ExportSection(props, L"FinanceTitle", Loc::pFinanceTitle, 0, 1);
|
||||
ExportSection(props, L"FinanceSummary", Loc::pFinanceSummary, 0, 12);
|
||||
ExportSection(props, L"FinanceHeader", Loc::pFinanceHeaders, 0, 7);
|
||||
ExportSection(props, L"Transaction", Loc::pTransactionText, 0, TEXT_NUM_FINCANCES);
|
||||
ExportSection(props, L"TransactionAlternate", Loc::pTransactionAlternateText, 0, 4);
|
||||
ExportSection(props, L"Skyrider", Loc::pSkyriderText, 0, 7);
|
||||
ExportSection(props, L"Moral", Loc::pMoralStrings, 0, 6);
|
||||
ExportSection(props, L"LeftEquipment", Loc::pLeftEquipmentString, 0, 2);
|
||||
ExportSection(props, L"MapScreenStatus", Loc::pMapScreenStatusStrings, 0, 5);
|
||||
|
||||
ExportSection(props, L"MapScreenPrevNextCharButtonHelp", Loc::pMapScreenPrevNextCharButtonHelpText, 0, 2);
|
||||
ExportSection(props, L"Eta", Loc::pEtaString, 0, 1);
|
||||
ExportSection(props, L"TrashItem", Loc::pTrashItemText, 0, 2);
|
||||
ExportSection(props, L"MapError", Loc::pMapErrorString, 0, 50);
|
||||
ExportSection(props, L"MapPlot", Loc::pMapPlotStrings, 0, 5);
|
||||
ExportSection(props, L"Bullseye", Loc::pBullseyeStrings, 0, 5);
|
||||
ExportSection(props, L"MiscMapScreenMouseRegionHelp", Loc::pMiscMapScreenMouseRegionHelpText, 0, 3);
|
||||
ExportSection(props, L"MercHeLeave", Loc::pMercHeLeaveString, 0, 5);
|
||||
ExportSection(props, L"MercSheLeave", Loc::pMercSheLeaveString, 0, 5);
|
||||
ExportSection(props, L"MercContractOver", Loc::pMercContractOverStrings, 0, 5);
|
||||
|
||||
ExportSection(props, L"ImpPopUp", Loc::pImpPopUpStrings, 0, 12);
|
||||
ExportSection(props, L"ImpButton", Loc::pImpButtonText, 0, 26);
|
||||
ExportSection(props, L"ExtraIMP", Loc::pExtraIMPStrings, 0, 4);
|
||||
ExportSection(props, L"FilesTitle", Loc::pFilesTitle, 0, 1);
|
||||
ExportSection(props, L"FilesSender", Loc::pFilesSenderList, 0, 7);
|
||||
ExportSection(props, L"HistoryTitle", Loc::pHistoryTitle, 0, 1);
|
||||
ExportSection(props, L"HistoryHeader", Loc::pHistoryHeaders, 0, 5);
|
||||
//ExportSection(props, L"History", Loc::pHistoryStrings, 0, TEXT_NUM_HISTORY);
|
||||
ExportSection(props, L"HistoryLocation", Loc::pHistoryLocations, 0, 1);
|
||||
ExportSection(props, L"LaptopIcon", Loc::pLaptopIcons, 0, 8);
|
||||
|
||||
ExportSection(props, L"BookMark", Loc::pBookMarkStrings, 0, TEXT_NUM_LAPTOP_BOOKMARKS);
|
||||
ExportSection(props, L"BookmarkTitle", Loc::pBookmarkTitle, 0, 2);
|
||||
ExportSection(props, L"Download", Loc::pDownloadString, 0, 2);
|
||||
ExportSection(props, L"AtmSideButton", Loc::gsAtmSideButtonText, 0, 5);
|
||||
ExportSection(props, L"AtmStartButton", Loc::gsAtmStartButtonText, 0, 4);
|
||||
ExportSection(props, L"ATM", Loc::sATMText, 0, 6);
|
||||
ExportSection(props, L"Error", Loc::pErrorStrings, 0, 5);
|
||||
ExportSection(props, L"Personnel", Loc::pPersonnelString, 0, 1);
|
||||
ExportSection(props, L"WebTitle", Loc::pWebTitle, 0, 1);
|
||||
ExportSection(props, L"WebPagesTitle", Loc::pWebPagesTitles, 0, 36);
|
||||
|
||||
ExportSection(props, L"ShowBookmark", Loc::pShowBookmarkString, 0, 2);
|
||||
ExportSection(props, L"LaptopTitle", Loc::pLaptopTitles, 0, 5);
|
||||
ExportSection(props, L"PersonnelDepartedState", Loc::pPersonnelDepartedStateStrings, 0, TEXT_NUM_DEPARTED);
|
||||
ExportSection(props, L"PersonelTeam", Loc::pPersonelTeamStrings, 0, 8);
|
||||
ExportSection(props, L"PersonnelCurrentTeamStats", Loc::pPersonnelCurrentTeamStatsStrings, 0, 3);
|
||||
ExportSection(props, L"PersonnelTeamStats", Loc::pPersonnelTeamStatsStrings, 0, 11);
|
||||
ExportSection(props, L"MapVertIndex", Loc::pMapVertIndex, 0, 17);
|
||||
ExportSection(props, L"MapHortIndex", Loc::pMapHortIndex, 0, 17);
|
||||
ExportSection(props, L"MapDepthIndex", Loc::pMapDepthIndex, 0, 4);
|
||||
ExportSection(props, L"ContractButton", Loc::pContractButtonString, 0, 1);
|
||||
|
||||
ExportSection(props, L"UpdatePanelButton", Loc::pUpdatePanelButtons, 0, 2);
|
||||
ExportSection(props, L"LargeTactical", Loc::LargeTacticalStr, 0, TEXT_NUM_LARGESTR);
|
||||
ExportSection(props, L"InsContract", Loc::InsContractText, 0, TEXT_NUM_INS_CONTRACT);
|
||||
ExportSection(props, L"InsInfo", Loc::InsInfoText, 0, TEXT_NUM_INS_INFO);
|
||||
ExportSection(props, L"MercAccount", Loc::MercAccountText, 0, TEXT_NUM_MERC_ACCOUNT);
|
||||
ExportSection(props, L"MercAccountPage", Loc::MercAccountPageText, 0, 2);
|
||||
ExportSection(props, L"MercInfo", Loc::MercInfo, 0, TEXT_NUM_MERC_FILES);
|
||||
ExportSection(props, L"MercNoAccount", Loc::MercNoAccountText, 0, TEXT_NUM_MERC_NO_ACC);
|
||||
ExportSection(props, L"MercHomePage", Loc::MercHomePageText, 0, TEXT_NUM_MERC);
|
||||
ExportSection(props, L"Funeral", Loc::sFuneralString, 0, TEXT_NUM_FUNERAL);
|
||||
|
||||
ExportSection(props, L"Florist", Loc::sFloristText, 0, TEXT_NUM_FLORIST);
|
||||
ExportSection(props, L"OrderForm", Loc::sOrderFormText, 0, TEXT_NUM_FLORIST_ORDER);
|
||||
ExportSection(props, L"FloristGallery", Loc::sFloristGalleryText, 0, TEXT_NUM_FLORIST_GALLERY);
|
||||
ExportSection(props, L"FloristCards", Loc::sFloristCards, 0, TEXT_NUM_FLORIST_CARDS);
|
||||
ExportSection(props, L"BobbyROrderForm", Loc::BobbyROrderFormText, 0, TEXT_NUM_BOBBYR_MAILORDER);
|
||||
ExportSection(props, L"BobbyRFilter", Loc::BobbyRFilter, 0, TEXT_NUM_BOBBYR_FILTER);
|
||||
ExportSection(props, L"BobbyR", Loc::BobbyRText, 0, TEXT_NUM_BOBBYR_GUNS);
|
||||
ExportSection(props, L"BobbyRaysFront", Loc::BobbyRaysFrontText, 0, TEXT_NUM_BOBBYR);
|
||||
ExportSection(props, L"AimSort", Loc::AimSortText, 0, TEXT_NUM_AIM_SORT);
|
||||
ExportSection(props, L"AimPolicy", Loc::AimPolicyText, 0, TEXT_NUM_AIM_POLICIES);
|
||||
|
||||
ExportSection(props, L"AimMember", Loc::AimMemberText, 0, 4);
|
||||
ExportSection(props, L"CharacterInfo", Loc::CharacterInfo, 0, TEXT_NUM_AIM_MEMBER_CHARINFO);
|
||||
ExportSection(props, L"VideoConfercing", Loc::VideoConfercingText, 0, TEXT_NUM_AIM_MEMBER_VCONF);
|
||||
ExportSection(props, L"AimPopUp", Loc::AimPopUpText, 0, TEXT_NUM_AIM_MEMBER_POPUP);
|
||||
ExportSection(props, L"AimLink", Loc::AimLinkText, 0, TEXM_NUM_AIM_LINK);
|
||||
ExportSection(props, L"AimHistory", Loc::AimHistoryText, 0, TEXT_NUM_AIM_HISTORY);
|
||||
ExportSection(props, L"AimFi", Loc::AimFiText, 0, TEXT_NUM_AIM_FI);
|
||||
ExportSection(props, L"AimAlumni", Loc::AimAlumniText, 0, TEXT_NUM_AIM_ALUMNI);
|
||||
ExportSection(props, L"AimScreen", Loc::AimScreenText, 0, TEXT_NUM_AIM_SCREEN);
|
||||
ExportSection(props, L"AimBottomMenu", Loc::AimBottomMenuText, 0, TEXT_NUM_AIM_MENU);
|
||||
|
||||
ExportSection(props, L"SKI", Loc::SKI_Text, 0, TEXT_NUM_SKI_TEXT);
|
||||
ExportSection(props, L"SkiAtm", Loc::SkiAtmText, 0, NUM_SKI_ATM_BUTTONS);
|
||||
ExportSection(props, L"SkiAtmText", Loc::gzSkiAtmText, 0, TEXT_NUM_SKI_ATM_MODE_TEXT);
|
||||
ExportSection(props, L"SkiMessageBox", Loc::SkiMessageBoxText, 0, TEXT_NUM_SKI_MBOX_TEXT);
|
||||
ExportSection(props, L"Options", Loc::zOptionsText, 0, TEXT_NUM_OPT_TEXT);
|
||||
ExportSection(props, L"SaveLoad", Loc::zSaveLoadText, 0, TEXT_NUM_SLG_TEXT);
|
||||
ExportSection(props, L"MarksMapScreen", Loc::zMarksMapScreenText, 0, 25);
|
||||
ExportSection(props, L"LandMarkInSector", Loc::pLandMarkInSectorString, 0, 1);
|
||||
ExportSection(props, L"MilitiaConfirm", Loc::pMilitiaConfirmStrings, 0, 11);
|
||||
ExportSection(props, L"MoneyWithdrawMessage", Loc::gzMoneyWithdrawMessageText, 0, TEXT_NUM_MONEY_WITHDRAW);
|
||||
|
||||
ExportSection(props, L"Copyright", Loc::gzCopyrightText, 0, 1);
|
||||
ExportSection(props, L"OptionsToggle", Loc::zOptionsToggleText, 0, 49);
|
||||
ExportSection(props, L"OptionsScreenHelp", Loc::zOptionsScreenHelpText, 0, 49);
|
||||
ExportSection(props, L"GIOScreen", Loc::gzGIOScreenText, 0, TEXT_NUM_GIO_TEXT);
|
||||
ExportSection(props, L"MPJScreen", Loc::gzMPJScreenText, 0, TEXT_NUM_MPJ_TEXT);
|
||||
ExportSection(props, L"MPJHelpText", Loc::gzMPJHelpText, 0, 10);
|
||||
ExportSection(props, L"MPHScreen", Loc::gzMPHScreenText, 0, TEXT_NUM_MPH_TEXT);
|
||||
ExportSection(props, L"DeliveryLocation", Loc::pDeliveryLocationStrings, 0, 17);
|
||||
ExportSection(props, L"SkillAtZeroWarning", Loc::pSkillAtZeroWarning, 0, 1);
|
||||
ExportSection(props, L"IMPBeginScreen", Loc::pIMPBeginScreenStrings, 0, 1);
|
||||
ExportSection(props, L"IMPFinishButton", Loc::pIMPFinishButtonText, 0, 1);
|
||||
|
||||
ExportSection(props, L"IMPFinish", Loc::pIMPFinishStrings, 0, 1);
|
||||
ExportSection(props, L"IMPVoices", Loc::pIMPVoicesStrings, 0, 1);
|
||||
ExportSection(props, L"DepartedMercPortrait", Loc::pDepartedMercPortraitStrings, 0, 3);
|
||||
ExportSection(props, L"PersTitle", Loc::pPersTitleText, 0, 1);
|
||||
ExportSection(props, L"PausedGame", Loc::pPausedGameText, 0, 3);
|
||||
ExportSection(props, L"MessageStrings", Loc::pMessageStrings, 0, TEXT_NUM_MSG);
|
||||
ExportSection(props, L"ItemPickupHelpPopup", Loc::ItemPickupHelpPopup, 0, 5);
|
||||
ExportSection(props, L"DoctorWarning", Loc::pDoctorWarningString, 0, 2);
|
||||
ExportSection(props, L"MilitiaButtonsHelp", Loc::pMilitiaButtonsHelpText, 0, 4);
|
||||
ExportSection(props, L"MapScreenJustStartedHelp", Loc::pMapScreenJustStartedHelpText, 0, 2);
|
||||
|
||||
ExportSection(props, L"AntiHacker", Loc::pAntiHackerString, 0, TEXT_NUM_ANTIHACKERSTR);
|
||||
ExportSection(props, L"LaptopHelp", Loc::gzLaptopHelpText, 0, TEXT_NUM_LAPTOP_BN_BOOKMARK_TEXT);
|
||||
ExportSection(props, L"HelpScreen", Loc::gzHelpScreenText, 0, TEXT_NUM_HLP);
|
||||
ExportSection(props, L"NonPersistantPBI", Loc::gzNonPersistantPBIText, 0, 10);
|
||||
ExportSection(props, L"MiscString", Loc::gzMiscString, 0, 5);
|
||||
ExportSection(props, L"IntroScreen", Loc::gzIntroScreen, 0, 1);
|
||||
ExportSection(props, L"NewNoise", Loc::pNewNoiseStr, 0, 11/*MAX_NOISES*/);
|
||||
ExportSection(props, L"MapScreenSortButtonHelp", Loc::wMapScreenSortButtonHelpText, 0, 6);
|
||||
ExportSection(props, L"BrokenLink", Loc::BrokenLinkText, 0, TEXT_NUM_BROKEN_LINK);
|
||||
ExportSection(props, L"BobbyRShipment", Loc::gzBobbyRShipmentText, 0, TEXT_NUM_BOBBYR_SHIPMENT);
|
||||
|
||||
ExportSection(props, L"CreditNames", Loc::gzCreditNames, 0, 15);
|
||||
ExportSection(props, L"CreditNameTitle", Loc::gzCreditNameTitle, 0, 15);
|
||||
ExportSection(props, L"CreditNameFunny", Loc::gzCreditNameFunny, 0, 15);
|
||||
ExportSection(props, L"RepairsDone", Loc::sRepairsDoneString, 0, 7);
|
||||
ExportSection(props, L"GioDifConfirm", Loc::zGioDifConfirmText, 0, TEXT_NUM_GIO_CFS);
|
||||
ExportSection(props, L"LateLocalized", Loc::gzLateLocalizedString, 0, 64);
|
||||
ExportSection(props, L"CWStrings", Loc::gzCWStrings, 0, 1);
|
||||
ExportSection(props, L"TooltipStrings", Loc::gzTooltipStrings, 0, TEXT_NUM_STR_TT);
|
||||
ExportSection(props, L"New113Message", Loc::New113Message, 0, TEXT_NUM_MSG113);
|
||||
|
||||
ExportSection(props, L"New113HAMMessage", Loc::New113HAMMessage, 0, 25);
|
||||
ExportSection(props, L"New113MERCMercMail", Loc::New113MERCMercMailTexts, 0, 4);
|
||||
ExportSection(props, L"New113AIMMercMail", Loc::New113AIMMercMailTexts, 0, 16);
|
||||
ExportSection(props, L"MissingIMPSkills", Loc::MissingIMPSkillsDescriptions, 0, 2);
|
||||
ExportSection(props, L"NewInvMessage", Loc::NewInvMessage, 0, TEXT_NUM_NIV);
|
||||
ExportSection(props, L"MPServerMessage", Loc::MPServerMessage, 0, 13);
|
||||
ExportSection(props, L"MPClientMessage", Loc::MPClientMessage, 0, 69);
|
||||
ExportSection(props, L"MPEdges", Loc::gszMPEdgesText, 0, 5);
|
||||
ExportSection(props, L"MPTeamName", Loc::gszMPTeamNames, 0, 5);
|
||||
ExportSection(props, L"MPMapscreen", Loc::gszMPMapscreenText, 0, 9);
|
||||
|
||||
ExportSection(props, L"MPSScreen", Loc::gzMPSScreenText, 0, TEXT_NUM_MPS_TEXT);
|
||||
ExportSection(props, L"MPCScreen", Loc::gzMPCScreenText, 0, TEXT_NUM_MPC_TEXT);
|
||||
ExportSection(props, L"MPChatToggle", Loc::gzMPChatToggleText, 0, 2);
|
||||
ExportSection(props, L"MPChatbox", Loc::gzMPChatboxText, 0, 2);
|
||||
|
||||
props.writeToXMLFile(L"Localization/GameStrings.xml",tmap);
|
||||
props.writeToIniFile(L"Localization/GameStrings.ini",true);
|
||||
|
||||
Loc::ExportMercBio();
|
||||
Loc::ExportAIMHistory();
|
||||
Loc::ExportAIMPolicy();
|
||||
Loc::ExportAlumniName();
|
||||
Loc::ExportDialogues();
|
||||
Loc::ExportNPCDialogues();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#include <vfs/Core/vfs_file_raii.h>
|
||||
#include "Encrypted File.h"
|
||||
|
||||
namespace Loc
|
||||
{
|
||||
wchar_t ToPolish(wchar_t siChar)
|
||||
{
|
||||
switch( siChar )
|
||||
{
|
||||
case 165: siChar = 260; break;
|
||||
case 198: siChar = 262; break;
|
||||
case 202: siChar = 280; break;
|
||||
case 163: siChar = 321; break;
|
||||
case 209: siChar = 323; break;
|
||||
case 211: siChar = 211; break;
|
||||
|
||||
case 140: siChar = 346; break;
|
||||
case 175: siChar = 379; break;
|
||||
case 143: siChar = 377; break;
|
||||
case 185: siChar = 261; break;
|
||||
case 230: siChar = 263; break;
|
||||
case 234: siChar = 281; break;
|
||||
|
||||
case 179: siChar = 322; break;
|
||||
case 241: siChar = 324; break;
|
||||
case 243: siChar = 243; break;
|
||||
case 156: siChar = 347; break;
|
||||
case 191: siChar = 380; break;
|
||||
case 159: siChar = 378; break;
|
||||
}
|
||||
return siChar;
|
||||
}
|
||||
|
||||
wchar_t ToRussian(wchar_t siChar)
|
||||
{
|
||||
switch( siChar )
|
||||
{
|
||||
//capital letters
|
||||
case 168: siChar = 1025; break; //U+0401 d0 81 CYRILLIC CAPITAL LETTER IO
|
||||
case 192: siChar = 1040; break; //U+0410 A d0 90 CYRILLIC CAPITAL LETTER A
|
||||
case 193: siChar = 1041; break;
|
||||
case 194: siChar = 1042; break;
|
||||
case 195: siChar = 1043; break;
|
||||
case 196: siChar = 1044; break;
|
||||
case 197: siChar = 1045; break;
|
||||
case 198: siChar = 1046; break;
|
||||
case 199: siChar = 1047; break;
|
||||
case 200: siChar = 1048; break;
|
||||
case 201: siChar = 1049; break;
|
||||
case 202: siChar = 1050; break;
|
||||
case 203: siChar = 1051; break;
|
||||
case 204: siChar = 1052; break;
|
||||
case 205: siChar = 1053; break;
|
||||
case 206: siChar = 1054; break;
|
||||
case 207: siChar = 1055; break;
|
||||
case 208: siChar = 1056; break;
|
||||
case 209: siChar = 1057; break;
|
||||
case 210: siChar = 1058; break;
|
||||
case 211: siChar = 1059; break;
|
||||
case 212: siChar = 1060; break;
|
||||
case 213: siChar = 1061; break;
|
||||
case 214: siChar = 1062; break;
|
||||
case 215: siChar = 1063; break;
|
||||
case 216: siChar = 1064; break;
|
||||
case 217: siChar = 1065; break;
|
||||
case 218: siChar = 1066; break;
|
||||
case 219: siChar = 1067; break;
|
||||
case 220: siChar = 1068; break;
|
||||
case 221: siChar = 1069; break;
|
||||
case 222: siChar = 1070; break;
|
||||
case 223: siChar = 1071; break; //U+042F d0 af CYRILLIC CAPITAL LETTER YA
|
||||
|
||||
//small letters
|
||||
case 185: siChar = 8470; break; // ¹
|
||||
case 178: siChar = 1030; break; // ²
|
||||
case 161: siChar = 1038; break; // ¡
|
||||
case 179: siChar = 1110; break; // ³
|
||||
case 162: siChar = 1118; break; // ¢
|
||||
case 165: siChar = 1168; break; // ¥
|
||||
case 170: siChar = 1028; break; // ª
|
||||
case 175: siChar = 1031; break; // ¯
|
||||
case 180: siChar = 1169; break; // ´
|
||||
case 186: siChar = 1108; break; // º
|
||||
case 191: siChar = 1111; break; // ¿
|
||||
|
||||
case 184: siChar = 1105; break; //U+0451 d1 91 CYRILLIC SMALL LETTER IO
|
||||
case 224: siChar = 1072; break; //U+0430 a d0 b0 CYRILLIC SMALL LETTER A
|
||||
case 225: siChar = 1073; break;
|
||||
case 226: siChar = 1074; break;
|
||||
case 227: siChar = 1075; break;
|
||||
case 228: siChar = 1076; break;
|
||||
case 229: siChar = 1077; break;
|
||||
case 230: siChar = 1078; break;
|
||||
case 231: siChar = 1079; break;
|
||||
case 232: siChar = 1080; break;
|
||||
case 233: siChar = 1081; break;
|
||||
case 234: siChar = 1082; break;
|
||||
case 235: siChar = 1083; break;
|
||||
case 236: siChar = 1084; break;
|
||||
case 237: siChar = 1085; break;
|
||||
case 238: siChar = 1086; break;
|
||||
case 239: siChar = 1087; break; //U+043F d0 bf CYRILLIC SMALL LETTER PE
|
||||
case 240: siChar = 1088; break; //U+0440 p d1 80 CYRILLIC SMALL LETTER ER
|
||||
case 241: siChar = 1089; break;
|
||||
case 242: siChar = 1090; break;
|
||||
case 243: siChar = 1091; break;
|
||||
case 244: siChar = 1092; break;
|
||||
case 245: siChar = 1093; break;
|
||||
case 246: siChar = 1094; break;
|
||||
case 247: siChar = 1095; break;
|
||||
case 248: siChar = 1096; break;
|
||||
case 249: siChar = 1097; break;
|
||||
case 250: siChar = 1098; break;
|
||||
case 251: siChar = 1099; break;
|
||||
case 252: siChar = 1100; break;
|
||||
case 253: siChar = 1101; break;
|
||||
case 254: siChar = 1102; break;
|
||||
case 255: siChar = 1103; break; //U+044F d1 8f CYRILLIC SMALL LETTER YA
|
||||
}
|
||||
return siChar;
|
||||
}
|
||||
bool Translate(vfs::String::char_t* str, int len, Language lang)
|
||||
{
|
||||
if(lang == English || lang == German)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if(lang == Russian)
|
||||
{
|
||||
for(int i=0; i<len; i++) str[i] = ToRussian(str[i]);
|
||||
return true;
|
||||
}
|
||||
else if(lang == Polish)
|
||||
{
|
||||
for(int i=0; i<len; i++) str[i] = ToPolish(str[i]);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}; // namespace Loc
|
||||
|
||||
void Loc::ExportMercBio()
|
||||
{
|
||||
Loc::Language lang = gs_Lang;
|
||||
#define SIZE_MERC_BIO_INFO 400 * 2
|
||||
#define SIZE_MERC_ADDITIONAL_INFO 160 * 2
|
||||
|
||||
vfs::String::char_t pInfoString[SIZE_MERC_BIO_INFO];
|
||||
vfs::String::char_t pAddInfo[SIZE_MERC_ADDITIONAL_INFO];
|
||||
vfs::COpenReadFile rfile("BINARYDATA\\aimbios.edt");
|
||||
vfs::tReadableFile& file = rfile.file();
|
||||
|
||||
vfs::PropertyContainer props;
|
||||
for(int i=0; i<40; ++i)
|
||||
{
|
||||
memset(pInfoString,0,SIZE_MERC_BIO_INFO*sizeof(wchar_t));
|
||||
memset(pAddInfo,0,SIZE_MERC_ADDITIONAL_INFO*sizeof(wchar_t));
|
||||
//
|
||||
file.read((vfs::Byte*)pInfoString, SIZE_MERC_BIO_INFO);
|
||||
DecodeString(pInfoString,SIZE_MERC_BIO_INFO);
|
||||
Loc::Translate(pInfoString, SIZE_MERC_BIO_INFO, lang);
|
||||
props.setStringProperty(L"Bio", vfs::toString<wchar_t>(i), pInfoString);
|
||||
|
||||
file.read((vfs::Byte*)pAddInfo, SIZE_MERC_ADDITIONAL_INFO);
|
||||
DecodeString(pAddInfo, SIZE_MERC_ADDITIONAL_INFO);
|
||||
Loc::Translate(pAddInfo, SIZE_MERC_ADDITIONAL_INFO, lang);
|
||||
props.setStringProperty(L"Add", vfs::toString<wchar_t>(i), pAddInfo);
|
||||
}
|
||||
props.writeToXMLFile(L"Localization/AimBiographies.xml", vfs::PropertyContainer::TagMap());
|
||||
}
|
||||
|
||||
void Loc::ExportAIMHistory()
|
||||
{
|
||||
Loc::Language lang = gs_Lang;
|
||||
#define AIM_HISTORY_LINE_SIZE 400 * 2
|
||||
vfs::String::char_t pHistLine[AIM_HISTORY_LINE_SIZE];
|
||||
vfs::COpenReadFile rfile("BINARYDATA\\AimHist.edt");
|
||||
vfs::tReadableFile& file = rfile.file();
|
||||
|
||||
vfs::PropertyContainer props;
|
||||
for(int i=0; i<23; ++i)
|
||||
{
|
||||
memset(pHistLine,0,AIM_HISTORY_LINE_SIZE*sizeof(wchar_t));
|
||||
//
|
||||
file.read((vfs::Byte*)pHistLine, AIM_HISTORY_LINE_SIZE);
|
||||
DecodeString(pHistLine,AIM_HISTORY_LINE_SIZE);
|
||||
Loc::Translate(pHistLine, AIM_HISTORY_LINE_SIZE, lang);
|
||||
props.setStringProperty(L"Line", vfs::toString<wchar_t>(i), pHistLine);
|
||||
}
|
||||
props.writeToXMLFile(L"Localization/AimHistory.xml", vfs::PropertyContainer::TagMap());
|
||||
}
|
||||
|
||||
|
||||
void Loc::ExportAIMPolicy()
|
||||
{
|
||||
Loc::Language lang = gs_Lang;
|
||||
#define AIM_HISTORY_LINE_SIZE 400 * 2
|
||||
vfs::String::char_t pPolLine[AIM_HISTORY_LINE_SIZE];
|
||||
vfs::COpenReadFile rfile("BINARYDATA\\AimPol.edt");
|
||||
vfs::tReadableFile& file = rfile.file();
|
||||
|
||||
vfs::PropertyContainer props;
|
||||
for(int i=0; i<46; ++i)
|
||||
{
|
||||
memset(pPolLine,0,400*sizeof(wchar_t));
|
||||
//
|
||||
file.read((vfs::Byte*)pPolLine, AIM_HISTORY_LINE_SIZE);
|
||||
DecodeString(pPolLine,AIM_HISTORY_LINE_SIZE);
|
||||
Loc::Translate(pPolLine, AIM_HISTORY_LINE_SIZE, lang);
|
||||
props.setStringProperty(L"Line", vfs::toString<wchar_t>(i), pPolLine);
|
||||
}
|
||||
props.writeToXMLFile(L"Localization/AimPolicy.xml", vfs::PropertyContainer::TagMap());
|
||||
}
|
||||
|
||||
void Loc::ExportAlumniName()
|
||||
{
|
||||
Loc::Language lang = gs_Lang;
|
||||
#define AIM_ALUMNI_NAME_SIZE 80 * 2
|
||||
vfs::String::char_t pAlumniName[AIM_ALUMNI_NAME_SIZE];
|
||||
vfs::COpenReadFile rfile("BINARYDATA\\AlumName.edt");
|
||||
vfs::tReadableFile& file = rfile.file();
|
||||
|
||||
vfs::PropertyContainer props;
|
||||
for(int i=0; i<51; ++i)
|
||||
{
|
||||
memset(pAlumniName,0,AIM_ALUMNI_NAME_SIZE*sizeof(wchar_t));
|
||||
//
|
||||
file.read((vfs::Byte*)pAlumniName, AIM_ALUMNI_NAME_SIZE);
|
||||
DecodeString(pAlumniName,AIM_ALUMNI_NAME_SIZE);
|
||||
Loc::Translate(pAlumniName, AIM_ALUMNI_NAME_SIZE, lang);
|
||||
props.setStringProperty(L"Line", vfs::toString<wchar_t>(i), pAlumniName);
|
||||
}
|
||||
props.writeToXMLFile(L"Localization/AlumniName.xml", vfs::PropertyContainer::TagMap());
|
||||
}
|
||||
|
||||
#include <vfs/Core/vfs.h>
|
||||
|
||||
void Loc::ExportDialogues()
|
||||
{
|
||||
Loc::Language lang = gs_Lang;
|
||||
#define DIALOGUESIZE 480
|
||||
vfs::String::char_t pDiagLine[DIALOGUESIZE];
|
||||
|
||||
vfs::CVirtualFileSystem::Iterator it = getVFS()->begin(L"MercEdt/*.edt");
|
||||
for(; !it.end(); it.next())
|
||||
{
|
||||
vfs::PropertyContainer props;
|
||||
vfs::COpenReadFile rfile(it.value());
|
||||
vfs::tReadableFile& file = rfile.file();
|
||||
|
||||
std::wstringstream wss;
|
||||
wss.str(file.getName().c_str());
|
||||
int id=0;
|
||||
wss >> id;
|
||||
|
||||
for(int i=0; i<200; ++i)
|
||||
{
|
||||
memset(pDiagLine,0,DIALOGUESIZE*sizeof(wchar_t));
|
||||
//
|
||||
if(file.read((vfs::Byte*)pDiagLine, DIALOGUESIZE) > 0)
|
||||
{
|
||||
DecodeString(pDiagLine,DIALOGUESIZE);
|
||||
Loc::Translate(pDiagLine, DIALOGUESIZE, lang);
|
||||
if(wcslen(pDiagLine))
|
||||
{
|
||||
props.setStringProperty(vfs::toString<wchar_t>(id),vfs::toString<wchar_t>(i), pDiagLine);
|
||||
}
|
||||
}
|
||||
}
|
||||
vfs::Path x(L"Localization/Dialogue");
|
||||
x += vfs::Path(file.getName().c_wcs() + L".xml");
|
||||
props.writeToXMLFile(x, vfs::PropertyContainer::TagMap());
|
||||
}
|
||||
}
|
||||
|
||||
void Loc::ExportNPCDialogues()
|
||||
{
|
||||
Loc::Language lang = gs_Lang;
|
||||
#define DIALOGUESIZE 480
|
||||
#define CIVQUOTESIZE 320
|
||||
vfs::String::char_t pDiagLine[DIALOGUESIZE];
|
||||
|
||||
vfs::CVirtualFileSystem::Iterator it = getVFS()->begin(L"npcdata/*.edt");
|
||||
for(; !it.end(); it.next())
|
||||
{
|
||||
vfs::PropertyContainer props;
|
||||
vfs::COpenReadFile rfile(it.value());
|
||||
vfs::tReadableFile& file = rfile.file();
|
||||
|
||||
vfs::String::str_t const& ws = file.getName().c_wcs();
|
||||
vfs::String::str_t::size_type pos = ws.find_first_of(L".");
|
||||
vfs::String id = ws.substr(0,pos);
|
||||
|
||||
int SIZE;
|
||||
if(vfs::matchPattern(L"civ*", id))
|
||||
{
|
||||
SIZE = CIVQUOTESIZE;
|
||||
}
|
||||
else
|
||||
{
|
||||
SIZE = DIALOGUESIZE;
|
||||
}
|
||||
|
||||
for(int i=0; i<200; ++i)
|
||||
{
|
||||
memset(pDiagLine,0,DIALOGUESIZE*sizeof(wchar_t));
|
||||
//
|
||||
if(file.read((vfs::Byte*)pDiagLine, SIZE) > 0)
|
||||
{
|
||||
DecodeString(pDiagLine,SIZE);
|
||||
Loc::Translate(pDiagLine, SIZE, lang);
|
||||
if(wcslen(pDiagLine))
|
||||
{
|
||||
props.setStringProperty(id,vfs::toString<wchar_t>(i), pDiagLine);
|
||||
}
|
||||
}
|
||||
}
|
||||
vfs::Path x(L"Localization/NpcDialogue");
|
||||
x += vfs::Path(file.getName().c_wcs() + L".xml");
|
||||
props.writeToXMLFile(x, vfs::PropertyContainer::TagMap());
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
#ifndef _EXPORTSTRINGS_H_
|
||||
#define _EXPORTSTRINGS_H_
|
||||
|
||||
namespace Loc
|
||||
{
|
||||
bool ExportStrings();
|
||||
}
|
||||
|
||||
#endif // _EXPORTSTRINGS_H_
|
||||
+11
-6
@@ -5,6 +5,7 @@
|
||||
#include "vsurface.h"
|
||||
#include "wcheck.h"
|
||||
#include "Font Control.h"
|
||||
#include <language.hpp>
|
||||
|
||||
INT32 giCurWinFont = 0;
|
||||
//BOOLEAN gfUseWinFonts = FALSE;
|
||||
@@ -77,8 +78,8 @@ HVOBJECT gvoBlockFontNarrow;
|
||||
INT32 gp14PointHumanist;
|
||||
HVOBJECT gvo14PointHumanist;
|
||||
|
||||
#if defined( JA2EDITOR ) && defined( ENGLISH )
|
||||
INT32 gpHugeFont;
|
||||
#if defined( JA2EDITOR )
|
||||
INT32 gpHugeFont;
|
||||
HVOBJECT gvoHugeFont;
|
||||
#endif
|
||||
|
||||
@@ -94,8 +95,8 @@ UINT16 CreateFontPaletteTables(HVOBJECT pObj );
|
||||
extern UINT16 gzFontName[32];
|
||||
|
||||
auto GetHugeFont() -> INT32 {
|
||||
#if defined(JA2EDITOR) && defined(ENGLISH)
|
||||
return gpHugeFont;
|
||||
#if defined(JA2EDITOR)
|
||||
return g_lang == i18n::Lang::en ? gpHugeFont : gp16PointArial;
|
||||
#else
|
||||
return gp16PointArial;
|
||||
#endif
|
||||
@@ -216,10 +217,12 @@ BOOLEAN InitializeFonts( )
|
||||
gvo14PointHumanist = GetFontObject( gp14PointHumanist );
|
||||
CHECKF( CreateFontPaletteTables( gvo14PointHumanist ) );
|
||||
|
||||
#if defined( JA2EDITOR ) && defined( ENGLISH )
|
||||
#if defined( JA2EDITOR )
|
||||
if(g_lang == i18n::Lang::en) {
|
||||
gpHugeFont = LoadFontFile( "FONTS\\HUGEFONT.sti" );
|
||||
gvoHugeFont = GetFontObject( gpHugeFont );
|
||||
CHECKF( CreateFontPaletteTables( gvoHugeFont ) );
|
||||
}
|
||||
#endif
|
||||
|
||||
// Set default for font system
|
||||
@@ -254,8 +257,10 @@ void ShutdownFonts( )
|
||||
UnloadFont( gp14PointArial);
|
||||
UnloadFont( gpBlockyFont);
|
||||
UnloadFont( gp12PointArialFixedFont );
|
||||
#if defined( JA2EDITOR ) && defined( ENGLISH )
|
||||
#if defined( JA2EDITOR )
|
||||
if(g_lang == i18n::Lang::en) {
|
||||
UnloadFont( gpHugeFont );
|
||||
}
|
||||
#endif
|
||||
|
||||
// ATE: Shutdown any win fonts
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "ImportStrings.h"
|
||||
#include "LocalizedStrings.h"
|
||||
#include "Language Defines.h"
|
||||
|
||||
#include <vfs/Tools/vfs_tools.h>
|
||||
#include <vfs/Core/vfs.h>
|
||||
|
||||
@@ -1,591 +0,0 @@
|
||||
#include "builddefines.h"
|
||||
#include "stdio.h"
|
||||
#include "Windows.h"
|
||||
#include "Types.h"
|
||||
#include "Multi Language Graphic Utils.h"
|
||||
|
||||
#include "Language Defines.h"
|
||||
//SB
|
||||
#include "FileMan.h"
|
||||
|
||||
BOOLEAN GetMLGFilename( SGPFILENAME filename, UINT16 usMLGGraphicID )
|
||||
{
|
||||
#if defined( ENGLISH )
|
||||
switch( usMLGGraphicID )
|
||||
{
|
||||
case MLG_AIMSYMBOL:
|
||||
sprintf( filename, "LAPTOP\\AimSymbol.sti" );
|
||||
return TRUE;
|
||||
case MLG_AIMSYMBOL_SMALL:
|
||||
sprintf( filename, "LAPTOP\\AimSymbol_Small.sti" );
|
||||
return TRUE;
|
||||
case MLG_BOBBYNAME:
|
||||
sprintf( filename, "LAPTOP\\BobbyName.sti" );
|
||||
return TRUE;
|
||||
case MLG_BOBBYRAYAD21:
|
||||
sprintf( filename, "LAPTOP\\BobbyRayAd_21.sti" );
|
||||
return TRUE;
|
||||
case MLG_BOBBYRAYLINK:
|
||||
sprintf( filename, "LAPTOP\\BobbyRayLink.sti" );
|
||||
return TRUE;
|
||||
case MLG_CLOSED:
|
||||
sprintf( filename, "LAPTOP\\Closed.sti" );
|
||||
return TRUE;
|
||||
case MLG_CONFIRMORDER:
|
||||
sprintf( filename, "LAPTOP\\ConfirmOrder.sti" );
|
||||
return TRUE;
|
||||
case MLG_DESKTOP:
|
||||
sprintf( filename, "LAPTOP\\desktop.pcx" );
|
||||
return TRUE;
|
||||
case MLG_FUNERALAD9:
|
||||
sprintf( filename, "LAPTOP\\FuneralAd_9.sti" );
|
||||
return TRUE;
|
||||
case MLG_GOLDPIECEBUTTONS:
|
||||
sprintf( filename, "INTERFACE\\goldpiecebuttons.sti" );
|
||||
return TRUE;
|
||||
case MLG_HISTORY:
|
||||
sprintf( filename, "LAPTOP\\history.sti" );
|
||||
return TRUE;
|
||||
case MLG_INSURANCEAD10:
|
||||
sprintf( filename, "LAPTOP\\insurancead_10.sti" );
|
||||
return TRUE;
|
||||
case MLG_INSURANCELINK:
|
||||
sprintf( filename, "LAPTOP\\insurancelink.sti" );
|
||||
return TRUE;
|
||||
case MLG_INSURANCETITLE:
|
||||
sprintf( filename, "LAPTOP\\largetitle.sti" );
|
||||
return TRUE;
|
||||
case MLG_LARGEFLORISTSYMBOL:
|
||||
sprintf( filename, "LAPTOP\\LargeSymbol.sti" );
|
||||
return TRUE;
|
||||
case MLG_SMALLFLORISTSYMBOL:
|
||||
sprintf( filename, "LAPTOP\\SmallSymbol.sti" );
|
||||
return TRUE;
|
||||
case MLG_MCGILLICUTTYS:
|
||||
sprintf( filename, "LAPTOP\\McGillicuttys.sti" );
|
||||
return TRUE;
|
||||
case MLG_MORTUARY:
|
||||
sprintf( filename, "LAPTOP\\Mortuary.sti" );
|
||||
return TRUE;
|
||||
case MLG_MORTUARYLINK:
|
||||
sprintf( filename, "LAPTOP\\MortuaryLink.sti" );
|
||||
return TRUE;
|
||||
case MLG_ORDERGRID:
|
||||
sprintf( filename, "LAPTOP\\OrderGrid.sti" );
|
||||
return TRUE;
|
||||
case MLG_PREBATTLEPANEL:
|
||||
sprintf( filename, "INTERFACE\\PreBattlePanel.sti" );
|
||||
return TRUE;
|
||||
case MLG_PREBATTLEPANEL_800x600:
|
||||
sprintf(filename, "INTERFACE\\PreBattlePanel_800x600.sti");
|
||||
return TRUE;
|
||||
case MLG_PREBATTLEPANEL_1024x768:
|
||||
sprintf(filename, "INTERFACE\\PreBattlePanel_1024x768.sti");
|
||||
return TRUE;
|
||||
case MLG_PREBATTLEPANEL_1280x720:
|
||||
sprintf(filename, "INTERFACE\\PreBattlePanel_1280x720.sti");
|
||||
return TRUE;
|
||||
case MLG_SMALLTITLE:
|
||||
sprintf( filename, "LAPTOP\\SmallTitle.sti" );
|
||||
return TRUE;
|
||||
case MLG_STATSBOX:
|
||||
sprintf( filename, "LAPTOP\\StatsBox.sti" );
|
||||
return TRUE;
|
||||
case MLG_STOREPLAQUE:
|
||||
sprintf( filename, "LAPTOP\\BobbyStorePlaque.sti" );
|
||||
return TRUE;
|
||||
case MLG_TITLETEXT:
|
||||
sprintf( filename, "LOADSCREENS\\titletext.sti" );
|
||||
return TRUE;
|
||||
case MLG_TITLETEXT_MP:
|
||||
sprintf( filename, "LOADSCREENS\\titletext_mp.sti" );
|
||||
return TRUE;
|
||||
case MLG_TOALUMNI:
|
||||
sprintf( filename, "LAPTOP\\ToAlumni.sti" );
|
||||
return TRUE;
|
||||
case MLG_TOMUGSHOTS:
|
||||
sprintf( filename, "LAPTOP\\ToMugShots.sti" );
|
||||
return TRUE;
|
||||
case MLG_TOSTATS:
|
||||
sprintf( filename, "LAPTOP\\ToStats.sti" );
|
||||
return TRUE;
|
||||
case MLG_WARNING:
|
||||
sprintf( filename, "LAPTOP\\Warning.sti" );
|
||||
return TRUE;
|
||||
case MLG_YOURAD13:
|
||||
sprintf( filename, "LAPTOP\\YourAd_13.sti" );
|
||||
return TRUE;
|
||||
case MLG_OPTIONHEADER:
|
||||
sprintf( filename, "INTERFACE\\optionscreenaddons.sti" );
|
||||
return TRUE;
|
||||
case MLG_LOADSAVEHEADER:
|
||||
sprintf( filename, "INTERFACE\\loadscreenaddons.sti" );
|
||||
return TRUE;
|
||||
case MLG_SPLASH:
|
||||
sprintf( filename, "INTERFACE\\splash.sti" );
|
||||
return TRUE;
|
||||
case MLG_IMPSYMBOL:
|
||||
sprintf( filename, "LAPTOP\\IMPSymbol.sti" );
|
||||
return TRUE;
|
||||
//inshy: translation needed for russian version
|
||||
case MLG_BOBBYRAYTITLE:
|
||||
sprintf( filename, "LAPTOP\\BOBBYRAYTITLE.STI" );
|
||||
return TRUE;
|
||||
case MLG_BR:
|
||||
sprintf( filename, "LAPTOP\\BR.STI" );
|
||||
return TRUE;
|
||||
case MLG_MP_GOLDPIECEBUTTONS:
|
||||
sprintf( filename, "INTERFACE\\MPGOLDPIECEBUTTONS.sti" );
|
||||
return TRUE;
|
||||
case MLG_ITEMINFOADVANCEDICONS:
|
||||
sprintf( filename, "INTERFACE\\ITEMINFOADVANCEDICONS.sti" );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#elif defined( GERMAN )
|
||||
switch( usMLGGraphicID )
|
||||
{
|
||||
case MLG_AIMSYMBOL:
|
||||
//Same graphic (no translation needed)
|
||||
sprintf( filename, "LAPTOP\\AimSymbol.sti" );
|
||||
return TRUE;
|
||||
case MLG_AIMSYMBOL_SMALL:
|
||||
//Same graphic (no translation needed)
|
||||
sprintf( filename, "LAPTOP\\AimSymbol_Small.sti" );
|
||||
return TRUE;
|
||||
case MLG_BOBBYNAME:
|
||||
//Same graphic (no translation needed)
|
||||
sprintf( filename, "LAPTOP\\BobbyName.sti" );
|
||||
return TRUE;
|
||||
case MLG_BOBBYRAYAD21:
|
||||
//Same graphic (no translation needed)
|
||||
sprintf( filename, "LAPTOP\\BobbyRayAd_21.sti" );
|
||||
return TRUE;
|
||||
case MLG_BOBBYRAYLINK:
|
||||
sprintf( filename, "GERMAN\\BobbyRayLink_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_CLOSED:
|
||||
sprintf( filename, "GERMAN\\Closed_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_CONFIRMORDER:
|
||||
sprintf( filename, "GERMAN\\ConfirmOrder_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_DESKTOP:
|
||||
sprintf( filename, "GERMAN\\desktop_german.pcx" );
|
||||
return TRUE;
|
||||
case MLG_FUNERALAD9:
|
||||
sprintf( filename, "GERMAN\\FuneralAd_12_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_GOLDPIECEBUTTONS:
|
||||
sprintf( filename, "GERMAN\\goldpiecebuttons_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_HISTORY:
|
||||
sprintf( filename, "GERMAN\\history_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_IMPSYMBOL:
|
||||
sprintf( filename, "German\\IMPSymbol_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_INSURANCEAD10:
|
||||
sprintf( filename, "GERMAN\\insurancead_10_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_INSURANCELINK:
|
||||
sprintf( filename, "GERMAN\\insurancelink_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_INSURANCETITLE:
|
||||
sprintf( filename, "GERMAN\\largetitle_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_LARGEFLORISTSYMBOL:
|
||||
sprintf( filename, "GERMAN\\LargeSymbol_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_SMALLFLORISTSYMBOL:
|
||||
sprintf( filename, "GERMAN\\SmallSymbol_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_MCGILLICUTTYS:
|
||||
sprintf( filename, "GERMAN\\McGillicuttys_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_MORTUARY:
|
||||
sprintf( filename, "GERMAN\\Mortuary_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_MORTUARYLINK:
|
||||
sprintf( filename, "GERMAN\\MortuaryLink_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_PREBATTLEPANEL:
|
||||
sprintf( filename, "GERMAN\\PreBattlePanel_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_PREBATTLEPANEL_800x600:
|
||||
sprintf(filename, "GERMAN\\PreBattlePanel_800x600_german.sti");
|
||||
return TRUE;
|
||||
case MLG_PREBATTLEPANEL_1024x768:
|
||||
sprintf(filename, "GERMAN\\PreBattlePanel_1024x768_german.sti");
|
||||
return TRUE;
|
||||
case MLG_PREBATTLEPANEL_1280x720:
|
||||
sprintf(filename, "GERMAN\\PreBattlePanel_1280x720_german.sti");
|
||||
return TRUE;
|
||||
case MLG_SMALLTITLE:
|
||||
sprintf( filename, "GERMAN\\SmallTitle_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_STATSBOX:
|
||||
//Same file
|
||||
sprintf( filename, "LAPTOP\\StatsBox.sti" );
|
||||
return TRUE;
|
||||
case MLG_STOREPLAQUE:
|
||||
sprintf( filename, "GERMAN\\StorePlaque_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_TITLETEXT:
|
||||
sprintf( filename, "GERMAN\\titletext_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_TITLETEXT_MP:
|
||||
sprintf( filename, "GERMAN\\titletext_mp_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_TOALUMNI:
|
||||
sprintf( filename, "GERMAN\\ToAlumni_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_TOMUGSHOTS:
|
||||
sprintf( filename, "GERMAN\\ToMugShots_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_TOSTATS:
|
||||
sprintf( filename, "GERMAN\\ToStats_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_WARNING:
|
||||
sprintf( filename, "GERMAN\\Warning_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_YOURAD13:
|
||||
sprintf( filename, "GERMAN\\YourAd_13_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_OPTIONHEADER:
|
||||
sprintf( filename, "GERMAN\\optionscreenaddons_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_LOADSAVEHEADER:
|
||||
sprintf( filename, "GERMAN\\loadscreenaddons_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_ORDERGRID:
|
||||
//Same file
|
||||
sprintf( filename, "LAPTOP\\OrderGrid.sti" );
|
||||
return TRUE;
|
||||
case MLG_SPLASH:
|
||||
sprintf( filename, "German\\splash_german.sti" );
|
||||
return TRUE;
|
||||
//inshy: Same graphic (no translation needed)
|
||||
case MLG_BOBBYRAYTITLE:
|
||||
sprintf( filename, "LAPTOP\\BOBBYRAYTITLE.STI" );
|
||||
return TRUE;
|
||||
case MLG_BR:
|
||||
sprintf( filename, "LAPTOP\\BR.STI" );
|
||||
return TRUE;
|
||||
case MLG_MP_GOLDPIECEBUTTONS:
|
||||
sprintf( filename, "GERMAN\\MPGOLDPIECEBUTTONS_german.sti" );
|
||||
return TRUE;
|
||||
case MLG_ITEMINFOADVANCEDICONS:
|
||||
sprintf( filename, "GERMAN\\ITEMINFOADVANCEDICONS_german.sti" );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
UINT8 zLanguage[64];
|
||||
|
||||
//The foreign language defined determines the name of the directory and filename.
|
||||
//For example, the German version of:
|
||||
//
|
||||
// "LAPTOP\\IMPSymbol.sti"
|
||||
//
|
||||
// would become:
|
||||
//
|
||||
// "GERMAN\\IMPSymbol_German.sti"
|
||||
|
||||
#if defined( DUTCH )
|
||||
sprintf( (char *)zLanguage, "DUTCH" );
|
||||
#elif defined( FRENCH )
|
||||
sprintf( (char *)zLanguage, "FRENCH" );
|
||||
#elif defined( GERMAN )
|
||||
sprintf( (char *)zLanguage, "GERMAN" );
|
||||
#elif defined( ITALIAN )
|
||||
sprintf( (char *)zLanguage, "ITALIAN" );
|
||||
#elif defined( JAPANESE )
|
||||
sprintf( (char *)zLanguage, "JAPANESE" );
|
||||
#elif defined( KOREAN )
|
||||
sprintf( (char *)zLanguage, "KOREAN" );
|
||||
#elif defined( POLISH )
|
||||
sprintf( (char *)zLanguage, "POLISH" );
|
||||
#elif defined( RUSSIAN )
|
||||
sprintf( (char *)zLanguage, "RUSSIAN" );
|
||||
#elif defined( SPANISH )
|
||||
sprintf( (char *)zLanguage, "SPANISH" );
|
||||
#elif defined( CHINESE )
|
||||
sprintf( (char *)zLanguage, "CHINESE" );
|
||||
#else
|
||||
# error "At least You have to specify a Language somewhere. See comments above."
|
||||
#endif
|
||||
|
||||
//SB: Also check for russian Gold version, like English
|
||||
switch( usMLGGraphicID )
|
||||
{
|
||||
case MLG_AIMSYMBOL:
|
||||
sprintf( filename, "%s\\AimSymbol_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_AIMSYMBOL_SMALL:
|
||||
sprintf( filename, "%s\\AimSymbol_Small_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_BOBBYNAME:
|
||||
sprintf( filename, "%s\\BobbyName_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_BOBBYRAYAD21:
|
||||
sprintf( filename, "%s\\BobbyRayAd_21_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_BOBBYRAYLINK:
|
||||
sprintf( filename, "%s\\BobbyRayLink_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_CLOSED:
|
||||
sprintf( filename, "%s\\Closed_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_CONFIRMORDER:
|
||||
sprintf( filename, "%s\\ConfirmOrder_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_DESKTOP:
|
||||
sprintf( filename, "%s\\desktop_%s.pcx", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_FUNERALAD9:
|
||||
sprintf( filename, "%s\\FuneralAd_9_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_GOLDPIECEBUTTONS:
|
||||
sprintf( filename, "%s\\goldpiecebuttons_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_HISTORY:
|
||||
sprintf( filename, "%s\\history_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_INSURANCEAD10:
|
||||
sprintf( filename, "%s\\insurancead_10_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_INSURANCELINK:
|
||||
sprintf( filename, "%s\\insurancelink_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_INSURANCETITLE:
|
||||
sprintf( filename, "%s\\largetitle_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_LARGEFLORISTSYMBOL:
|
||||
sprintf( filename, "%s\\LargeSymbol_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_ORDERGRID:
|
||||
sprintf( filename, "%s\\OrderGrid_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_SMALLFLORISTSYMBOL:
|
||||
sprintf( filename, "%s\\SmallSymbol_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_STATSBOX:
|
||||
sprintf( filename, "%s\\StatsBox_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_MCGILLICUTTYS:
|
||||
sprintf( filename, "%s\\McGillicuttys_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_MORTUARY:
|
||||
sprintf( filename, "%s\\Mortuary_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_MORTUARYLINK:
|
||||
sprintf( filename, "%s\\MortuaryLink_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_PREBATTLEPANEL:
|
||||
sprintf( filename, "%s\\PreBattlePanel_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_PREBATTLEPANEL_800x600:
|
||||
sprintf(filename, "%s\\PreBattlePanel_800x600_%s.sti", zLanguage, zLanguage);
|
||||
break;
|
||||
case MLG_PREBATTLEPANEL_1024x768:
|
||||
sprintf(filename, "%s\\PreBattlePanel_1024x768_%s.sti", zLanguage, zLanguage);
|
||||
break;
|
||||
case MLG_PREBATTLEPANEL_1280x720:
|
||||
sprintf(filename, "%s\\PreBattlePanel_1280x720_%s.sti", zLanguage, zLanguage);
|
||||
break;
|
||||
case MLG_SMALLTITLE:
|
||||
sprintf( filename, "%s\\SmallTitle_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_STOREPLAQUE:
|
||||
sprintf( filename, "%s\\StorePlaque_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_TITLETEXT:
|
||||
sprintf( filename, "%s\\titletext_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_TITLETEXT_MP:
|
||||
sprintf( filename, "%s\\titletext_mp_%s.sti", zLanguage, zLanguage );
|
||||
return TRUE;
|
||||
case MLG_TOALUMNI:
|
||||
sprintf( filename, "%s\\ToAlumni_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_TOMUGSHOTS:
|
||||
sprintf( filename, "%s\\ToMugShots_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_TOSTATS:
|
||||
sprintf( filename, "%s\\ToStats_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_WARNING:
|
||||
sprintf( filename, "%s\\Warning_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_YOURAD13:
|
||||
sprintf( filename, "%s\\YourAd_13_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_OPTIONHEADER:
|
||||
sprintf( filename, "%s\\optionscreenaddons_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_LOADSAVEHEADER:
|
||||
sprintf( filename, "%s\\loadscreenaddons_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_SPLASH:
|
||||
sprintf( filename, "%s\\splash_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_IMPSYMBOL:
|
||||
sprintf( filename, "%s\\IMPSymbol_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
//inshy: translation needed for russian version
|
||||
case MLG_BOBBYRAYTITLE:
|
||||
sprintf( filename, "%s\\BOBBYRAYTITLE_%s.STI", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_BR:
|
||||
sprintf( filename, "%s\\BR_%s.STI", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_MP_GOLDPIECEBUTTONS:
|
||||
sprintf( filename, "%s\\MPGOLDPIECEBUTTONS_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
case MLG_ITEMINFOADVANCEDICONS:
|
||||
sprintf( filename, "%s\\ITEMINFOADVANCEDICONS_%s.sti", zLanguage, zLanguage );
|
||||
break;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if(FileExists( filename ))
|
||||
return TRUE;
|
||||
|
||||
switch( usMLGGraphicID )
|
||||
{
|
||||
case MLG_AIMSYMBOL:
|
||||
sprintf( filename, "LAPTOP\\AimSymbol.sti" );
|
||||
return TRUE;
|
||||
case MLG_AIMSYMBOL_SMALL:
|
||||
sprintf( filename, "LAPTOP\\AimSymbol_Small.sti" );
|
||||
return TRUE;
|
||||
case MLG_BOBBYNAME:
|
||||
sprintf( filename, "LAPTOP\\BobbyName.sti" );
|
||||
return TRUE;
|
||||
case MLG_BOBBYRAYAD21:
|
||||
sprintf( filename, "LAPTOP\\BobbyRayAd_21.sti" );
|
||||
return TRUE;
|
||||
case MLG_BOBBYRAYLINK:
|
||||
sprintf( filename, "LAPTOP\\BobbyRayLink.sti" );
|
||||
return TRUE;
|
||||
case MLG_CLOSED:
|
||||
sprintf( filename, "LAPTOP\\Closed.sti" );
|
||||
return TRUE;
|
||||
case MLG_CONFIRMORDER:
|
||||
sprintf( filename, "LAPTOP\\ConfirmOrder.sti" );
|
||||
return TRUE;
|
||||
case MLG_DESKTOP:
|
||||
sprintf( filename, "LAPTOP\\desktop.pcx" );
|
||||
return TRUE;
|
||||
case MLG_FUNERALAD9:
|
||||
sprintf( filename, "LAPTOP\\FuneralAd_9.sti" );
|
||||
return TRUE;
|
||||
case MLG_GOLDPIECEBUTTONS:
|
||||
sprintf( filename, "INTERFACE\\goldpiecebuttons.sti" );
|
||||
return TRUE;
|
||||
case MLG_HISTORY:
|
||||
sprintf( filename, "LAPTOP\\history.sti" );
|
||||
return TRUE;
|
||||
case MLG_INSURANCEAD10:
|
||||
sprintf( filename, "LAPTOP\\insurancead_10.sti" );
|
||||
return TRUE;
|
||||
case MLG_INSURANCELINK:
|
||||
sprintf( filename, "LAPTOP\\insurancelink.sti" );
|
||||
return TRUE;
|
||||
case MLG_INSURANCETITLE:
|
||||
sprintf( filename, "LAPTOP\\largetitle.sti" );
|
||||
return TRUE;
|
||||
case MLG_LARGEFLORISTSYMBOL:
|
||||
sprintf( filename, "LAPTOP\\LargeSymbol.sti" );
|
||||
return TRUE;
|
||||
case MLG_SMALLFLORISTSYMBOL:
|
||||
sprintf( filename, "LAPTOP\\SmallSymbol.sti" );
|
||||
return TRUE;
|
||||
case MLG_MCGILLICUTTYS:
|
||||
sprintf( filename, "LAPTOP\\McGillicuttys.sti" );
|
||||
return TRUE;
|
||||
case MLG_MORTUARY:
|
||||
sprintf( filename, "LAPTOP\\Mortuary.sti" );
|
||||
return TRUE;
|
||||
case MLG_MORTUARYLINK:
|
||||
sprintf( filename, "LAPTOP\\MortuaryLink.sti" );
|
||||
return TRUE;
|
||||
case MLG_ORDERGRID:
|
||||
sprintf( filename, "LAPTOP\\OrderGrid.sti" );
|
||||
return TRUE;
|
||||
case MLG_PREBATTLEPANEL:
|
||||
sprintf( filename, "INTERFACE\\PreBattlePanel.sti" );
|
||||
return TRUE;
|
||||
case MLG_PREBATTLEPANEL_800x600:
|
||||
sprintf(filename, "INTERFACE\\PreBattlePanel_800x600.sti");
|
||||
return TRUE;
|
||||
case MLG_PREBATTLEPANEL_1024x768:
|
||||
sprintf(filename, "INTERFACE\\PreBattlePanel_1024x768.sti");
|
||||
return TRUE;
|
||||
case MLG_PREBATTLEPANEL_1280x720:
|
||||
sprintf(filename, "INTERFACE\\PreBattlePanel_1280x720.sti");
|
||||
return TRUE;
|
||||
case MLG_SMALLTITLE:
|
||||
sprintf( filename, "LAPTOP\\SmallTitle.sti" );
|
||||
return TRUE;
|
||||
case MLG_STATSBOX:
|
||||
sprintf( filename, "LAPTOP\\StatsBox.sti" );
|
||||
return TRUE;
|
||||
case MLG_STOREPLAQUE:
|
||||
sprintf( filename, "LAPTOP\\BobbyStorePlaque.sti" );
|
||||
return TRUE;
|
||||
case MLG_TITLETEXT:
|
||||
sprintf( filename, "LOADSCREENS\\titletext.sti" );
|
||||
return TRUE;
|
||||
case MLG_TITLETEXT_MP:
|
||||
sprintf( filename, "LOADSCREENS\\titletext_mp.sti" );
|
||||
return TRUE;
|
||||
case MLG_TOALUMNI:
|
||||
sprintf( filename, "LAPTOP\\ToAlumni.sti" );
|
||||
return TRUE;
|
||||
case MLG_TOMUGSHOTS:
|
||||
sprintf( filename, "LAPTOP\\ToMugShots.sti" );
|
||||
return TRUE;
|
||||
case MLG_TOSTATS:
|
||||
sprintf( filename, "LAPTOP\\ToStats.sti" );
|
||||
return TRUE;
|
||||
case MLG_WARNING:
|
||||
sprintf( filename, "LAPTOP\\Warning.sti" );
|
||||
return TRUE;
|
||||
case MLG_YOURAD13:
|
||||
sprintf( filename, "LAPTOP\\YourAd_13.sti" );
|
||||
return TRUE;
|
||||
case MLG_OPTIONHEADER:
|
||||
sprintf( filename, "INTERFACE\\optionscreenaddons.sti" );
|
||||
return TRUE;
|
||||
case MLG_LOADSAVEHEADER:
|
||||
sprintf( filename, "INTERFACE\\loadscreenaddons.sti" );
|
||||
return TRUE;
|
||||
case MLG_SPLASH:
|
||||
sprintf( filename, "INTERFACE\\splash.sti" );
|
||||
return TRUE;
|
||||
case MLG_IMPSYMBOL:
|
||||
sprintf( filename, "LAPTOP\\IMPSymbol.sti" );
|
||||
return TRUE;
|
||||
//inshy: translation needed for russian version
|
||||
case MLG_BOBBYRAYTITLE:
|
||||
sprintf( filename, "LAPTOP\\BOBBYRAYTITLE.STI" );
|
||||
return TRUE;
|
||||
case MLG_BR:
|
||||
sprintf( filename, "LAPTOP\\BR.STI" );
|
||||
return TRUE;
|
||||
case MLG_MP_GOLDPIECEBUTTONS:
|
||||
sprintf( filename, "INTERFACE\\MPGOLDPIECEBUTTONS.sti" );
|
||||
return TRUE;
|
||||
case MLG_ITEMINFOADVANCEDICONS:
|
||||
sprintf( filename, "INTERFACE\\ITEMINFOADVANCEDICONS.sti" );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
#ifndef __MULTI_LANGUAGE_GRAPHIC_UTILS_H
|
||||
#define __MULTI_LANGUAGE_GRAPHIC_UTILS_H
|
||||
|
||||
enum
|
||||
{
|
||||
MLG_AIMSYMBOL,
|
||||
MLG_AIMSYMBOL_SMALL,
|
||||
MLG_BOBBYNAME,
|
||||
MLG_BOBBYRAYAD21,
|
||||
MLG_BOBBYRAYLINK,
|
||||
MLG_CLOSED,
|
||||
MLG_CONFIRMORDER,
|
||||
MLG_DESKTOP,
|
||||
MLG_FUNERALAD9,
|
||||
MLG_GOLDPIECEBUTTONS,
|
||||
MLG_HISTORY,
|
||||
MLG_IMPSYMBOL,
|
||||
MLG_INSURANCEAD10,
|
||||
MLG_INSURANCELINK,
|
||||
MLG_INSURANCETITLE, //LargeTitle
|
||||
MLG_LARGEFLORISTSYMBOL, //LargeSymbol
|
||||
MLG_LOADSAVEHEADER, //LoadScreenAddOns
|
||||
MLG_MCGILLICUTTYS,
|
||||
MLG_MORTUARY,
|
||||
MLG_MORTUARYLINK,
|
||||
MLG_OPTIONHEADER, //OptionScreenAddOns
|
||||
MLG_ORDERGRID,
|
||||
MLG_PREBATTLEPANEL,
|
||||
MLG_PREBATTLEPANEL_800x600,
|
||||
MLG_PREBATTLEPANEL_1024x768,
|
||||
MLG_PREBATTLEPANEL_1280x720,
|
||||
MLG_SECTORINVENTORY,
|
||||
MLG_SMALLFLORISTSYMBOL, //SmallSymbol
|
||||
MLG_SMALLTITLE,
|
||||
MLG_SPLASH,
|
||||
MLG_STATSBOX,
|
||||
MLG_STOREPLAQUE,
|
||||
MLG_TITLETEXT,
|
||||
MLG_TOALUMNI,
|
||||
MLG_TOMUGSHOTS,
|
||||
MLG_TOSTATS,
|
||||
MLG_WARNING,
|
||||
MLG_YOURAD13,
|
||||
MLG_TITLETEXT_MP, // WANNE: Additional multiplayer text
|
||||
MLG_BOBBYRAYTITLE, //inshy: translation needed for russian version
|
||||
MLG_BR,
|
||||
MLG_MP_GOLDPIECEBUTTONS,
|
||||
MLG_ITEMINFOADVANCEDICONS, // WANNE: Language specific Icons
|
||||
};
|
||||
|
||||
BOOLEAN GetMLGFilename( SGPFILENAME filename, UINT16 usMLGGraphicID );
|
||||
|
||||
#endif
|
||||
@@ -32,7 +32,6 @@ CREATED: Feb 16, 1999
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include "types.h"
|
||||
#include "Language Defines.h"
|
||||
#include "debug.h"
|
||||
#include "Fileman.h"
|
||||
|
||||
|
||||
@@ -9,4 +9,4 @@ BOOLEAN ProcessIfMultilingualCmdLineArgDetected( STR8 str );
|
||||
//macro function out
|
||||
#define ProcessIfMultilingualCmdLineArgDetected( a ) 0
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -234,7 +234,7 @@ BOOLEAN MusicPlay(NewMusicList mode, UINT8 songIndex)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
MusicPlay(MusicLists[mode][songIndex]);
|
||||
return MusicPlay(MusicLists[mode][songIndex]);
|
||||
}
|
||||
|
||||
//********************************************************************************
|
||||
|
||||
@@ -18,4 +18,4 @@ void MapPalette( UINT8 *pDest, UINT8 *pSrc, INT16 sWidth, INT16 sHeight, INT16 s
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -40,4 +40,4 @@ protected:
|
||||
void GetPaletteColors (NODE* pTree, RGBQUAD* prgb, UINT* pIndex);
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -9,4 +9,4 @@ void WriteSTIFile( INT8 *pData, SGPPaletteEntry *pPalette, INT16 sWidth, INT16 s
|
||||
|
||||
UINT32 ETRLECompressSubImage( UINT8 * pDest, UINT32 uiDestLen, UINT8 * p8BPPBuffer, UINT16 usWidth, UINT16 usHeight, STCISubImage * pSubImage );
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+130
-121
@@ -767,12 +767,13 @@ void DelayedSoundTimerCallback( void )
|
||||
typedef struct
|
||||
{
|
||||
UINT32 uiFlags;
|
||||
INT32 sGridNo;
|
||||
INT32 iSoundSampleID;
|
||||
INT32 iSoundToPlay;
|
||||
INT32 sGridNo;
|
||||
INT32 iSoundSampleID;
|
||||
INT32 iSoundToPlay;
|
||||
UINT32 uiData;
|
||||
BOOLEAN fAllocated;
|
||||
BOOLEAN fInActive;
|
||||
UINT8 volume;
|
||||
|
||||
} POSITIONSND;
|
||||
|
||||
@@ -792,88 +793,89 @@ INT32 GetFreePositionSnd( void )
|
||||
{
|
||||
UINT32 uiCount;
|
||||
|
||||
for(uiCount=0; uiCount < guiNumPositionSnds; uiCount++)
|
||||
for ( uiCount = 0; uiCount < guiNumPositionSnds; uiCount++ )
|
||||
{
|
||||
if(( gPositionSndData[uiCount].fAllocated==FALSE ) )
|
||||
return( (INT32)uiCount );
|
||||
if ( (gPositionSndData[uiCount].fAllocated == FALSE) )
|
||||
return((INT32)uiCount);
|
||||
}
|
||||
|
||||
if( guiNumPositionSnds < NUM_POSITION_SOUND_EFFECT_SLOTS )
|
||||
return( (INT32) guiNumPositionSnds++ );
|
||||
if ( guiNumPositionSnds < NUM_POSITION_SOUND_EFFECT_SLOTS )
|
||||
return((INT32)guiNumPositionSnds++);
|
||||
|
||||
return( -1 );
|
||||
return(-1);
|
||||
}
|
||||
|
||||
void RecountPositionSnds( void )
|
||||
{
|
||||
INT32 uiCount;
|
||||
|
||||
for(uiCount=guiNumPositionSnds-1; (uiCount >=0) ; uiCount--)
|
||||
for ( uiCount = guiNumPositionSnds - 1; (uiCount >= 0); uiCount-- )
|
||||
{
|
||||
if( ( gPositionSndData[uiCount].fAllocated ) )
|
||||
if ( (gPositionSndData[uiCount].fAllocated) )
|
||||
{
|
||||
guiNumPositionSnds=(UINT32)(uiCount+1);
|
||||
guiNumPositionSnds = (UINT32)(uiCount + 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INT32 NewPositionSnd( INT32 sGridNo, UINT32 uiFlags, UINT32 uiData, UINT32 iSoundToPlay )
|
||||
INT32 NewPositionSnd( INT32 sGridNo, UINT32 uiFlags, UINT32 uiData, UINT32 iSoundToPlay, UINT8 volume )
|
||||
{
|
||||
POSITIONSND *pPositionSnd;
|
||||
INT32 iPositionSndIndex;
|
||||
|
||||
if( ( iPositionSndIndex = GetFreePositionSnd() )==(-1) )
|
||||
if ( (iPositionSndIndex = GetFreePositionSnd()) == (-1) )
|
||||
return(-1);
|
||||
|
||||
memset( &gPositionSndData[ iPositionSndIndex ], 0, sizeof( POSITIONSND ) );
|
||||
memset( &gPositionSndData[iPositionSndIndex], 0, sizeof( POSITIONSND ) );
|
||||
|
||||
pPositionSnd = &gPositionSndData[ iPositionSndIndex ];
|
||||
pPositionSnd = &gPositionSndData[iPositionSndIndex];
|
||||
|
||||
|
||||
// Default to inactive
|
||||
|
||||
if ( gfPositionSoundsActive )
|
||||
{
|
||||
pPositionSnd->fInActive = FALSE;
|
||||
pPositionSnd->fInActive = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
pPositionSnd->fInActive = TRUE;
|
||||
pPositionSnd->fInActive = TRUE;
|
||||
}
|
||||
|
||||
pPositionSnd->sGridNo = sGridNo;
|
||||
pPositionSnd->uiData = uiData;
|
||||
pPositionSnd->uiFlags = uiFlags;
|
||||
pPositionSnd->fAllocated = TRUE;
|
||||
pPositionSnd->sGridNo = sGridNo;
|
||||
pPositionSnd->uiData = uiData;
|
||||
pPositionSnd->uiFlags = uiFlags;
|
||||
pPositionSnd->fAllocated = TRUE;
|
||||
pPositionSnd->iSoundToPlay = iSoundToPlay;
|
||||
pPositionSnd->volume = volume;
|
||||
|
||||
pPositionSnd->iSoundSampleID = NO_SAMPLE;
|
||||
|
||||
return( iPositionSndIndex );
|
||||
return(iPositionSndIndex);
|
||||
}
|
||||
|
||||
void DeletePositionSnd( INT32 iPositionSndIndex )
|
||||
{
|
||||
POSITIONSND *pPositionSnd;
|
||||
|
||||
pPositionSnd = &gPositionSndData[ iPositionSndIndex ];
|
||||
pPositionSnd = &gPositionSndData[iPositionSndIndex];
|
||||
|
||||
if ( pPositionSnd->fAllocated )
|
||||
{
|
||||
// Turn inactive first...
|
||||
pPositionSnd->fInActive = TRUE;
|
||||
// Turn inactive first...
|
||||
pPositionSnd->fInActive = TRUE;
|
||||
|
||||
// End sound...
|
||||
if ( pPositionSnd->iSoundSampleID != NO_SAMPLE )
|
||||
{
|
||||
SoundStop( pPositionSnd->iSoundSampleID );
|
||||
}
|
||||
// End sound...
|
||||
if ( pPositionSnd->iSoundSampleID != NO_SAMPLE )
|
||||
{
|
||||
SoundStop( pPositionSnd->iSoundSampleID );
|
||||
}
|
||||
|
||||
pPositionSnd->fAllocated = FALSE;
|
||||
pPositionSnd->fAllocated = FALSE;
|
||||
|
||||
RecountPositionSnds( );
|
||||
RecountPositionSnds();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -881,17 +883,17 @@ void SetPositionSndGridNo( INT32 iPositionSndIndex, INT32 sGridNo )
|
||||
{
|
||||
POSITIONSND *pPositionSnd;
|
||||
|
||||
pPositionSnd = &gPositionSndData[ iPositionSndIndex ];
|
||||
pPositionSnd = &gPositionSndData[iPositionSndIndex];
|
||||
|
||||
if ( pPositionSnd->fAllocated )
|
||||
{
|
||||
pPositionSnd->sGridNo = sGridNo;
|
||||
pPositionSnd->sGridNo = sGridNo;
|
||||
|
||||
SetPositionSndsVolumeAndPanning( );
|
||||
SetPositionSndsVolumeAndPanning();
|
||||
}
|
||||
}
|
||||
|
||||
void SetPositionSndsActive( )
|
||||
void SetPositionSndsActive()
|
||||
{
|
||||
UINT32 cnt;
|
||||
POSITIONSND *pPositionSnd;
|
||||
@@ -900,24 +902,31 @@ void SetPositionSndsActive( )
|
||||
|
||||
for ( cnt = 0; cnt < guiNumPositionSnds; cnt++ )
|
||||
{
|
||||
pPositionSnd = &gPositionSndData[ cnt ];
|
||||
pPositionSnd = &gPositionSndData[cnt];
|
||||
|
||||
if ( pPositionSnd->fAllocated )
|
||||
{
|
||||
if ( pPositionSnd->fInActive )
|
||||
if ( pPositionSnd->fAllocated )
|
||||
{
|
||||
pPositionSnd->fInActive = FALSE;
|
||||
if ( pPositionSnd->fInActive )
|
||||
{
|
||||
pPositionSnd->fInActive = FALSE;
|
||||
|
||||
// Begin sound effect
|
||||
// Volume 0
|
||||
pPositionSnd->iSoundSampleID = PlayJA2Sample( pPositionSnd->iSoundToPlay, RATE_11025, 0, 0, MIDDLEPAN );
|
||||
// Begin sound effect
|
||||
// Volume 0
|
||||
if ( pPositionSnd->iSoundToPlay == POWER_GEN_FAN_SOUND )
|
||||
{
|
||||
pPositionSnd->iSoundSampleID = PlayJA2SampleFromFile( "Sounds\\POWERGENFAN.WAV", RATE_11025, 0, 0, MIDDLEPAN );
|
||||
}
|
||||
else
|
||||
{
|
||||
pPositionSnd->iSoundSampleID = PlayJA2Sample( pPositionSnd->iSoundToPlay, RATE_11025, 0, 0, MIDDLEPAN );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void SetPositionSndsInActive( )
|
||||
void SetPositionSndsInActive()
|
||||
{
|
||||
UINT32 cnt;
|
||||
POSITIONSND *pPositionSnd;
|
||||
@@ -926,20 +935,20 @@ void SetPositionSndsInActive( )
|
||||
|
||||
for ( cnt = 0; cnt < guiNumPositionSnds; cnt++ )
|
||||
{
|
||||
pPositionSnd = &gPositionSndData[ cnt ];
|
||||
pPositionSnd = &gPositionSndData[cnt];
|
||||
|
||||
if ( pPositionSnd->fAllocated )
|
||||
{
|
||||
pPositionSnd->fInActive = TRUE;
|
||||
|
||||
// End sound...
|
||||
if ( pPositionSnd->iSoundSampleID != NO_SAMPLE )
|
||||
if ( pPositionSnd->fAllocated )
|
||||
{
|
||||
SoundStop( pPositionSnd->iSoundSampleID );
|
||||
pPositionSnd->iSoundSampleID = NO_SAMPLE;
|
||||
pPositionSnd->fInActive = TRUE;
|
||||
|
||||
// End sound...
|
||||
if ( pPositionSnd->iSoundSampleID != NO_SAMPLE )
|
||||
{
|
||||
SoundStop( pPositionSnd->iSoundSampleID );
|
||||
pPositionSnd->iSoundSampleID = NO_SAMPLE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// == Lesh slightly changed this function ============
|
||||
@@ -949,51 +958,51 @@ UINT8 PositionSoundDir( INT32 sGridNo )
|
||||
INT16 sScreenX, sScreenY;
|
||||
INT16 sMiddleX;
|
||||
INT16 sDif, sAbsDif;
|
||||
|
||||
if (TileIsOutOfBounds(sGridNo))
|
||||
|
||||
if ( TileIsOutOfBounds( sGridNo ) )
|
||||
{
|
||||
return( MIDDLEPAN );
|
||||
return(MIDDLEPAN);
|
||||
}
|
||||
|
||||
// OK, get screen position of gridno.....
|
||||
ConvertGridNoToXY( sGridNo, &sWorldX, &sWorldY );
|
||||
|
||||
// Get screen coordinates for current position of soldier
|
||||
GetWorldXYAbsoluteScreenXY( (INT16)(sWorldX), (INT16)(sWorldY), &sScreenX, &sScreenY);
|
||||
GetWorldXYAbsoluteScreenXY( (INT16)(sWorldX), (INT16)(sWorldY), &sScreenX, &sScreenY );
|
||||
|
||||
// Get middle of where we are now....
|
||||
sMiddleX = gsTopLeftWorldX + ( gsBottomRightWorldX - gsTopLeftWorldX ) / 2;
|
||||
sMiddleX = gsTopLeftWorldX + (gsBottomRightWorldX - gsTopLeftWorldX) / 2;
|
||||
|
||||
sDif = sMiddleX - sScreenX;
|
||||
|
||||
if ( ( sAbsDif = abs( sDif ) ) > 64 )
|
||||
if ( (sAbsDif = abs( sDif )) > 64 )
|
||||
{
|
||||
// OK, NOT the middle.
|
||||
|
||||
// Is it outside the screen?
|
||||
if ( sAbsDif > ( ( gsBottomRightWorldX - gsTopLeftWorldX ) / 2 ) )
|
||||
{
|
||||
if ( sAbsDif > ((gsBottomRightWorldX - gsTopLeftWorldX) / 2) )
|
||||
{
|
||||
// yes, outside...
|
||||
if ( sDif > 0 )
|
||||
{
|
||||
return( FARLEFT );
|
||||
return(FARLEFT);
|
||||
//return( 1 );
|
||||
}
|
||||
else
|
||||
return( FARRIGHT );
|
||||
//return( 126 );
|
||||
else
|
||||
return(FARRIGHT);
|
||||
//return( 126 );
|
||||
|
||||
}
|
||||
}
|
||||
else // inside screen
|
||||
{
|
||||
if ( sDif > 0)
|
||||
return( LEFTSIDE );
|
||||
if ( sDif > 0 )
|
||||
return(LEFTSIDE);
|
||||
else
|
||||
return( RIGHTSIDE );
|
||||
return(RIGHTSIDE);
|
||||
}
|
||||
}
|
||||
else // hardly any difference, so sound should be played from middle
|
||||
return(MIDDLE);
|
||||
return(MIDDLE);
|
||||
}
|
||||
|
||||
|
||||
@@ -1006,21 +1015,21 @@ INT8 PositionSoundVolume( INT8 bInitialVolume, INT32 sGridNo )
|
||||
INT16 sDifY, sAbsDifY;
|
||||
INT16 sMaxDistX, sMaxDistY;
|
||||
double sMaxSoundDist, sSoundDist;
|
||||
|
||||
if (TileIsOutOfBounds(sGridNo))
|
||||
|
||||
if ( TileIsOutOfBounds( sGridNo ) )
|
||||
{
|
||||
return( bInitialVolume );
|
||||
return(bInitialVolume);
|
||||
}
|
||||
|
||||
// OK, get screen position of gridno.....
|
||||
ConvertGridNoToXY( sGridNo, &sWorldX, &sWorldY );
|
||||
|
||||
// Get screen coordinates for current position of soldier
|
||||
GetWorldXYAbsoluteScreenXY( (INT16)(sWorldX), (INT16)(sWorldY), &sScreenX, &sScreenY);
|
||||
GetWorldXYAbsoluteScreenXY( (INT16)(sWorldX), (INT16)(sWorldY), &sScreenX, &sScreenY );
|
||||
|
||||
// Get middle of where we are now....
|
||||
sMiddleX = gsTopLeftWorldX + ( gsBottomRightWorldX - gsTopLeftWorldX ) / 2;
|
||||
sMiddleY = gsTopLeftWorldY + ( gsBottomRightWorldY - gsTopLeftWorldY ) / 2;
|
||||
sMiddleX = gsTopLeftWorldX + (gsBottomRightWorldX - gsTopLeftWorldX) / 2;
|
||||
sMiddleY = gsTopLeftWorldY + (gsBottomRightWorldY - gsTopLeftWorldY) / 2;
|
||||
|
||||
sDifX = sMiddleX - sScreenX;
|
||||
sDifY = sMiddleY - sScreenY;
|
||||
@@ -1028,28 +1037,28 @@ INT8 PositionSoundVolume( INT8 bInitialVolume, INT32 sGridNo )
|
||||
sAbsDifX = abs( sDifX );
|
||||
sAbsDifY = abs( sDifY );
|
||||
|
||||
sMaxDistX = (INT16)( ( gsBottomRightWorldX - gsTopLeftWorldX ) * 1.5 );
|
||||
sMaxDistY = (INT16)( ( gsBottomRightWorldY - gsTopLeftWorldY ) * 1.5 );
|
||||
sMaxDistX = (INT16)((gsBottomRightWorldX - gsTopLeftWorldX) * 1.5);
|
||||
sMaxDistY = (INT16)((gsBottomRightWorldY - gsTopLeftWorldY) * 1.5);
|
||||
|
||||
sMaxSoundDist = sqrt( (double) ( sMaxDistX * sMaxDistX ) + ( sMaxDistY * sMaxDistY ) );
|
||||
sSoundDist = sqrt( (double)( sAbsDifX * sAbsDifX ) + ( sAbsDifY * sAbsDifY ) );
|
||||
sMaxSoundDist = sqrt( (double)(sMaxDistX * sMaxDistX) + (sMaxDistY * sMaxDistY) );
|
||||
sSoundDist = sqrt( (double)(sAbsDifX * sAbsDifX) + (sAbsDifY * sAbsDifY) );
|
||||
|
||||
if ( sSoundDist == 0 )
|
||||
{
|
||||
return( bInitialVolume );
|
||||
return(bInitialVolume);
|
||||
}
|
||||
|
||||
if ( sSoundDist > sMaxSoundDist )
|
||||
{
|
||||
sSoundDist = sMaxSoundDist;
|
||||
sSoundDist = sMaxSoundDist;
|
||||
}
|
||||
|
||||
// Scale
|
||||
return( (INT8)( bInitialVolume * ( ( sMaxSoundDist - sSoundDist ) / sMaxSoundDist ) ) );
|
||||
return((INT8)(bInitialVolume * ((sMaxSoundDist - sSoundDist) / sMaxSoundDist)));
|
||||
}
|
||||
|
||||
|
||||
void SetPositionSndsVolumeAndPanning( )
|
||||
void SetPositionSndsVolumeAndPanning()
|
||||
{
|
||||
UINT32 cnt;
|
||||
POSITIONSND *pPositionSnd;
|
||||
@@ -1059,49 +1068,49 @@ void SetPositionSndsVolumeAndPanning( )
|
||||
|
||||
for ( cnt = 0; cnt < guiNumPositionSnds; cnt++ )
|
||||
{
|
||||
pPositionSnd = &gPositionSndData[ cnt ];
|
||||
pPositionSnd = &gPositionSndData[cnt];
|
||||
|
||||
if ( pPositionSnd->fAllocated )
|
||||
{
|
||||
if ( !pPositionSnd->fInActive )
|
||||
if ( pPositionSnd->fAllocated )
|
||||
{
|
||||
if ( pPositionSnd->iSoundSampleID != NO_SAMPLE )
|
||||
{
|
||||
bVolume = PositionSoundVolume( 15, pPositionSnd->sGridNo );
|
||||
|
||||
if ( pPositionSnd->uiFlags & POSITION_SOUND_FROM_SOLDIER )
|
||||
if ( !pPositionSnd->fInActive )
|
||||
{
|
||||
pSoldier = (SOLDIERTYPE*)pPositionSnd->uiData;
|
||||
|
||||
if ( pSoldier->bVisible == -1 )
|
||||
if ( pPositionSnd->iSoundSampleID != NO_SAMPLE )
|
||||
{
|
||||
// Limit volume,,,
|
||||
if ( bVolume > 10 )
|
||||
bVolume = PositionSoundVolume( pPositionSnd->volume, pPositionSnd->sGridNo );
|
||||
|
||||
if ( pPositionSnd->uiFlags & POSITION_SOUND_FROM_SOLDIER )
|
||||
{
|
||||
bVolume = 10;
|
||||
pSoldier = (SOLDIERTYPE *)pPositionSnd->uiData;
|
||||
|
||||
if ( pSoldier->bVisible == -1 )
|
||||
{
|
||||
// Limit volume,,,
|
||||
if ( bVolume > 10 )
|
||||
{
|
||||
bVolume = 10;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//if the sound is from a stationary object
|
||||
if ( pPositionSnd->uiFlags & POSITION_SOUND_STATIONATY_OBJECT )
|
||||
{
|
||||
// make sure you can always hear it
|
||||
if ( bVolume < 5 )
|
||||
{
|
||||
bVolume = 5;
|
||||
}
|
||||
}
|
||||
|
||||
SoundSetVolume( pPositionSnd->iSoundSampleID, bVolume );
|
||||
|
||||
ubPan = PositionSoundDir( pPositionSnd->sGridNo );
|
||||
|
||||
SoundSetPan( pPositionSnd->iSoundSampleID, ubPan );
|
||||
}
|
||||
}
|
||||
|
||||
//if the sound is from a stationay object
|
||||
if( pPositionSnd->uiFlags & POSITION_SOUND_STATIONATY_OBJECT )
|
||||
{
|
||||
// make sure you can always hear it
|
||||
if ( bVolume < 5 )
|
||||
{
|
||||
bVolume = 5;
|
||||
}
|
||||
}
|
||||
|
||||
SoundSetVolume( pPositionSnd->iSoundSampleID, bVolume );
|
||||
|
||||
ubPan = PositionSoundDir( pPositionSnd->sGridNo );
|
||||
|
||||
SoundSetPan( pPositionSnd->iSoundSampleID, ubPan );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -381,7 +381,9 @@ enum SoundDefines
|
||||
S_VAL,
|
||||
//BREAK_LIGHT_IGNITING,
|
||||
|
||||
NUM_SAMPLES
|
||||
NUM_SAMPLES,
|
||||
POWER_GEN_FAN_SOUND = 5001 // This is a workaround to get the generator fan positional sound working in UB campaign.
|
||||
// Had to special case it because sound effects have been externalized.
|
||||
};
|
||||
|
||||
enum AmbientDefines
|
||||
@@ -455,7 +457,7 @@ void PlayDelayedJA2Sample( UINT32 uiDelay, UINT32 usNum, UINT32 usRate, UINT32 u
|
||||
#define POSITION_SOUND_FROM_SOLDIER 0x00000001
|
||||
#define POSITION_SOUND_STATIONATY_OBJECT 0x00000002
|
||||
|
||||
INT32 NewPositionSnd( INT32 sGridNo, UINT32 uiFlags, UINT32 uiData, UINT32 iSoundToPlay );
|
||||
INT32 NewPositionSnd( INT32 sGridNo, UINT32 uiFlags, UINT32 uiData, UINT32 iSoundToPlay, UINT8 volume );
|
||||
void DeletePositionSnd( INT32 iPositionSndIndex );
|
||||
void SetPositionSndsActive( );
|
||||
void SetPositionSndsInActive( );
|
||||
|
||||
@@ -937,11 +937,7 @@ BOOLEAN HandleTextInput( InputAtom *Event )
|
||||
UINT32 key = Event->usParam;
|
||||
UINT16 type = gpActive->usInputType;
|
||||
//Handle space key
|
||||
#ifndef USE_CODE_PAGE
|
||||
if( key == SPACE && type & INPUTTYPE_SPACES )
|
||||
#else
|
||||
if( charSet::IsFromSet(key, charSet::CS_SPACE) && type & INPUTTYPE_SPACES )
|
||||
#endif
|
||||
{
|
||||
AddChar( key );
|
||||
return TRUE;
|
||||
@@ -953,11 +949,7 @@ BOOLEAN HandleTextInput( InputAtom *Event )
|
||||
return TRUE;
|
||||
}
|
||||
//Handle numerics
|
||||
#ifndef USE_CODE_PAGE
|
||||
if( key >= '0' && key <= '9' && type & INPUTTYPE_NUMERICSTRICT )
|
||||
#else
|
||||
if( charSet::IsFromSet(key, charSet::CS_NUMERIC) && type & INPUTTYPE_NUMERICSTRICT )
|
||||
#endif
|
||||
{
|
||||
AddChar( key );
|
||||
return TRUE;
|
||||
@@ -965,22 +957,14 @@ BOOLEAN HandleTextInput( InputAtom *Event )
|
||||
//Handle alphas
|
||||
if( type & INPUTTYPE_ALPHA )
|
||||
{
|
||||
#ifndef USE_CODE_PAGE
|
||||
if( key >= 'A' && key <= 'Z' )
|
||||
#else
|
||||
if( charSet::IsFromSet(key, charSet::CS_ALPHA_UC) )
|
||||
#endif
|
||||
{
|
||||
if( type & INPUTTYPE_LOWERCASE )
|
||||
key -= 32; // won't work for non-ascii alpha characters
|
||||
AddChar( key );
|
||||
return TRUE;
|
||||
}
|
||||
#ifndef USE_CODE_PAGE
|
||||
if( key >= 'a' && key <= 'z' )
|
||||
#else
|
||||
if( charSet::IsFromSet(key, charSet::CS_ALPHA_LC) )
|
||||
#endif
|
||||
{
|
||||
if( type & INPUTTYPE_UPPERCASE )
|
||||
key += 32; // won't work for non-ascii alpha characters
|
||||
@@ -992,14 +976,10 @@ BOOLEAN HandleTextInput( InputAtom *Event )
|
||||
if( type & INPUTTYPE_SPECIAL )
|
||||
{
|
||||
//More can be added, but not all of the fonts support these
|
||||
#ifndef USE_CODE_PAGE
|
||||
if( key >= 0x21 && key <= 0x2f || // ! " # $ % & ' ( ) * + , - . /
|
||||
key >= 0x3a && key <= 0x40 || // : ; < = > ? @
|
||||
key >= 0x5b && key <= 0x5f || // [ \ ] ^ _
|
||||
key >= 0x7b && key <= 0x7d ) // { | }
|
||||
#else
|
||||
if( charSet::IsFromSet(key, charSet::CS_SPECIAL_ALPHA|charSet::CS_SPECIAL_NON_CHAR) )
|
||||
#endif
|
||||
{
|
||||
AddChar( key );
|
||||
return TRUE;
|
||||
|
||||
+1
-1
@@ -192,4 +192,4 @@ void KillClipboard();
|
||||
|
||||
extern BOOLEAN gfNoScroll;
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
-3248
File diff suppressed because it is too large
Load Diff
@@ -129,4 +129,4 @@ void ZeroTimeCounter(INT32& timer);
|
||||
#define ZEROTIMECOUNTER(c) ZeroTimeCounter(c)
|
||||
|
||||
void SetTileAnimCounter( INT32 iTime );
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+1
-22
@@ -15,8 +15,6 @@
|
||||
|
||||
extern BOOLEAN GetCDromDriveLetter( STR8 pString );
|
||||
|
||||
#define DATA_8_BIT_DIR "8-Bit\\"
|
||||
|
||||
BOOLEAN PerformTimeLimitedCheck();
|
||||
|
||||
// WANNE: Given a string, replaces all instances of "oldpiece" with "newpiece"
|
||||
@@ -97,26 +95,7 @@ BOOLEAN PerformTimeLimitedCheck();
|
||||
//#define TIME_LIMITED_VERSION
|
||||
void FilenameForBPP(STR pFilename, STR pDestination)
|
||||
{
|
||||
CHAR8 Drive[128], Dir[128], Name[128], Ext[128];
|
||||
|
||||
if(GETPIXELDEPTH()==16)
|
||||
{
|
||||
// no processing for 16 bit names
|
||||
strcpy(pDestination, pFilename);
|
||||
}
|
||||
else
|
||||
{
|
||||
_splitpath(pFilename, Drive, Dir, Name, Ext);
|
||||
|
||||
strcat(Name, "_8");
|
||||
|
||||
strcpy(pDestination, Drive);
|
||||
//strcat(pDestination, Dir);
|
||||
strcat(pDestination, DATA_8_BIT_DIR);
|
||||
strcat(pDestination, Name);
|
||||
strcat(pDestination, Ext);
|
||||
}
|
||||
|
||||
strcpy(pDestination, pFilename);
|
||||
}
|
||||
|
||||
BOOLEAN CreateSGPPaletteFromCOLFile( SGPPaletteEntry *pPalette, SGPFILENAME ColFile )
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
#include "sgp.h"
|
||||
|
||||
|
||||
#define GETPIXELDEPTH( ) ( gbPixelDepth )
|
||||
|
||||
// WANNE: Maximum number of characters in german description (German xml files)
|
||||
#define MAXLINE 200
|
||||
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
#include "opplist.h"
|
||||
#include "himage.h"
|
||||
#include "vsurface_private.h"
|
||||
#include "Language Defines.h"
|
||||
#include "text.h"
|
||||
#include "Screens.h"
|
||||
#include "Maputility.h"
|
||||
|
||||
+42
-47
@@ -5,6 +5,7 @@
|
||||
#include "Stdio.h"
|
||||
#include "WinFont.h"
|
||||
|
||||
#include <language.hpp>
|
||||
|
||||
#define SINGLE_CHARACTER_WORD_FOR_WORDWRAP
|
||||
|
||||
@@ -224,8 +225,9 @@ WRAPPED_STRING *LineWrap(INT32 iFont, UINT16 usLineWidthPixels, UINT16 *pusLineW
|
||||
}
|
||||
|
||||
|
||||
if((usCurrentWidthPixels > usLineWidthPixels)
|
||||
#ifdef CHINESE
|
||||
if( (g_lang != i18n::Lang::zh && usCurrentWidthPixels > usLineWidthPixels)
|
||||
||
|
||||
(g_lang == i18n::Lang::zh && usCurrentWidthPixels > usLineWidthPixels
|
||||
&& TempString[usCurIndex] != L','
|
||||
&& TempString[usCurIndex] != L'。'
|
||||
&& TempString[usCurIndex] != L';'
|
||||
@@ -237,8 +239,8 @@ WRAPPED_STRING *LineWrap(INT32 iFont, UINT16 usLineWidthPixels, UINT16 *pusLineW
|
||||
&& TempString[usCurIndex] != L'?'
|
||||
&& TempString[usCurIndex] != L')'
|
||||
&& TempString[usCurIndex] != L')'
|
||||
#endif
|
||||
)//||(DestString[ usDestIndex ]==NEWLINE_CHAR )||(fNewLine))
|
||||
)
|
||||
{
|
||||
|
||||
//if an error has occured, and the string is too long
|
||||
@@ -250,11 +252,10 @@ WRAPPED_STRING *LineWrap(INT32 iFont, UINT16 usLineWidthPixels, UINT16 *pusLineW
|
||||
usLastMaxWidthIndex = usDestIndex;
|
||||
|
||||
//Go back to begining of word
|
||||
while( (DestString[ usDestIndex ] != L' ') && (usCurIndex > 0) && (usDestIndex > 0)
|
||||
#ifdef CHINESE
|
||||
&& DestString[usDestIndex] < 255
|
||||
#endif
|
||||
)
|
||||
while(
|
||||
(g_lang != i18n::Lang::zh && DestString[ usDestIndex ] != L' ' && usCurIndex > 0 && usDestIndex > 0)
|
||||
||
|
||||
(g_lang == i18n::Lang::zh && DestString[ usDestIndex ] != L' ' && usCurIndex > 0 && usDestIndex > 0 && DestString[usDestIndex] < 255))
|
||||
{
|
||||
OneChar[0] = DestString[ usDestIndex ];
|
||||
|
||||
@@ -263,8 +264,7 @@ WRAPPED_STRING *LineWrap(INT32 iFont, UINT16 usLineWidthPixels, UINT16 *pusLineW
|
||||
usCurIndex--;
|
||||
usDestIndex--;
|
||||
}
|
||||
#ifdef CHINESE
|
||||
if (DestString[usDestIndex] > 255)
|
||||
if (g_lang == i18n::Lang::zh && DestString[usDestIndex] > 255)
|
||||
{
|
||||
if (DestString[usDestIndex] == L','
|
||||
|| DestString[usDestIndex] == L','
|
||||
@@ -282,7 +282,7 @@ WRAPPED_STRING *LineWrap(INT32 iFont, UINT16 usLineWidthPixels, UINT16 *pusLineW
|
||||
else
|
||||
{usCurIndex--;}
|
||||
}
|
||||
#endif
|
||||
|
||||
usEndIndex = usDestIndex;
|
||||
|
||||
// OJW - 20090427
|
||||
@@ -576,21 +576,19 @@ UINT16 IanDisplayWrappedString(UINT16 usPosX, UINT16 usPosY, UINT16 usWidth, UIN
|
||||
{
|
||||
// each character goes towards building a new word
|
||||
|
||||
#ifdef CHINESE //zwwooooo: Chinese Text is not need SPACE to segmentation words, so need another process
|
||||
if (pString[usSourceCounter] != TEXT_SPACE && pString[usSourceCounter] != 0 && pString[usSourceCounter] < 255) {
|
||||
//zwwooooo: Chinese Text is not need SPACE to segmentation words, so need another process
|
||||
if (
|
||||
(g_lang == i18n::Lang::zh && pString[usSourceCounter] != TEXT_SPACE && pString[usSourceCounter] != 0 && pString[usSourceCounter] < 255)
|
||||
||
|
||||
(g_lang != i18n::Lang::zh && pString[usSourceCounter] != TEXT_SPACE && pString[usSourceCounter] != 0)
|
||||
) {
|
||||
zWordString[usDestCounter++] = pString[usSourceCounter];
|
||||
}
|
||||
else
|
||||
{
|
||||
if(g_lang == i18n::Lang::zh) {
|
||||
zWordString[usDestCounter++] = pString[usSourceCounter];
|
||||
#else
|
||||
if (pString[usSourceCounter] != TEXT_SPACE && pString[usSourceCounter] != 0)
|
||||
{
|
||||
zWordString[usDestCounter++] = pString[usSourceCounter];
|
||||
}
|
||||
else
|
||||
{
|
||||
#endif
|
||||
}
|
||||
// we hit a space (or end of record), so this is the END of a word!
|
||||
|
||||
// is this a special CODE?
|
||||
@@ -924,12 +922,11 @@ DEF: commented out for Beta. Nov 30
|
||||
// get the length (in pixels) of this word
|
||||
usWordLengthPixels = WFStringPixLength(zWordString,uiLocalFont);
|
||||
|
||||
#ifdef CHINESE
|
||||
//zwwooooo: Chinese Text don't need add space
|
||||
#else
|
||||
if(g_lang != i18n::Lang::zh) {
|
||||
// add a space (in case we add another word to it)
|
||||
zWordString[usDestCounter++] = 32;
|
||||
#endif
|
||||
}
|
||||
// RE-terminate the string
|
||||
zWordString[usDestCounter] = 0;
|
||||
|
||||
@@ -1381,33 +1378,33 @@ INT16 IanDisplayWrappedStringToPages(UINT16 usPosX, UINT16 usPosY, UINT16 usWidt
|
||||
}
|
||||
else // not a special character
|
||||
{
|
||||
#ifdef CHINESE
|
||||
wchar_t currentChar=pString[usSourceCounter];
|
||||
if (currentChar> 255 )
|
||||
if (g_lang == i18n::Lang::zh && currentChar> 255 )
|
||||
{
|
||||
if (usDestCounter == 0)
|
||||
{zWordString[usDestCounter++] = currentChar;}
|
||||
else
|
||||
{usSourceCounter--;}
|
||||
}
|
||||
#endif
|
||||
// terminate the string TEMPORARILY
|
||||
zWordString[usDestCounter] = 0;
|
||||
|
||||
// get the length (in pixels) of this word
|
||||
usWordLengthPixels = WFStringPixLength(zWordString,uiLocalFont);
|
||||
#ifdef CHINESE
|
||||
if (currentChar <= 255)
|
||||
#endif
|
||||
if (g_lang != i18n::Lang::zh ||
|
||||
g_lang == i18n::Lang::zh && currentChar <= 255) {
|
||||
// add a space (in case we add another word to it)
|
||||
zWordString[usDestCounter++] = 32;
|
||||
}
|
||||
|
||||
// RE-terminate the string
|
||||
zWordString[usDestCounter] = 0;
|
||||
|
||||
// can we fit it onto the length of our "line" ?
|
||||
if ((usLineLengthPixels + usWordLengthPixels) < usWidth
|
||||
#ifdef CHINESE
|
||||
if (
|
||||
(g_lang != i18n::Lang::zh && (usLineLengthPixels + usWordLengthPixels) < usWidth)
|
||||
||
|
||||
(g_lang == i18n::Lang::zh && (usLineLengthPixels + usWordLengthPixels) < usWidth
|
||||
|| pString[usSourceCounter] == L','
|
||||
|| pString[usSourceCounter] == L','
|
||||
|| pString[usSourceCounter] == L'。'
|
||||
@@ -1420,7 +1417,7 @@ INT16 IanDisplayWrappedStringToPages(UINT16 usPosX, UINT16 usPosY, UINT16 usWidt
|
||||
|| pString[usSourceCounter] == L'?'
|
||||
|| pString[usSourceCounter] == L')'
|
||||
|| pString[usSourceCounter] == L')'
|
||||
#endif
|
||||
)
|
||||
)
|
||||
{
|
||||
// yes we can fit this word.
|
||||
@@ -1506,10 +1503,10 @@ UINT16 IanWrappedStringHeight(UINT16 usPosX, UINT16 usPosY, UINT16 usWidth, UINT
|
||||
do
|
||||
{
|
||||
// each character goes towards building a new word
|
||||
if (pString[usSourceCounter] != TEXT_SPACE && pString[usSourceCounter] != 0
|
||||
#ifdef CHINESE
|
||||
&& pString[usSourceCounter] <= 255
|
||||
#endif
|
||||
if (
|
||||
(g_lang != i18n::Lang::zh && pString[usSourceCounter] != TEXT_SPACE && pString[usSourceCounter] != 0)
|
||||
||
|
||||
(g_lang == i18n::Lang::zh && pString[usSourceCounter] != TEXT_SPACE && pString[usSourceCounter] != 0 && pString[usSourceCounter] <= 255)
|
||||
)
|
||||
{
|
||||
zWordString[usDestCounter++] = pString[usSourceCounter];
|
||||
@@ -1723,24 +1720,21 @@ UINT16 IanWrappedStringHeight(UINT16 usPosX, UINT16 usPosY, UINT16 usWidth, UINT
|
||||
}
|
||||
else // not a special character
|
||||
{
|
||||
#ifdef CHINESE
|
||||
wchar_t currentChar = pString[usSourceCounter];
|
||||
if (currentChar > 255 )
|
||||
if (g_lang == i18n::Lang::zh && currentChar > 255 )
|
||||
{
|
||||
if (usDestCounter == 0)
|
||||
{zWordString[usDestCounter++] = currentChar;}
|
||||
else
|
||||
{usSourceCounter--;}
|
||||
}
|
||||
#endif
|
||||
// terminate the string TEMPORARILY
|
||||
zWordString[usDestCounter] = 0;
|
||||
|
||||
// get the length (in pixels) of this word
|
||||
usWordLengthPixels = WFStringPixLength(zWordString,uiLocalFont);
|
||||
#ifdef CHINESE
|
||||
if (currentChar <= 255)
|
||||
#endif
|
||||
if (g_lang != i18n::Lang::zh ||
|
||||
g_lang == i18n::Lang::zh && currentChar <= 255)
|
||||
// add a space (in case we add another word to it)
|
||||
zWordString[usDestCounter++] = 32;
|
||||
|
||||
@@ -1748,8 +1742,10 @@ UINT16 IanWrappedStringHeight(UINT16 usPosX, UINT16 usPosY, UINT16 usWidth, UINT
|
||||
zWordString[usDestCounter] = 0;
|
||||
|
||||
// can we fit it onto the length of our "line" ?
|
||||
if ((usLineLengthPixels + usWordLengthPixels) <= usWidth
|
||||
#ifdef CHINESE
|
||||
if (
|
||||
(g_lang != i18n::Lang::zh && (usLineLengthPixels + usWordLengthPixels) <= usWidth)
|
||||
||
|
||||
(g_lang == i18n::Lang::zh && (usLineLengthPixels + usWordLengthPixels) <= usWidth
|
||||
|| pString[usSourceCounter] == L','
|
||||
|| pString[usSourceCounter] == L','
|
||||
|| pString[usSourceCounter] == L'。'
|
||||
@@ -1759,8 +1755,7 @@ UINT16 IanWrappedStringHeight(UINT16 usPosX, UINT16 usPosY, UINT16 usWidth, UINT
|
||||
|| pString[usSourceCounter] == L':'
|
||||
|| pString[usSourceCounter] == L')'
|
||||
|| pString[usSourceCounter] == L')'
|
||||
#endif
|
||||
)
|
||||
))
|
||||
{
|
||||
// yes we can fit this word.
|
||||
|
||||
|
||||
+439
-201
@@ -205,7 +205,7 @@ itemStartElementHandle(void *userData, const XML_Char *name, const XML_Char **at
|
||||
strcmp(name, "CamouflageKit") == 0 ||
|
||||
strcmp(name, "LocksmithKit") == 0 ||
|
||||
strcmp(name, "Mine") == 0 ||
|
||||
strcmp(name, "antitankmine" ) == 0 ||
|
||||
strcmp(name, "AntitankMine" ) == 0 ||
|
||||
strcmp(name, "GasCan") == 0 ||
|
||||
strcmp(name, "ContainsLiquid") == 0 ||
|
||||
strcmp(name, "Rock") == 0 ||
|
||||
@@ -248,7 +248,7 @@ itemStartElementHandle(void *userData, const XML_Char *name, const XML_Char **at
|
||||
strcmp(name, "RecoilModifierX") == 0 ||
|
||||
strcmp(name, "RecoilModifierY") == 0 ||
|
||||
strcmp(name, "PercentRecoilModifier") == 0 ||
|
||||
strcmp(name, "barrel") == 0 ||
|
||||
strcmp(name, "Barrel") == 0 ||
|
||||
strcmp(name, "usOverheatingCooldownFactor") == 0 ||
|
||||
strcmp(name, "overheatTemperatureModificator") == 0 ||
|
||||
strcmp(name, "overheatCooldownModificator") == 0 ||
|
||||
@@ -284,16 +284,45 @@ itemStartElementHandle(void *userData, const XML_Char *name, const XML_Char **at
|
||||
strcmp(name, "SleepModifier") == 0 ||
|
||||
strcmp(name, "usSpotting") == 0 ||
|
||||
strcmp(name, "sBackpackWeightModifier") == 0 ||
|
||||
strcmp(name, "fAllowClimbing") == 0 ||
|
||||
strcmp(name, "AllowClimbing") == 0 ||
|
||||
strcmp(name, "cigarette" ) == 0 ||
|
||||
strcmp(name, "usPortionSize" ) == 0 ||
|
||||
strcmp(name, "diseaseprotectionface" ) == 0 ||
|
||||
strcmp(name, "diseaseprotectionhand" ) == 0||
|
||||
strcmp(name, "DiseaseprotectionFace" ) == 0 ||
|
||||
strcmp(name, "DiseaseprotectionHand" ) == 0||
|
||||
strcmp(name, "usRiotShieldStrength" ) == 0 ||
|
||||
strcmp(name, "usRiotShieldGraphic" ) == 0 ||
|
||||
strcmp(name, "bloodbag" ) == 0 ||
|
||||
strcmp(name, "emptybloodbag" ) == 0 ||
|
||||
strcmp(name, "medicalsplint" ) == 0 ||
|
||||
strcmp(name, "Bloodbag") == 0 ||
|
||||
strcmp(name, "Manpad" ) == 0 ||
|
||||
strcmp(name, "Beartrap") == 0 ||
|
||||
strcmp(name, "Camera") == 0 ||
|
||||
strcmp(name, "Waterdrum") == 0 ||
|
||||
strcmp(name, "BloodcatMeat") == 0 ||
|
||||
strcmp(name, "CowMeat") == 0 ||
|
||||
strcmp(name, "Beltfed") == 0 ||
|
||||
strcmp(name, "Ammobelt") == 0 ||
|
||||
strcmp(name, "AmmobeltVest") == 0 ||
|
||||
strcmp(name, "CamoRemoval") == 0 ||
|
||||
strcmp(name, "Cleaningkit") == 0 ||
|
||||
strcmp(name, "AttentionItem") == 0 ||
|
||||
strcmp(name, "Garotte") == 0 ||
|
||||
strcmp(name, "Covert") == 0 ||
|
||||
strcmp(name, "Corpse") == 0 ||
|
||||
strcmp(name, "BloodcatSkin") == 0 ||
|
||||
strcmp(name, "NoMetalDetection") == 0 ||
|
||||
strcmp(name, "JumpGrenade") == 0 ||
|
||||
strcmp(name, "Handcuffs") == 0 ||
|
||||
strcmp(name, "Taser") == 0 ||
|
||||
strcmp(name, "ScubaBottle") == 0 ||
|
||||
strcmp(name, "ScubaMask") == 0 ||
|
||||
strcmp(name, "ScubaFins") == 0 ||
|
||||
strcmp(name, "TripwireRoll") == 0 ||
|
||||
strcmp(name, "Radioset") == 0 ||
|
||||
strcmp(name, "SignalShell") == 0 ||
|
||||
strcmp(name, "Soda") == 0 ||
|
||||
strcmp(name, "RoofcollapseItem") == 0 ||
|
||||
strcmp(name, "LBEexplosionproof") == 0 ||
|
||||
strcmp(name, "EmptyBloodbag" ) == 0 ||
|
||||
strcmp(name, "MedicalSplint" ) == 0 ||
|
||||
strcmp(name, "sFireResistance" ) == 0 ||
|
||||
strcmp(name, "usAdministrationModifier" ) == 0) ||
|
||||
strcmp(name, "RobotDamageReduction") == 0 ||
|
||||
@@ -353,7 +382,6 @@ itemStartElementHandle(void *userData, const XML_Char *name, const XML_Char **at
|
||||
strcmp(name, "PercentDropCompensation") == 0 ||
|
||||
strcmp(name, "PercentMaxCounterForce") == 0 ||
|
||||
strcmp(name, "PercentCounterForceAccuracy") == 0 ||
|
||||
strcmp(name, "PercentCounterForceFrequency") == 0 ||
|
||||
strcmp(name, "AimLevels") == 0))
|
||||
{
|
||||
pData->curElement = ELEMENT_SUBLIST_PROPERTY;
|
||||
@@ -835,18 +863,6 @@ itemEndElementHandle(void *userData, const XML_Char *name)
|
||||
if ((BOOLEAN)atol(pData->szCharData))
|
||||
pData->curItem.usItemFlag |= ITEM_duckbill;
|
||||
}
|
||||
else if(strcmp(name, "Detonator") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
if ((BOOLEAN)atol(pData->szCharData))
|
||||
pData->curItem.usItemFlag |= ITEM_detonator;
|
||||
}
|
||||
else if(strcmp(name, "RemoteDetonator") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
if ((BOOLEAN)atol(pData->szCharData))
|
||||
pData->curItem.usItemFlag |= ITEM_remotedetonator;
|
||||
}
|
||||
else if(strcmp(name, "ThermalOptics") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
@@ -1098,7 +1114,7 @@ itemEndElementHandle(void *userData, const XML_Char *name)
|
||||
if ((BOOLEAN)atol(pData->szCharData))
|
||||
pData->curItem.usItemFlag2 |= ITEM_mine;
|
||||
}
|
||||
else if ( strcmp( name, "antitankmine" ) == 0 )
|
||||
else if ( strcmp( name, "AntitankMine" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
if ((BOOLEAN)atol(pData->szCharData))
|
||||
@@ -1277,7 +1293,7 @@ itemEndElementHandle(void *userData, const XML_Char *name)
|
||||
}
|
||||
|
||||
// Flugente
|
||||
else if(strcmp(name, "barrel") == 0)
|
||||
else if(strcmp(name, "Barrel") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
if ((BOOLEAN)atol(pData->szCharData))
|
||||
@@ -1342,11 +1358,6 @@ itemEndElementHandle(void *userData, const XML_Char *name)
|
||||
if ((BOOLEAN)atol(pData->szCharData))
|
||||
pData->curItem.usItemFlag2 |= ITEM_blockironsight;
|
||||
}
|
||||
else if(strcmp(name, "ItemFlag") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curItem.usItemFlag = (UINT64) strtoul(pData->szCharData, NULL, 0);
|
||||
}
|
||||
else if(strcmp(name, "FoodType") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
@@ -1448,7 +1459,7 @@ itemEndElementHandle(void *userData, const XML_Char *name)
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curItem.sBackpackWeightModifier = (INT16)atol(pData->szCharData);
|
||||
}
|
||||
else if (strcmp(name, "fAllowClimbing") == 0)
|
||||
else if (strcmp(name, "AllowClimbing") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
if ((BOOLEAN)atol(pData->szCharData))
|
||||
@@ -1466,7 +1477,7 @@ itemEndElementHandle(void *userData, const XML_Char *name)
|
||||
pData->curItem.usPortionSize = (UINT8)atol( pData->szCharData );
|
||||
}
|
||||
// Flugente: simple tags in the xml get translated into flags
|
||||
else if ( strcmp( name, "diseaseprotectionface" ) == 0 )
|
||||
else if ( strcmp( name, "DiseaseprotectionFace" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
BOOLEAN val = (BOOLEAN)atol( pData->szCharData );
|
||||
@@ -1474,7 +1485,7 @@ itemEndElementHandle(void *userData, const XML_Char *name)
|
||||
if ( val )
|
||||
pData->curItem.usItemFlag |= DISEASEPROTECTION_1;
|
||||
}
|
||||
else if ( strcmp( name, "diseaseprotectionhand" ) == 0 )
|
||||
else if ( strcmp( name, "DiseaseprotectionHand" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
BOOLEAN val = (BOOLEAN)atol( pData->szCharData );
|
||||
@@ -1492,21 +1503,224 @@ itemEndElementHandle(void *userData, const XML_Char *name)
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curItem.usRiotShieldGraphic = (UINT16)atol( pData->szCharData );
|
||||
}
|
||||
else if ( strcmp( name, "bloodbag" ) == 0 )
|
||||
else if ( strcmp( name, "Bloodbag" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= BLOOD_BAG;
|
||||
}
|
||||
else if ( strcmp( name, "emptybloodbag" ) == 0 )
|
||||
else if ( strcmp( name, "Manpad" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= MANPAD;
|
||||
}
|
||||
else if ( strcmp( name, "Beartrap" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= BEARTRAP;
|
||||
}
|
||||
else if ( strcmp( name, "Camera" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= CAMERA;
|
||||
}
|
||||
else if ( strcmp( name, "Waterdrum" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= WATER_DRUM;
|
||||
}
|
||||
else if ( strcmp( name, "BloodcatMeat" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= MEAT_BLOODCAT;
|
||||
}
|
||||
else if ( strcmp( name, "CowMeat" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= MEAT_COW;
|
||||
}
|
||||
else if ( strcmp( name, "Beltfed" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= BELT_FED;
|
||||
}
|
||||
else if ( strcmp( name, "Ammobelt" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= AMMO_BELT;
|
||||
}
|
||||
else if ( strcmp( name, "AmmobeltVest" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= AMMO_BELT_VEST;
|
||||
}
|
||||
else if ( strcmp( name, "CamoRemoval" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= CAMO_REMOVAL;
|
||||
}
|
||||
else if ( strcmp( name, "Cleaningkit" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= CLEANING_KIT;
|
||||
}
|
||||
else if ( strcmp( name, "AttentionItem" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= ATTENTION_ITEM;
|
||||
}
|
||||
else if ( strcmp( name, "Garotte" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= GAROTTE;
|
||||
}
|
||||
else if ( strcmp( name, "Covert" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= COVERT;
|
||||
}
|
||||
else if ( strcmp( name, "Corpse" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= CORPSE;
|
||||
}
|
||||
else if ( strcmp( name, "BloodcatSkin" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= SKIN_BLOODCAT;
|
||||
}
|
||||
else if ( strcmp( name, "NoMetalDetection" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= NO_METAL_DETECTION;
|
||||
}
|
||||
else if ( strcmp( name, "JumpGrenade" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= JUMP_GRENADE;
|
||||
}
|
||||
else if ( strcmp( name, "Handcuffs" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= HANDCUFFS;
|
||||
}
|
||||
else if ( strcmp( name, "Taser" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= TASER;
|
||||
}
|
||||
else if ( strcmp( name, "ScubaBottle" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= SCUBA_BOTTLE;
|
||||
}
|
||||
else if ( strcmp( name, "ScubaMask" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= SCUBA_MASK;
|
||||
}
|
||||
else if ( strcmp( name, "ScubaFins" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= SCUBA_FINS;
|
||||
}
|
||||
else if ( strcmp( name, "TripwireRoll" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= TRIPWIREROLL;
|
||||
}
|
||||
else if ( strcmp( name, "Radioset" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= RADIO_SET;
|
||||
}
|
||||
else if ( strcmp( name, "SignalShell" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= SIGNAL_SHELL;
|
||||
}
|
||||
else if ( strcmp( name, "Soda" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= SODA;
|
||||
}
|
||||
else if ( strcmp( name, "RoofcollapseItem" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= ROOF_COLLAPSE_ITEM;
|
||||
}
|
||||
else if ( strcmp( name, "LBEexplosionproof" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= LBE_EXPLOSIONPROOF;
|
||||
}
|
||||
else if ( strcmp( name, "EmptyBloodbag" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
if ( (BOOLEAN)atol( pData->szCharData ) )
|
||||
pData->curItem.usItemFlag |= EMPTY_BLOOD_BAG;
|
||||
}
|
||||
else if ( strcmp( name, "medicalsplint" ) == 0 )
|
||||
else if ( strcmp( name, "MedicalSplint" ) == 0 )
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
@@ -1971,153 +2185,88 @@ BOOLEAN WriteItemStats()
|
||||
FilePrintf(hFile,"</szBRDesc>\r\n");
|
||||
|
||||
FilePrintf(hFile,"\t\t<usItemClass>%d</usItemClass>\r\n", Item[cnt].usItemClass);
|
||||
FilePrintf(hFile,"\t\t<nasAttachmentClass>%d</nasAttachmentClass>\r\n", Item[cnt].nasAttachmentClass);
|
||||
FilePrintf(hFile,"\t\t<nasLayoutClass>%d</nasLayoutClass>\r\n", Item[cnt].nasLayoutClass);
|
||||
FilePrintf(hFile,"\t\t<ubClassIndex>%d</ubClassIndex>\r\n", Item[cnt].ubClassIndex);
|
||||
FilePrintf(hFile,"\t\t<ubCursor>%d</ubCursor>\r\n", Item[cnt].ubCursor);
|
||||
FilePrintf(hFile,"\t\t<bSoundType>%d</bSoundType>\r\n", Item[cnt].bSoundType);
|
||||
FilePrintf(hFile,"\t\t<nasAttachmentClass>%d</nasAttachmentClass>\r\n", Item[cnt].nasAttachmentClass);
|
||||
FilePrintf(hFile,"\t\t<nasLayoutClass>%d</nasLayoutClass>\r\n", Item[cnt].nasLayoutClass);
|
||||
FilePrintf(hFile,"\t\t<ubClassIndex>%d</ubClassIndex>\r\n", Item[cnt].ubClassIndex);
|
||||
FilePrintf(hFile,"\t\t<ubCursor>%d</ubCursor>\r\n", Item[cnt].ubCursor);
|
||||
FilePrintf(hFile,"\t\t<bSoundType>%d</bSoundType>\r\n", Item[cnt].bSoundType);
|
||||
FilePrintf(hFile,"\t\t<ubGraphicType>%d</ubGraphicType>\r\n", Item[cnt].ubGraphicType);
|
||||
FilePrintf(hFile,"\t\t<ubGraphicNum>%d</ubGraphicNum>\r\n", Item[cnt].ubGraphicNum);
|
||||
FilePrintf(hFile,"\t\t<ubWeight>%d</ubWeight>\r\n", Item[cnt].ubWeight);
|
||||
FilePrintf(hFile,"\t\t<ubPerPocket>%d</ubPerPocket>\r\n", Item[cnt].ubPerPocket);
|
||||
FilePrintf(hFile,"\t\t<ItemSize>%d</ItemSize>\r\n", Item[cnt].ItemSize);
|
||||
FilePrintf(hFile,"\t\t<usPrice>%d</usPrice>\r\n", Item[cnt].usPrice);
|
||||
FilePrintf(hFile,"\t\t<ubCoolness>%d</ubCoolness>\r\n", Item[cnt].ubCoolness);
|
||||
FilePrintf(hFile,"\t\t<bReliability>%d</bReliability>\r\n", Item[cnt].bReliability);
|
||||
FilePrintf(hFile,"\t\t<bRepairEase>%d</bRepairEase>\r\n", Item[cnt].bRepairEase);
|
||||
FilePrintf(hFile,"\t\t<ubWeight>%d</ubWeight>\r\n", Item[cnt].ubWeight);
|
||||
FilePrintf(hFile,"\t\t<ubPerPocket>%d</ubPerPocket>\r\n", Item[cnt].ubPerPocket);
|
||||
FilePrintf(hFile,"\t\t<ItemSize>%d</ItemSize>\r\n", Item[cnt].ItemSize);
|
||||
FilePrintf(hFile,"\t\t<usPrice>%d</usPrice>\r\n", Item[cnt].usPrice);
|
||||
FilePrintf(hFile,"\t\t<ubCoolness>%d</ubCoolness>\r\n", Item[cnt].ubCoolness);
|
||||
FilePrintf(hFile,"\t\t<bReliability>%d</bReliability>\r\n", Item[cnt].bReliability);
|
||||
FilePrintf(hFile,"\t\t<bRepairEase>%d</bRepairEase>\r\n", Item[cnt].bRepairEase);
|
||||
|
||||
if (ItemIsDamageable(cnt)) FilePrintf(hFile, "\t\t<Damageable>%d</Damageable>\r\n", 1);
|
||||
if (ItemIsRepairable(cnt)) FilePrintf(hFile, "\t\t<Repairable>%d</Repairable>\r\n", 1);
|
||||
if (ItemIsDamagedByWater(cnt)) FilePrintf(hFile, "\t\t<WaterDamages>%d</WaterDamages>\r\n", 1);
|
||||
if (ItemIsMetal(cnt)) FilePrintf(hFile, "\t\t<Metal>%d</Metal>\r\n", 1);
|
||||
if (ItemSinks(cnt)) FilePrintf(hFile, "\t\t<Sinks>%d</Sinks>\r\n", 1);
|
||||
if (HasItemFlag2(cnt, ITEM_showstatus)) FilePrintf(hFile, "\t\t<ShowStatus>%d</ShowStatus>\r\n", 1);
|
||||
if (ItemIsHiddenAddon(cnt)) FilePrintf(hFile, "\t\t<HiddenAddon>%d</HiddenAddon>\r\n", 1);
|
||||
if (ItemIsTwoHanded(cnt)) FilePrintf(hFile, "\t\t<TwoHanded>%d</TwoHanded>\r\n", 1);
|
||||
if (ItemIsNotBuyable(cnt)) FilePrintf(hFile, "\t\t<NotBuyable>%d</NotBuyable>\r\n", 1);
|
||||
if (ItemIsAttachment(cnt)) FilePrintf(hFile, "\t\t<Attachment>%d</Attachment>\r\n", 1);
|
||||
if (ItemIsHiddenAttachment(cnt)) FilePrintf(hFile, "\t\t<HiddenAttachment>%d</HiddenAttachment>\r\n", 1);
|
||||
if (ItemIsOnlyInTonsOfGuns(cnt)) FilePrintf(hFile, "\t\t<BigGunList>%d</BigGunList>\r\n", 1);
|
||||
if (ItemIsOnlyInScifi(cnt)) FilePrintf(hFile, "\t\t<SciFi>%d</SciFi>\r\n", 1);
|
||||
if (ItemIsOnlyInNIV(cnt)) FilePrintf(hFile, "\t\t<NewInv>%d</NewInv>\r\n", 1);
|
||||
if (ItemIsNotInEditor(cnt)) FilePrintf(hFile, "\t\t<NotInEditor>%d</NotInEditor>\r\n", 1);
|
||||
if (ItemIsUndroppableByDefault(cnt)) FilePrintf(hFile, "\t\t<DefaultUndroppable>%d</DefaultUndroppable>\r\n", 1);
|
||||
if (ItemIsUnaerodynamic(cnt)) FilePrintf(hFile, "\t\t<Unaerodynamic>%d</Unaerodynamic>\r\n", 1);
|
||||
if (ItemIsElectronic(cnt)) FilePrintf(hFile, "\t\t<Electronic>%d</Electronic>\r\n", 1);
|
||||
if (ItemHasHiddenMuzzleFlash(cnt)) FilePrintf(hFile, "\t\t<HideMuzzleFlash>%d</HideMuzzleFlash>\r\n", 1);
|
||||
|
||||
FilePrintf(hFile,"\t\t<AttachmentSystem>%d</AttachmentSystem>\r\n", Item[cnt].ubAttachmentSystem );
|
||||
FilePrintf(hFile,"\t\t<AttachmentSystem>%d</AttachmentSystem>\r\n", Item[cnt].ubAttachmentSystem );
|
||||
FilePrintf(hFile,"\t\t<Inseparable>%d</Inseparable>\r\n", Item[cnt].inseparable );
|
||||
|
||||
FilePrintf(hFile,"\t\t<BR_NewInventory>%d</BR_NewInventory>\r\n", StoreInventory[cnt][0] );
|
||||
FilePrintf(hFile,"\t\t<BR_UsedInventory>%d</BR_UsedInventory>\r\n", StoreInventory[cnt][1] );
|
||||
FilePrintf(hFile,"\t\t<BR_ROF>%d</BR_ROF>\r\n", WeaponROF[cnt]);
|
||||
FilePrintf(hFile,"\t\t<BR_NewInventory>%d</BR_NewInventory>\r\n", StoreInventory[cnt][0] );
|
||||
FilePrintf(hFile,"\t\t<BR_UsedInventory>%d</BR_UsedInventory>\r\n", StoreInventory[cnt][1] );
|
||||
FilePrintf(hFile,"\t\t<BR_ROF>%d</BR_ROF>\r\n", WeaponROF[cnt]);
|
||||
|
||||
FilePrintf(hFile,"\t\t<PercentNoiseReduction>%d</PercentNoiseReduction>\r\n", Item[cnt].percentnoisereduction );
|
||||
FilePrintf(hFile,"\t\t<Bipod>%d</Bipod>\r\n", Item[cnt].bipod );
|
||||
FilePrintf(hFile,"\t\t<RangeBonus>%d</RangeBonus>\r\n", Item[cnt].rangebonus );
|
||||
FilePrintf(hFile,"\t\t<PercentRangeBonus>%d</PercentRangeBonus>\r\n", Item[cnt].rangebonus );
|
||||
FilePrintf(hFile,"\t\t<ToHitBonus>%d</ToHitBonus>\r\n", Item[cnt].tohitbonus );
|
||||
FilePrintf(hFile,"\t\t<AimBonus>%d</AimBonus>\r\n", Item[cnt].aimbonus );
|
||||
FilePrintf(hFile,"\t\t<MinRangeForAimBonus>%d</MinRangeForAimBonus>\r\n", Item[cnt].minrangeforaimbonus );
|
||||
FilePrintf(hFile,"\t\t<PercentNoiseReduction>%d</PercentNoiseReduction>\r\n", Item[cnt].percentnoisereduction );
|
||||
FilePrintf(hFile,"\t\t<Bipod>%d</Bipod>\r\n", Item[cnt].bipod );
|
||||
FilePrintf(hFile,"\t\t<RangeBonus>%d</RangeBonus>\r\n", Item[cnt].rangebonus );
|
||||
FilePrintf(hFile,"\t\t<PercentRangeBonus>%d</PercentRangeBonus>\r\n", Item[cnt].rangebonus );
|
||||
FilePrintf(hFile,"\t\t<ToHitBonus>%d</ToHitBonus>\r\n", Item[cnt].tohitbonus );
|
||||
FilePrintf(hFile,"\t\t<AimBonus>%d</AimBonus>\r\n", Item[cnt].aimbonus );
|
||||
FilePrintf(hFile,"\t\t<MinRangeForAimBonus>%d</MinRangeForAimBonus>\r\n", Item[cnt].minrangeforaimbonus );
|
||||
|
||||
FilePrintf(hFile,"\t\t<MagSizeBonus>%d</MagSizeBonus>\r\n", Item[cnt].magsizebonus );
|
||||
FilePrintf(hFile,"\t\t<RateOfFireBonus>%d</RateOfFireBonus>\r\n", Item[cnt].rateoffirebonus );
|
||||
FilePrintf(hFile,"\t\t<BulletSpeedBonus>%d</BulletSpeedBonus>\r\n", Item[cnt].bulletspeedbonus );
|
||||
FilePrintf(hFile,"\t\t<BurstSizeBonus>%d</BurstSizeBonus>\r\n", Item[cnt].burstsizebonus );
|
||||
FilePrintf(hFile,"\t\t<BestLaserRange>%d</BestLaserRange>\r\n", Item[cnt].bestlaserrange );
|
||||
FilePrintf(hFile,"\t\t<BurstToHitBonus>%d</BurstToHitBonus>\r\n", Item[cnt].bursttohitbonus );
|
||||
FilePrintf(hFile,"\t\t<AutofireToHitBonus>%d</AutofireToHitBonus>\r\n", Item[cnt].autofiretohitbonus);
|
||||
FilePrintf(hFile,"\t\t<APBonus>%d</APBonus>\r\n", Item[cnt].APBonus );
|
||||
FilePrintf(hFile,"\t\t<RateOfFireBonus>%d</RateOfFireBonus>\r\n", Item[cnt].rateoffirebonus );
|
||||
FilePrintf(hFile,"\t\t<BulletSpeedBonus>%d</BulletSpeedBonus>\r\n", Item[cnt].bulletspeedbonus );
|
||||
FilePrintf(hFile,"\t\t<BurstSizeBonus>%d</BurstSizeBonus>\r\n", Item[cnt].burstsizebonus );
|
||||
FilePrintf(hFile,"\t\t<BestLaserRange>%d</BestLaserRange>\r\n", Item[cnt].bestlaserrange );
|
||||
FilePrintf(hFile,"\t\t<BurstToHitBonus>%d</BurstToHitBonus>\r\n", Item[cnt].bursttohitbonus );
|
||||
FilePrintf(hFile,"\t\t<AutofireToHitBonus>%d</AutofireToHitBonus>\r\n", Item[cnt].autofiretohitbonus);
|
||||
FilePrintf(hFile,"\t\t<APBonus>%d</APBonus>\r\n", Item[cnt].APBonus );
|
||||
|
||||
FilePrintf(hFile,"\t\t<PercentBurstFireAPReduction>%d</PercentBurstFireAPReduction>\r\n", Item[cnt].percentburstfireapreduction );
|
||||
FilePrintf(hFile,"\t\t<PercentAutofireAPReduction>%d</PercentAutofireAPReduction>\r\n", Item[cnt].percentautofireapreduction );
|
||||
FilePrintf(hFile,"\t\t<PercentReadyTimeAPReduction>%d</PercentReadyTimeAPReduction>\r\n", Item[cnt].percentreadytimeapreduction );
|
||||
FilePrintf(hFile,"\t\t<PercentReloadTimeAPReduction>%d</PercentReloadTimeAPReduction>\r\n", Item[cnt].percentreloadtimeapreduction );
|
||||
FilePrintf(hFile,"\t\t<PercentAPReduction>%d</PercentAPReduction>\r\n", Item[cnt].percentapreduction );
|
||||
FilePrintf(hFile,"\t\t<PercentStatusDrainReduction>%d</PercentStatusDrainReduction>\r\n", Item[cnt].percentstatusdrainreduction );
|
||||
FilePrintf(hFile,"\t\t<PercentBurstFireAPReduction>%d</PercentBurstFireAPReduction>\r\n", Item[cnt].percentburstfireapreduction );
|
||||
FilePrintf(hFile,"\t\t<PercentAutofireAPReduction>%d</PercentAutofireAPReduction>\r\n", Item[cnt].percentautofireapreduction );
|
||||
FilePrintf(hFile,"\t\t<PercentReadyTimeAPReduction>%d</PercentReadyTimeAPReduction>\r\n", Item[cnt].percentreadytimeapreduction );
|
||||
FilePrintf(hFile,"\t\t<PercentReloadTimeAPReduction>%d</PercentReloadTimeAPReduction>\r\n", Item[cnt].percentreloadtimeapreduction );
|
||||
FilePrintf(hFile,"\t\t<PercentAPReduction>%d</PercentAPReduction>\r\n", Item[cnt].percentapreduction );
|
||||
FilePrintf(hFile,"\t\t<PercentStatusDrainReduction>%d</PercentStatusDrainReduction>\r\n", Item[cnt].percentstatusdrainreduction );
|
||||
|
||||
FilePrintf(hFile,"\t\t<DamageBonus>%d</DamageBonus>\r\n", Item[cnt].damagebonus );
|
||||
FilePrintf(hFile,"\t\t<MeleeDamageBonus>%d</MeleeDamageBonus>\r\n", Item[cnt].meleedamagebonus );
|
||||
FilePrintf(hFile,"\t\t<DiscardedLauncherItem>%d</DiscardedLauncherItem>\r\n", Item[cnt].discardedlauncheritem );
|
||||
FilePrintf(hFile,"\t\t<DamageBonus>%d</DamageBonus>\r\n", Item[cnt].damagebonus );
|
||||
FilePrintf(hFile,"\t\t<MeleeDamageBonus>%d</MeleeDamageBonus>\r\n", Item[cnt].meleedamagebonus );
|
||||
FilePrintf(hFile,"\t\t<DiscardedLauncherItem>%d</DiscardedLauncherItem>\r\n", Item[cnt].discardedlauncheritem );
|
||||
|
||||
if (ItemIsMortar(cnt)) FilePrintf(hFile, "\t\t<Mortar>%d</Mortar>\r\n", 1);
|
||||
if (ItemIsRocketLauncher(cnt)) FilePrintf(hFile, "\t\t<RocketLauncher>%d</RocketLauncher>\r\n", 1);
|
||||
if (ItemIsSingleShotRocketLauncher(cnt)) FilePrintf(hFile, "\t\t<SingleShotRocketLauncher>%d</SingleShotRocketLauncher>\r\n", 1);
|
||||
if (ItemIsGrenadeLauncher(cnt)) FilePrintf(hFile, "\t\t<GrenadeLauncher>%d</GrenadeLauncher>\r\n", 1);
|
||||
if (ItemIsDuckbill(cnt)) FilePrintf(hFile, "\t\t<Duckbill>%d</Duckbill>\r\n", 1);
|
||||
if (ItemIsGLgrenade(cnt)) FilePrintf(hFile, "\t\t<GLGrenade>%d</GLGrenade>\r\n", 1);
|
||||
if (ItemIsMine(cnt)) FilePrintf(hFile, "\t\t<Mine>%d</Mine>\r\n", 1);
|
||||
if (ItemIsATMine(cnt)) FilePrintf(hFile, "\t\t<antitankmine>%d</antitankmine>\r\n", 1);
|
||||
if (ItemIsRocketRifle(cnt)) FilePrintf(hFile, "\t\t<RocketRifle>%d</RocketRifle>\r\n", 1);
|
||||
if (ItemHasFingerPrintID(cnt)) FilePrintf(hFile, "\t\t<FingerPrintID>%d</FingerPrintID>\r\n", 1);
|
||||
if (ItemIsCannon(cnt)) FilePrintf(hFile, "\t\t<Cannon>%d</Cannon>\r\n", 1);
|
||||
|
||||
for(UINT8 cnt2 = 0; cnt2 < MAX_DEFAULT_ATTACHMENTS; cnt2++){
|
||||
if(Item[cnt].defaultattachments[cnt2] != 0){
|
||||
FilePrintf(hFile,"\t\t<DefaultAttachment>%d</DefaultAttachment>\r\n", Item[cnt].defaultattachments[cnt2] );
|
||||
FilePrintf(hFile,"\t\t<DefaultAttachment>%d</DefaultAttachment>\r\n", Item[cnt].defaultattachments[cnt2] );
|
||||
}
|
||||
}
|
||||
|
||||
if (ItemIsBrassKnuckles(cnt)) FilePrintf(hFile, "\t\t<BrassKnuckles>%d</BrassKnuckles>\r\n", 1);
|
||||
if (ItemIsCrowbar(cnt)) FilePrintf(hFile, "\t\t<Crowbar>%d</Crowbar>\r\n", 1);
|
||||
if (ItemIsRock(cnt)) FilePrintf(hFile, "\t\t<Rock>%d</Rock>\r\n", 1);
|
||||
|
||||
FilePrintf(hFile,"\t\t<BloodiedItem>%d</BloodiedItem>\r\n", Item[cnt].bloodieditem );
|
||||
FilePrintf(hFile,"\t\t<CamoBonus>%d</CamoBonus>\r\n", Item[cnt].camobonus );
|
||||
FilePrintf(hFile,"\t\t<UrbanCamoBonus>%d</UrbanCamoBonus>\r\n", Item[cnt].urbanCamobonus );
|
||||
FilePrintf(hFile,"\t\t<DesertCamoBonus>%d</DesertCamoBonus>\r\n", Item[cnt].desertCamobonus );
|
||||
FilePrintf(hFile,"\t\t<SnowCamoBonus>%d</SnowCamoBonus>\r\n", Item[cnt].snowCamobonus );
|
||||
FilePrintf(hFile,"\t\t<CamoBonus>%d</CamoBonus>\r\n", Item[cnt].camobonus );
|
||||
FilePrintf(hFile,"\t\t<UrbanCamoBonus>%d</UrbanCamoBonus>\r\n", Item[cnt].urbanCamobonus );
|
||||
FilePrintf(hFile,"\t\t<DesertCamoBonus>%d</DesertCamoBonus>\r\n", Item[cnt].desertCamobonus );
|
||||
FilePrintf(hFile,"\t\t<SnowCamoBonus>%d</SnowCamoBonus>\r\n", Item[cnt].snowCamobonus );
|
||||
FilePrintf(hFile,"\t\t<StealthBonus>%d</StealthBonus>\r\n", Item[cnt].stealthbonus );
|
||||
|
||||
if (ItemIsFlakJacket(cnt)) FilePrintf(hFile, "\t\t<FlakJacket>%d</FlakJacket>\r\n", 1);
|
||||
if (ItemIsLeatherJacket(cnt)) FilePrintf(hFile, "\t\t<LeatherJacket>%d</LeatherJacket>\r\n", 1);
|
||||
if (ItemIsDetonator(cnt)) FilePrintf(hFile, "\t\t<Detonator>%d</Detonator>\r\n", 1);
|
||||
if (ItemIsRemoteDetonator(cnt)) FilePrintf(hFile, "\t\t<RemoteDetonator>%d</RemoteDetonator>\r\n", 1);
|
||||
if (ItemIsRemoteTrigger(cnt)) FilePrintf(hFile, "\t\t<RemoteTrigger>%d</RemoteTrigger>\r\n", 1);
|
||||
if (ItemIsLockBomb(cnt)) FilePrintf(hFile, "\t\t<LockBomb>%d</LockBomb>\r\n", 1);
|
||||
if (ItemIsFlare(cnt)) FilePrintf(hFile, "\t\t<Flare>%d</Flare>\r\n", 1);
|
||||
if (ItemIsRobotRemote(cnt)) FilePrintf(hFile, "\t\t<RobotRemoteControl>%d</RobotRemoteControl>\r\n", 1);
|
||||
if (ItemIsWalkman(cnt)) FilePrintf(hFile, "\t\t<Walkman>%d</Walkman>\r\n", 1);
|
||||
if (ItemIsThermalOptics(cnt)) FilePrintf(hFile, "\t\t<ThermalOptics>%d</ThermalOptics>\r\n", 1);
|
||||
if (ItemIsGasmask(cnt)) FilePrintf(hFile, "\t\t<GasMask>%d</GasMask>\r\n", 1);
|
||||
|
||||
FilePrintf(hFile,"\t\t<HearingRangeBonus>%d</HearingRangeBonus>\r\n", Item[cnt].hearingrangebonus );
|
||||
FilePrintf(hFile,"\t\t<VisionRangeBonus>%d</VisionRangeBonus>\r\n", Item[cnt].visionrangebonus );
|
||||
FilePrintf(hFile,"\t\t<NightVisionRangeBonus>%d</NightVisionRangeBonus>\r\n", Item[cnt].nightvisionrangebonus );
|
||||
FilePrintf(hFile,"\t\t<DayVisionRangeBonus>%d</DayVisionRangeBonus>\r\n", Item[cnt].dayvisionrangebonus );
|
||||
FilePrintf(hFile,"\t\t<CaveVisionRangeBonus>%d</CaveVisionRangeBonus>\r\n", Item[cnt].cavevisionrangebonus );
|
||||
FilePrintf(hFile,"\t\t<BrightLightVisionRangeBonus>%d</BrightLightVisionRangeBonus>\r\n", Item[cnt].brightlightvisionrangebonus );
|
||||
FilePrintf(hFile,"\t\t<ItemSizeBonus>%d</ItemSizeBonus>\r\n", Item[cnt].itemsizebonus );
|
||||
FilePrintf(hFile,"\t\t<PercentTunnelVision>%d</PercentTunnelVision>\r\n", Item[cnt].percenttunnelvision );
|
||||
FilePrintf(hFile,"\t\t<Alcohol>%3.2f</Alcohol>\r\n", Item[cnt].alcohol );
|
||||
|
||||
if (ItemIsHardware(cnt)) FilePrintf(hFile, "\t\t<Hardware>%d</Hardware>\r\n", 1);
|
||||
if (ItemIsMedical(cnt)) FilePrintf(hFile, "\t\t<Medical>%d</Medical>\r\n", 1);
|
||||
if (ItemIsCamoKit(cnt)) FilePrintf(hFile, "\t\t<CamouflageKit>%d</CamouflageKit>\r\n", 1);
|
||||
if (ItemIsLocksmithKit(cnt)) FilePrintf(hFile, "\t\t<LocksmithKit>%d</LocksmithKit>\r\n", 1);
|
||||
if (ItemIsToolkit(cnt)) FilePrintf(hFile, "\t\t<Toolkit>%d</Toolkit>\r\n", 1);
|
||||
if (ItemIsFirstAidKit(cnt)) FilePrintf(hFile, "\t\t<FirstAidKit>%d</FirstAidKit>\r\n", 1);
|
||||
if (ItemIsMedicalKit(cnt)) FilePrintf(hFile, "\t\t<MedicalKit>%d</MedicalKit>\r\n", 1);
|
||||
if (ItemIsWirecutters(cnt)) FilePrintf(hFile, "\t\t<WireCutters>%d</WireCutters>\r\n", 1);
|
||||
if (ItemIsCanteen(cnt)) FilePrintf(hFile, "\t\t<Canteen>%d</Canteen>\r\n", 1);
|
||||
if (ItemIsGascan(cnt)) FilePrintf(hFile, "\t\t<GasCan>%d</GasCan>\r\n", 1);
|
||||
if (ItemIsMarbles(cnt)) FilePrintf(hFile, "\t\t<Marbles>%d</Marbles>\r\n", 1);
|
||||
if (ItemIsCanAndString(cnt)) FilePrintf(hFile, "\t\t<CanAndString>%d</CanAndString>\r\n", 1);
|
||||
if (ItemIsJar(cnt)) FilePrintf(hFile, "\t\t<Jar>%d</Jar>\r\n", 1);
|
||||
if (ItemHasXRay(cnt)) FilePrintf(hFile, "\t\t<XRay>%d</XRay>\r\n", 1);
|
||||
if (ItemIsBatteries(cnt)) FilePrintf(hFile, "\t\t<Batteries>%d</Batteries>\r\n", 1);
|
||||
if (ItemNeedsBatteries(cnt)) FilePrintf(hFile, "\t\t<NeedsBatteries>%d</NeedsBatteries>\r\n", 1);
|
||||
if (ItemContainsLiquid(cnt)) FilePrintf(hFile, "\t\t<ContainsLiquid>%d</ContainsLiquid>\r\n", 1);
|
||||
if (ItemIsMetalDetector(cnt)) FilePrintf(hFile, "\t\t<MetalDetector>%d</MetalDetector>\r\n", 1);
|
||||
FilePrintf(hFile,"\t\t<VisionRangeBonus>%d</VisionRangeBonus>\r\n", Item[cnt].visionrangebonus );
|
||||
FilePrintf(hFile,"\t\t<NightVisionRangeBonus>%d</NightVisionRangeBonus>\r\n", Item[cnt].nightvisionrangebonus );
|
||||
FilePrintf(hFile,"\t\t<DayVisionRangeBonus>%d</DayVisionRangeBonus>\r\n", Item[cnt].dayvisionrangebonus );
|
||||
FilePrintf(hFile,"\t\t<CaveVisionRangeBonus>%d</CaveVisionRangeBonus>\r\n", Item[cnt].cavevisionrangebonus );
|
||||
FilePrintf(hFile,"\t\t<BrightLightVisionRangeBonus>%d</BrightLightVisionRangeBonus>\r\n", Item[cnt].brightlightvisionrangebonus );
|
||||
FilePrintf(hFile,"\t\t<ItemSizeBonus>%d</ItemSizeBonus>\r\n", Item[cnt].itemsizebonus );
|
||||
FilePrintf(hFile,"\t\t<PercentTunnelVision>%d</PercentTunnelVision>\r\n", Item[cnt].percenttunnelvision );
|
||||
FilePrintf(hFile,"\t\t<Alcohol>%3.2f</Alcohol>\r\n", Item[cnt].alcohol );
|
||||
|
||||
// HEADROCK HAM 4: Print out new values
|
||||
FilePrintf(hFile,"\t\t<ScopeMagFactor>%d</ScopeMagFactor>\r\n", Item[cnt].scopemagfactor );
|
||||
FilePrintf(hFile,"\t\t<ProjectionFactor>%d</ProjectionFactor>\r\n", Item[cnt].projectionfactor );
|
||||
FilePrintf(hFile,"\t\t<PercentAccuracyModifier>%d</PercentAccuracyModifier>\r\n", Item[cnt].percentaccuracymodifier );
|
||||
FilePrintf(hFile,"\t\t<RecoilModifierX>%d</RecoilModifierX>\r\n", Item[cnt].RecoilModifierX );
|
||||
FilePrintf(hFile,"\t\t<RecoilModifierY>%d</RecoilModifierY>\r\n", Item[cnt].RecoilModifierY );
|
||||
FilePrintf(hFile,"\t\t<PercentRecoilModifier>%d</PercentRecoilModifier>\r\n", Item[cnt].PercentRecoilModifier );
|
||||
FilePrintf(hFile,"\t\t<ProjectionFactor>%d</ProjectionFactor>\r\n", Item[cnt].projectionfactor );
|
||||
FilePrintf(hFile,"\t\t<PercentAccuracyModifier>%d</PercentAccuracyModifier>\r\n", Item[cnt].percentaccuracymodifier );
|
||||
FilePrintf(hFile,"\t\t<RecoilModifierX>%d</RecoilModifierX>\r\n", Item[cnt].RecoilModifierX );
|
||||
FilePrintf(hFile,"\t\t<RecoilModifierY>%d</RecoilModifierY>\r\n", Item[cnt].RecoilModifierY );
|
||||
FilePrintf(hFile,"\t\t<PercentRecoilModifier>%d</PercentRecoilModifier>\r\n", Item[cnt].PercentRecoilModifier );
|
||||
|
||||
// HEADROCK HAM 4: Print out stance-based values
|
||||
FilePrintf(hFile,"\t\t<STAND_MODIFIERS>\r\n");
|
||||
@@ -2130,7 +2279,7 @@ BOOLEAN WriteItemStats()
|
||||
FilePrintf(hFile,"\t\t\t<PercentDropCompensation>%d</PercentDropCompensation>\r\n", Item[cnt].percentdropcompensationmodifier[0] );
|
||||
FilePrintf(hFile,"\t\t\t<PercentMaxCounterForce>%d</PercentMaxCounterForce>\r\n", Item[cnt].maxcounterforcemodifier[0] );
|
||||
FilePrintf(hFile,"\t\t\t<PercentCounterForceAccuracy>%d</PercentCounterForceAccuracy>\r\n", Item[cnt].counterforceaccuracymodifier[0] );
|
||||
FilePrintf(hFile,"\t\t\t<AimLevels>%d</AimLevels>\r\n", Item[cnt].aimlevelsmodifier[0] );
|
||||
FilePrintf(hFile,"\t\t\t<AimLevels>%d</AimLevels>\r\n", Item[cnt].aimlevelsmodifier[0] );
|
||||
FilePrintf(hFile,"\t\t</STAND_MODIFIERS>\r\n");
|
||||
|
||||
FilePrintf(hFile,"\t\t<CROUCH_MODIFIERS>\r\n");
|
||||
@@ -2143,7 +2292,7 @@ BOOLEAN WriteItemStats()
|
||||
FilePrintf(hFile,"\t\t\t<PercentDropCompensation>%d</PercentDropCompensation>\r\n", Item[cnt].percentdropcompensationmodifier[1] );
|
||||
FilePrintf(hFile,"\t\t\t<PercentMaxCounterForce>%d</PercentMaxCounterForce>\r\n", Item[cnt].maxcounterforcemodifier[1] );
|
||||
FilePrintf(hFile,"\t\t\t<PercentCounterForceAccuracy>%d</PercentCounterForceAccuracy>\r\n", Item[cnt].counterforceaccuracymodifier[1] );
|
||||
FilePrintf(hFile,"\t\t\t<AimLevels>%d</AimLevels>\r\n", Item[cnt].aimlevelsmodifier[1] );
|
||||
FilePrintf(hFile,"\t\t\t<AimLevels>%d</AimLevels>\r\n", Item[cnt].aimlevelsmodifier[1] );
|
||||
FilePrintf(hFile,"\t\t</CROUCH_MODIFIERS>\r\n");
|
||||
|
||||
FilePrintf(hFile,"\t\t<PRONE_MODIFIERS>\r\n");
|
||||
@@ -2156,58 +2305,42 @@ BOOLEAN WriteItemStats()
|
||||
FilePrintf(hFile,"\t\t\t<PercentDropCompensation>%d</PercentDropCompensation>\r\n", Item[cnt].percentdropcompensationmodifier[2] );
|
||||
FilePrintf(hFile,"\t\t\t<PercentMaxCounterForce>%d</PercentMaxCounterForce>\r\n", Item[cnt].maxcounterforcemodifier[2] );
|
||||
FilePrintf(hFile,"\t\t\t<PercentCounterForceAccuracy>%d</PercentCounterForceAccuracy>\r\n", Item[cnt].counterforceaccuracymodifier[2] );
|
||||
FilePrintf(hFile,"\t\t\t<AimLevels>%d</AimLevels>\r\n", Item[cnt].aimlevelsmodifier[2] );
|
||||
FilePrintf(hFile,"\t\t\t<AimLevels>%d</AimLevels>\r\n", Item[cnt].aimlevelsmodifier[2] );
|
||||
FilePrintf(hFile,"\t\t</PRONE_MODIFIERS>\r\n");
|
||||
|
||||
// Flugente FTW 1.2
|
||||
if (ItemIsBarrel(cnt)) FilePrintf(hFile, "\t\t<barrel>%d</barrel>\r\n", 1);
|
||||
FilePrintf(hFile,"\t\t<usOverheatingCooldownFactor>%4.2f</usOverheatingCooldownFactor>\r\n", Item[cnt].usOverheatingCooldownFactor );
|
||||
FilePrintf(hFile,"\t\t<overheatTemperatureModificator>%4.2f</overheatTemperatureModificator>\r\n", Item[cnt].overheatTemperatureModificator );
|
||||
FilePrintf(hFile,"\t\t<overheatCooldownModificator>%4.2f</overheatCooldownModificator>\r\n", Item[cnt].overheatCooldownModificator );
|
||||
FilePrintf(hFile,"\t\t<overheatJamThresholdModificator>%4.2f</overheatJamThresholdModificator>\r\n", Item[cnt].overheatJamThresholdModificator );
|
||||
FilePrintf(hFile,"\t\t<overheatDamageThresholdModificator>%4.2f</overheatDamageThresholdModificator>\r\n", Item[cnt].overheatDamageThresholdModificator );
|
||||
FilePrintf(hFile,"\t\t<usOverheatingCooldownFactor>%4.2f</usOverheatingCooldownFactor>\r\n", Item[cnt].usOverheatingCooldownFactor );
|
||||
FilePrintf(hFile,"\t\t<overheatTemperatureModificator>%4.2f</overheatTemperatureModificator>\r\n", Item[cnt].overheatTemperatureModificator );
|
||||
FilePrintf(hFile,"\t\t<overheatCooldownModificator>%4.2f</overheatCooldownModificator>\r\n", Item[cnt].overheatCooldownModificator );
|
||||
FilePrintf(hFile,"\t\t<overheatJamThresholdModificator>%4.2f</overheatJamThresholdModificator>\r\n", Item[cnt].overheatJamThresholdModificator );
|
||||
FilePrintf(hFile,"\t\t<overheatDamageThresholdModificator>%4.2f</overheatDamageThresholdModificator>\r\n", Item[cnt].overheatDamageThresholdModificator );
|
||||
|
||||
FilePrintf(hFile,"\t\t<AttachmentClass>%4.2f</AttachmentClass>\r\n", Item[cnt].attachmentclass );
|
||||
|
||||
if (ItemHasTripwireActivation(cnt)) FilePrintf(hFile, "\t\t<TripwireActivation>%d</TripwireActivation>\r\n", 1);
|
||||
if (ItemIsTripwire(cnt)) FilePrintf(hFile, "\t\t<TripWire>%d</TripWire>\r\n", 1);
|
||||
if (ItemIsDirectional(cnt)) FilePrintf(hFile, "\t\t<Directional>%d</Directional>\r\n", 1);
|
||||
if (ItemBlocksIronsight(cnt)) FilePrintf(hFile, "\t\t<BlockIronSight>%d</BlockIronSight>\r\n", 1);
|
||||
|
||||
FilePrintf(hFile,"\t\t<ItemFlag>%d</ItemFlag>\r\n", Item[cnt].usItemFlag );
|
||||
FilePrintf(hFile,"\t\t<DrugType>%d</DrugType>\r\n", Item[cnt].drugtype );
|
||||
FilePrintf(hFile,"\t\t<FoodType>%d</FoodType>\r\n", Item[cnt].foodtype );
|
||||
FilePrintf(hFile,"\t\t<AttachmentClass>%4.2f</AttachmentClass>\r\n", Item[cnt].attachmentclass );
|
||||
FilePrintf(hFile,"\t\t<DrugType>%d</DrugType>\r\n", Item[cnt].drugtype );
|
||||
FilePrintf(hFile,"\t\t<FoodType>%d</FoodType>\r\n", Item[cnt].foodtype );
|
||||
|
||||
//JMich_SkillModifiers: Adding the values here as well
|
||||
FilePrintf(hFile, "\t\t<LockPickModifier>%d</LockPickModifier>\r\n", Item[cnt].LockPickModifier );
|
||||
FilePrintf(hFile, "\t\t<LockPickModifier>%d</LockPickModifier>\r\n", Item[cnt].LockPickModifier );
|
||||
FilePrintf(hFile, "\t\t<CrowbarModifier>%d</CrowbarModifier>\r\n", Item[cnt].CrowbarModifier );
|
||||
FilePrintf(hFile, "\t\t<DisarmModifier>%d</DisarmModifier>\r\n", Item[cnt].DisarmModifier );
|
||||
FilePrintf(hFile, "\t\t<RepairModifier>%d</RepairModifier>\r\n", Item[cnt].RepairModifier );
|
||||
FilePrintf(hFile, "\t\t<DisarmModifier>%d</DisarmModifier>\r\n", Item[cnt].DisarmModifier );
|
||||
FilePrintf(hFile, "\t\t<RepairModifier>%d</RepairModifier>\r\n", Item[cnt].RepairModifier );
|
||||
FilePrintf(hFile, "\t\t<usHackingModifier>%d</usHackingModifier>\r\n", Item[cnt].usHackingModifier );
|
||||
FilePrintf(hFile, "\t\t<usBurialModifier>%d</usBurialModifier>\r\n", Item[cnt].usBurialModifier );
|
||||
FilePrintf(hFile, "\t\t<usBurialModifier>%d</usBurialModifier>\r\n", Item[cnt].usBurialModifier );
|
||||
|
||||
FilePrintf(hFile,"\t\t<DamageChance>%d</DamageChance>\r\n", Item[cnt].usDamageChance );
|
||||
FilePrintf(hFile,"\t\t<DirtIncreaseFactor>%4.2f</DirtIncreaseFactor>\r\n", Item[cnt].dirtIncreaseFactor );
|
||||
|
||||
FilePrintf(hFile,"\t\t<usActionItemFlag>%d</usActionItemFlag>\r\n", Item[cnt].usActionItemFlag );
|
||||
FilePrintf(hFile,"\t\t<clothestype>%d</clothestype>\r\n", Item[cnt].clothestype );
|
||||
FilePrintf(hFile,"\t\t<randomitem>%d</randomitem>\r\n", Item[cnt].randomitem );
|
||||
FilePrintf(hFile,"\t\t<usActionItemFlag>%d</usActionItemFlag>\r\n", Item[cnt].usActionItemFlag );
|
||||
FilePrintf(hFile,"\t\t<clothestype>%d</clothestype>\r\n", Item[cnt].clothestype );
|
||||
FilePrintf(hFile,"\t\t<randomitem>%d</randomitem>\r\n", Item[cnt].randomitem );
|
||||
FilePrintf(hFile,"\t\t<randomitemcoolnessmodificator>%d</randomitemcoolnessmodificator>\r\n", Item[cnt].randomitemcoolnessmodificator );
|
||||
FilePrintf(hFile,"\t\t<FlashLightRange>%d</FlashLightRange>\r\n", Item[cnt].usFlashLightRange );
|
||||
FilePrintf(hFile,"\t\t<ItemChoiceTimeSetting>%d</ItemChoiceTimeSetting>\r\n", Item[cnt].usItemChoiceTimeSetting );
|
||||
FilePrintf(hFile,"\t\t<buddyitem>%d</buddyitem>\r\n", Item[cnt].usBuddyItem );
|
||||
FilePrintf(hFile,"\t\t<SleepModifier>%d</SleepModifier>\r\n", Item[cnt].ubSleepModifier );
|
||||
FilePrintf(hFile,"\t\t<usSpotting>%d</usSpotting>\r\n", Item[cnt].usSpotting );
|
||||
FilePrintf(hFile,"\t\t<sBackpackWeightModifier>%d</sBackpackWeightModifier>\r\n", Item[cnt].sBackpackWeightModifier);
|
||||
FilePrintf(hFile,"\t\t<usPortionSize>%d</usPortionSize>\r\n", Item[cnt].usPortionSize );
|
||||
|
||||
if (ItemAllowsClimbing(cnt)) FilePrintf(hFile, "\t\t<fAllowClimbing>%d</fAllowClimbing>\r\n", 1);
|
||||
if (ItemIsCigarette(cnt)) FilePrintf(hFile, "\t\t<cigarette>%d</cigarette>\r\n", 1);
|
||||
if ( HasItemFlag( cnt, DISEASEPROTECTION_1 ) ) FilePrintf( hFile, "\t\t<diseaseprotectionface>%d</diseaseprotectionface>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, DISEASEPROTECTION_2 ) ) FilePrintf( hFile, "\t\t<diseaseprotectionhand>%d</diseaseprotectionhand>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, BLOOD_BAG) ) FilePrintf( hFile, "\t\t<bloodbag>%d</bloodbag>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, EMPTY_BLOOD_BAG ) ) FilePrintf( hFile, "\t\t<emptybloodbag>%d</emptybloodbag>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, MEDICAL_SPLINT ) ) FilePrintf( hFile, "\t\t<medicalsplint>%d</medicalsplint>\r\n", 1 );
|
||||
FilePrintf(hFile,"\t\t<FlashLightRange>%d</FlashLightRange>\r\n", Item[cnt].usFlashLightRange );
|
||||
FilePrintf(hFile,"\t\t<ItemChoiceTimeSetting>%d</ItemChoiceTimeSetting>\r\n", Item[cnt].usItemChoiceTimeSetting );
|
||||
FilePrintf(hFile,"\t\t<buddyitem>%d</buddyitem>\r\n", Item[cnt].usBuddyItem );
|
||||
FilePrintf(hFile,"\t\t<SleepModifier>%d</SleepModifier>\r\n", Item[cnt].ubSleepModifier );
|
||||
FilePrintf(hFile,"\t\t<usSpotting>%d</usSpotting>\r\n", Item[cnt].usSpotting );
|
||||
FilePrintf(hFile,"\t\t<sBackpackWeightModifier>%d</sBackpackWeightModifier>\r\n", Item[cnt].sBackpackWeightModifier);
|
||||
FilePrintf(hFile,"\t\t<usPortionSize>%d</usPortionSize>\r\n", Item[cnt].usPortionSize );
|
||||
|
||||
FilePrintf(hFile,"\t\t<usRiotShieldStrength>%d</usRiotShieldStrength>\r\n", Item[cnt].usRiotShieldStrength );
|
||||
FilePrintf(hFile,"\t\t<usRiotShieldGraphic>%d</usRiotShieldGraphic>\r\n", Item[cnt].usRiotShieldGraphic );
|
||||
@@ -2221,10 +2354,115 @@ BOOLEAN WriteItemStats()
|
||||
FilePrintf(hFile,"\t\t<RobotChassisSkillGrant>%d</RobotChassisSkillGrant>\r\n", Item[cnt].bRobotChassisSkillGrant );
|
||||
FilePrintf(hFile,"\t\t<RobotUtilitySkillGrant>%d</RobotUtilitySkillGrant>\r\n", Item[cnt].bRobotUtilitySkillGrant );
|
||||
|
||||
if (ItemProvidesRobotCamo(cnt)) FilePrintf(hFile, "\t\t<ProvidesRobotCamo>%d</ProvidesRobotCamo>\r\n", 1);
|
||||
if (ItemProvidesRobotNightvision(cnt)) FilePrintf(hFile, "\t\t<ProvidesRobotNightVision>%d</ProvidesRobotNightVision>\r\n", 1);
|
||||
if (ItemProvidesRobotLaserBonus(cnt)) FilePrintf(hFile, "\t\t<ProvidesRobotLaserBonus>%d</ProvidesRobotLaserBonus>\r\n", 1);
|
||||
if (ItemIsOnlyInDisease(cnt)) FilePrintf(hFile, "\t\t<DiseaseSystemExclusive>%d</DiseaseSystemExclusive>\r\n", 1);
|
||||
// usItemFlag
|
||||
if ( HasItemFlag( cnt, BLOOD_BAG ) ) FilePrintf( hFile, "\t\t<Bloodbag>%d</Bloodbag>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, MANPAD ) ) FilePrintf( hFile, "\t\t<Manpad>%d</Manpad>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, BEARTRAP ) ) FilePrintf( hFile, "\t\t<Beartrap>%d</Beartrap>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, CAMERA ) ) FilePrintf( hFile, "\t\t<Camera>%d</Camera>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, WATER_DRUM ) ) FilePrintf( hFile, "\t\t<Waterdrum>%d</Waterdrum>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, MEAT_BLOODCAT ) ) FilePrintf( hFile, "\t\t<BloodcatMeat>%d</BloodcatMeat>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, MEAT_COW ) ) FilePrintf( hFile, "\t\t<CowMeat>%d</CowMeat>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, BELT_FED ) ) FilePrintf( hFile, "\t\t<Beltfed>%d</Beltfed>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, AMMO_BELT ) ) FilePrintf( hFile, "\t\t<Ammobelt>%d</Ammobelt>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, AMMO_BELT_VEST ) ) FilePrintf( hFile, "\t\t<AmmobeltVest>%d</AmmobeltVest>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, CAMO_REMOVAL ) ) FilePrintf( hFile, "\t\t<CamoRemoval>%d</CamoRemoval>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, CLEANING_KIT ) ) FilePrintf( hFile, "\t\t<Cleaningkit>%d</Cleaningkit>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, ATTENTION_ITEM ) ) FilePrintf( hFile, "\t\t<AttentionItem>%d</AttentionItem>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, GAROTTE ) ) FilePrintf( hFile, "\t\t<Garotte>%d</Garotte>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, COVERT ) ) FilePrintf( hFile, "\t\t<Covert>%d</Covert>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, CORPSE ) ) FilePrintf( hFile, "\t\t<Corpse>%d</Corpse>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, SKIN_BLOODCAT ) ) FilePrintf( hFile, "\t\t<BloodcatSkin>%d</BloodcatSkin>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, NO_METAL_DETECTION ) ) FilePrintf( hFile, "\t\t<NoMetalDetection>%d</NoMetalDetection>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, JUMP_GRENADE ) ) FilePrintf( hFile, "\t\t<JumpGrenade>%d</JumpGrenade>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, HANDCUFFS ) ) FilePrintf( hFile, "\t\t<Handcuffs>%d</Handcuffs>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, TASER ) ) FilePrintf( hFile, "\t\t<Taser>%d</Taser>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, SCUBA_BOTTLE ) ) FilePrintf( hFile, "\t\t<ScubaBottle>%d</ScubaBottle>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, SCUBA_MASK ) ) FilePrintf( hFile, "\t\t<ScubaMask>%d</ScubaMask>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, SCUBA_FINS ) ) FilePrintf( hFile, "\t\t<ScubaFins>%d</ScubaFins>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, TRIPWIREROLL ) ) FilePrintf( hFile, "\t\t<TripwireRoll>%d</TripwireRoll>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, RADIO_SET ) ) FilePrintf( hFile, "\t\t<Radioset>%d</Radioset>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, SIGNAL_SHELL ) ) FilePrintf( hFile, "\t\t<SignalShell>%d</SignalShell>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, SODA ) ) FilePrintf( hFile, "\t\t<Soda>%d</Soda>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, ROOF_COLLAPSE_ITEM ) ) FilePrintf( hFile, "\t\t<RoofcollapseItem>%d</RoofcollapseItem>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, DISEASEPROTECTION_1 ) ) FilePrintf( hFile, "\t\t<DiseaseprotectionFace>%d</DiseaseprotectionFace>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, DISEASEPROTECTION_2 ) ) FilePrintf( hFile, "\t\t<DiseaseprotectionHand>%d</DiseaseprotectionHand>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, LBE_EXPLOSIONPROOF ) ) FilePrintf( hFile, "\t\t<LBEexplosionproof>%d</LBEexplosionproof>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, EMPTY_BLOOD_BAG ) ) FilePrintf( hFile, "\t\t<EmptyBloodbag>%d</EmptyBloodbag>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, MEDICAL_SPLINT ) ) FilePrintf( hFile, "\t\t<MedicalSplint>%d</MedicalSplint>\r\n", 1 );
|
||||
if ( ItemIsDamageable( cnt ) ) FilePrintf( hFile, "\t\t<Damageable>%d</Damageable>\r\n", 1 );
|
||||
if ( ItemIsRepairable( cnt ) ) FilePrintf( hFile, "\t\t<Repairable>%d</Repairable>\r\n", 1 );
|
||||
if ( ItemIsDamagedByWater( cnt ) ) FilePrintf( hFile, "\t\t<WaterDamages>%d</WaterDamages>\r\n", 1 );
|
||||
if ( ItemIsMetal( cnt ) ) FilePrintf( hFile, "\t\t<Metal>%d</Metal>\r\n", 1 );
|
||||
if ( ItemSinks( cnt ) ) FilePrintf( hFile, "\t\t<Sinks>%d</Sinks>\r\n", 1 );
|
||||
if ( HasItemFlag( cnt, ITEM_showstatus ) ) FilePrintf( hFile, "\t\t<ShowStatus>%d</ShowStatus>\r\n", 1 );
|
||||
if ( ItemIsHiddenAddon( cnt ) ) FilePrintf( hFile, "\t\t<HiddenAddon>%d</HiddenAddon>\r\n", 1 );
|
||||
if ( ItemIsTwoHanded( cnt ) ) FilePrintf( hFile, "\t\t<TwoHanded>%d</TwoHanded>\r\n", 1 );
|
||||
if ( ItemIsNotBuyable( cnt ) ) FilePrintf( hFile, "\t\t<NotBuyable>%d</NotBuyable>\r\n", 1 );
|
||||
if ( ItemIsAttachment( cnt ) ) FilePrintf( hFile, "\t\t<Attachment>%d</Attachment>\r\n", 1 );
|
||||
if ( ItemIsHiddenAttachment( cnt ) ) FilePrintf( hFile, "\t\t<HiddenAttachment>%d</HiddenAttachment>\r\n", 1 );
|
||||
if ( ItemIsOnlyInTonsOfGuns( cnt ) ) FilePrintf( hFile, "\t\t<BigGunList>%d</BigGunList>\r\n", 1 );
|
||||
if ( ItemIsNotInEditor( cnt ) ) FilePrintf( hFile, "\t\t<NotInEditor>%d</NotInEditor>\r\n", 1 );
|
||||
if ( ItemIsUndroppableByDefault( cnt ) ) FilePrintf( hFile, "\t\t<DefaultUndroppable>%d</DefaultUndroppable>\r\n", 1 );
|
||||
if ( ItemIsUnaerodynamic( cnt ) ) FilePrintf( hFile, "\t\t<Unaerodynamic>%d</Unaerodynamic>\r\n", 1 );
|
||||
if ( ItemIsElectronic( cnt ) ) FilePrintf( hFile, "\t\t<Electronic>%d</Electronic>\r\n", 1 );
|
||||
if ( ItemIsCannon( cnt ) ) FilePrintf( hFile, "\t\t<Cannon>%d</Cannon>\r\n", 1 );
|
||||
if ( ItemIsRocketRifle( cnt ) ) FilePrintf( hFile, "\t\t<RocketRifle>%d</RocketRifle>\r\n", 1 );
|
||||
if ( ItemHasFingerPrintID( cnt ) ) FilePrintf( hFile, "\t\t<FingerPrintID>%d</FingerPrintID>\r\n", 1 );
|
||||
if ( ItemIsMetalDetector( cnt ) ) FilePrintf( hFile, "\t\t<MetalDetector>%d</MetalDetector>\r\n", 1 );
|
||||
if ( ItemIsGasmask( cnt ) ) FilePrintf( hFile, "\t\t<GasMask>%d</GasMask>\r\n", 1 );
|
||||
if ( ItemIsLockBomb( cnt ) ) FilePrintf( hFile, "\t\t<LockBomb>%d</LockBomb>\r\n", 1 );
|
||||
if ( ItemIsFlare( cnt ) ) FilePrintf( hFile, "\t\t<Flare>%d</Flare>\r\n", 1 );
|
||||
if ( ItemIsGrenadeLauncher( cnt ) ) FilePrintf( hFile, "\t\t<GrenadeLauncher>%d</GrenadeLauncher>\r\n", 1 );
|
||||
if ( ItemIsMortar( cnt ) ) FilePrintf( hFile, "\t\t<Mortar>%d</Mortar>\r\n", 1 );
|
||||
if ( ItemIsDuckbill( cnt ) ) FilePrintf( hFile, "\t\t<Duckbill>%d</Duckbill>\r\n", 1 );
|
||||
if ( ItemHasHiddenMuzzleFlash( cnt ) ) FilePrintf( hFile, "\t\t<HideMuzzleFlash>%d</HideMuzzleFlash>\r\n", 1 );
|
||||
if ( ItemIsRocketLauncher( cnt ) ) FilePrintf( hFile, "\t\t<RocketLauncher>%d</RocketLauncher>\r\n", 1 );
|
||||
|
||||
// usItemFlag2
|
||||
if ( ItemIsSingleShotRocketLauncher( cnt ) ) FilePrintf( hFile, "\t\t<SingleShotRocketLauncher>%d</SingleShotRocketLauncher>\r\n", 1 );
|
||||
if ( ItemIsBrassKnuckles( cnt ) ) FilePrintf( hFile, "\t\t<BrassKnuckles>%d</BrassKnuckles>\r\n", 1 );
|
||||
if ( ItemIsCrowbar( cnt ) ) FilePrintf( hFile, "\t\t<Crowbar>%d</Crowbar>\r\n", 1 );
|
||||
if ( ItemIsGLgrenade( cnt ) ) FilePrintf( hFile, "\t\t<GLGrenade>%d</GLGrenade>\r\n", 1 );
|
||||
if ( ItemIsFlakJacket( cnt ) ) FilePrintf( hFile, "\t\t<FlakJacket>%d</FlakJacket>\r\n", 1 );
|
||||
if ( ItemIsLeatherJacket( cnt ) ) FilePrintf( hFile, "\t\t<LeatherJacket>%d</LeatherJacket>\r\n", 1 );
|
||||
if ( ItemIsBatteries( cnt ) ) FilePrintf( hFile, "\t\t<Batteries>%d</Batteries>\r\n", 1 );
|
||||
if ( ItemNeedsBatteries( cnt ) ) FilePrintf( hFile, "\t\t<NeedsBatteries>%d</NeedsBatteries>\r\n", 1 );
|
||||
if ( ItemHasXRay( cnt ) ) FilePrintf( hFile, "\t\t<XRay>%d</XRay>\r\n", 1 );
|
||||
if ( ItemIsWirecutters( cnt ) ) FilePrintf( hFile, "\t\t<WireCutters>%d</WireCutters>\r\n", 1 );
|
||||
if ( ItemIsToolkit( cnt ) ) FilePrintf( hFile, "\t\t<Toolkit>%d</Toolkit>\r\n", 1 );
|
||||
if ( ItemIsFirstAidKit( cnt ) ) FilePrintf( hFile, "\t\t<FirstAidKit>%d</FirstAidKit>\r\n", 1 );
|
||||
if ( ItemIsMedicalKit( cnt ) ) FilePrintf( hFile, "\t\t<MedicalKit>%d</MedicalKit>\r\n", 1 );
|
||||
if ( ItemIsCanteen( cnt ) ) FilePrintf( hFile, "\t\t<Canteen>%d</Canteen>\r\n", 1 );
|
||||
if ( ItemIsJar( cnt ) ) FilePrintf( hFile, "\t\t<Jar>%d</Jar>\r\n", 1 );
|
||||
if ( ItemIsCanAndString( cnt ) ) FilePrintf( hFile, "\t\t<CanAndString>%d</CanAndString>\r\n", 1 );
|
||||
if ( ItemIsMarbles( cnt ) ) FilePrintf( hFile, "\t\t<Marbles>%d</Marbles>\r\n", 1 );
|
||||
if ( ItemIsWalkman( cnt ) ) FilePrintf( hFile, "\t\t<Walkman>%d</Walkman>\r\n", 1 );
|
||||
if ( ItemIsRemoteTrigger( cnt ) ) FilePrintf( hFile, "\t\t<RemoteTrigger>%d</RemoteTrigger>\r\n", 1 );
|
||||
if ( ItemIsRobotRemote( cnt ) ) FilePrintf( hFile, "\t\t<RobotRemoteControl>%d</RobotRemoteControl>\r\n", 1 );
|
||||
if ( ItemIsCamoKit( cnt ) ) FilePrintf( hFile, "\t\t<CamouflageKit>%d</CamouflageKit>\r\n", 1 );
|
||||
if ( ItemIsLocksmithKit( cnt ) ) FilePrintf( hFile, "\t\t<LocksmithKit>%d</LocksmithKit>\r\n", 1 );
|
||||
if ( ItemIsMine( cnt ) ) FilePrintf( hFile, "\t\t<Mine>%d</Mine>\r\n", 1 );
|
||||
if ( ItemIsATMine( cnt ) ) FilePrintf( hFile, "\t\t<AntitankMine>%d</AntitankMine>\r\n", 1 );
|
||||
if ( ItemIsHardware( cnt ) ) FilePrintf( hFile, "\t\t<Hardware>%d</Hardware>\r\n", 1 );
|
||||
if ( ItemIsMedical( cnt ) ) FilePrintf( hFile, "\t\t<Medical>%d</Medical>\r\n", 1 );
|
||||
if ( ItemIsGascan( cnt ) ) FilePrintf( hFile, "\t\t<GasCan>%d</GasCan>\r\n", 1 );
|
||||
if ( ItemContainsLiquid( cnt ) ) FilePrintf( hFile, "\t\t<ContainsLiquid>%d</ContainsLiquid>\r\n", 1 );
|
||||
if ( ItemIsRock( cnt ) ) FilePrintf( hFile, "\t\t<Rock>%d</Rock>\r\n", 1 );
|
||||
if ( ItemIsThermalOptics( cnt ) ) FilePrintf( hFile, "\t\t<ThermalOptics>%d</ThermalOptics>\r\n", 1 );
|
||||
if ( ItemIsOnlyInScifi( cnt ) ) FilePrintf( hFile, "\t\t<SciFi>%d</SciFi>\r\n", 1 );
|
||||
if ( ItemIsOnlyInNIV( cnt ) ) FilePrintf( hFile, "\t\t<NewInv>%d</NewInv>\r\n", 1 );
|
||||
if ( ItemIsOnlyInDisease( cnt ) ) FilePrintf( hFile, "\t\t<DiseaseSystemExclusive>%d</DiseaseSystemExclusive>\r\n", 1 );
|
||||
if ( ItemIsBarrel( cnt ) ) FilePrintf( hFile, "\t\t<Barrel>%d</Barrel>\r\n", 1 );
|
||||
if ( ItemHasTripwireActivation( cnt ) ) FilePrintf( hFile, "\t\t<TripwireActivation>%d</TripwireActivation>\r\n", 1 );
|
||||
if ( ItemIsTripwire( cnt ) ) FilePrintf( hFile, "\t\t<TripWire>%d</TripWire>\r\n", 1 );
|
||||
if ( ItemIsDirectional( cnt ) ) FilePrintf( hFile, "\t\t<Directional>%d</Directional>\r\n", 1 );
|
||||
if ( ItemBlocksIronsight( cnt ) ) FilePrintf( hFile, "\t\t<BlockIronSight>%d</BlockIronSight>\r\n", 1 );
|
||||
if ( ItemAllowsClimbing( cnt ) ) FilePrintf( hFile, "\t\t<AllowClimbing>%d</AllowClimbing>\r\n", 1 );
|
||||
if ( ItemIsCigarette( cnt ) ) FilePrintf( hFile, "\t\t<Cigarette>%d</Cigarette>\r\n", 1 );
|
||||
if ( ItemProvidesRobotCamo( cnt ) ) FilePrintf( hFile, "\t\t<ProvidesRobotCamo>%d</ProvidesRobotCamo>\r\n", 1 );
|
||||
if ( ItemProvidesRobotNightvision( cnt ) ) FilePrintf( hFile, "\t\t<ProvidesRobotNightVision>%d</ProvidesRobotNightVision>\r\n", 1 );
|
||||
if ( ItemProvidesRobotLaserBonus( cnt ) ) FilePrintf( hFile, "\t\t<ProvidesRobotLaserBonus>%d</ProvidesRobotLaserBonus>\r\n", 1 );
|
||||
|
||||
|
||||
FilePrintf(hFile,"\t</ITEM>\r\n");
|
||||
}
|
||||
|
||||
@@ -14,4 +14,4 @@ typedef struct
|
||||
|
||||
extern LANGUAGE_LOCATION zlanguageText[1000];
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -167,4 +167,4 @@ BOOLEAN ReadInSenderNameList(STR fileName, BOOLEAN localizedVersion)
|
||||
|
||||
|
||||
return( TRUE );
|
||||
}
|
||||
}
|
||||
|
||||
-12256
File diff suppressed because it is too large
Load Diff
-12252
File diff suppressed because it is too large
Load Diff
-12242
File diff suppressed because it is too large
Load Diff
-12234
File diff suppressed because it is too large
Load Diff
-12156
File diff suppressed because it is too large
Load Diff
-12223
File diff suppressed because it is too large
Load Diff
@@ -1,529 +0,0 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("CHINESE")
|
||||
|
||||
#include "Language Defines.h"
|
||||
#ifdef CHINESE
|
||||
#include "text.h"
|
||||
#include "Fileman.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25ChineseText_public_symbol(void){;}
|
||||
|
||||
#ifdef CHINESE
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - New STOMP laptop strings
|
||||
//these strings match up with the defines in IMP Skill trait.cpp
|
||||
STR16 gzIMPSkillTraitsText[]=
|
||||
{
|
||||
// made this more elegant
|
||||
L"开锁", //"Lock picking",
|
||||
L"格斗", //"Hand to hand combat",
|
||||
L"电子", //"Electronics",
|
||||
L"夜战", //"Night operations",
|
||||
L"投掷", //"Throwing",
|
||||
L"教学", //"Teaching",
|
||||
L"重武器", //"Heavy Weapons",
|
||||
L"自动武器", //"Auto Weapons",
|
||||
L"潜行", //"Stealth",
|
||||
L"双持", //"Ambidextrous",
|
||||
L"刀技", //"Knifing",
|
||||
L"狙击", //"Sniper",
|
||||
L"伪装", //"Camouflage",
|
||||
L"武术", //"Martial Arts",
|
||||
|
||||
L"无", //"None",
|
||||
L"I.M.P 专属技能", //"I.M.P. Specialties",
|
||||
L"(专家)",
|
||||
|
||||
};
|
||||
|
||||
//added another set of skill texts for new major traits
|
||||
STR16 gzIMPSkillTraitsTextNewMajor[]=
|
||||
{
|
||||
L"自动武器",// L"Auto Weapons",
|
||||
L"重武器",// L"Heavy Weapons",
|
||||
L"神枪手",// L"Marksman",
|
||||
L"猎兵",// L"Hunter",
|
||||
L"快枪手",// L"Gunslinger",
|
||||
L"格斗家",// L"Hand to Hand",
|
||||
L"班副",// L"Deputy",
|
||||
L"技师",// L"Technician",
|
||||
L"救护员",// L"Paramedic",
|
||||
L"特工",// L"Covert Ops",
|
||||
|
||||
L"无",// L"None",
|
||||
L"I.M.P 主要特殊技能",// L"I.M.P. Major Traits",
|
||||
// second names
|
||||
L"机枪手",// L"Machinegunner",
|
||||
L"枪炮专家",// L"Bombardier",
|
||||
L"狙击手",// L"Sniper",
|
||||
L"游骑兵",// L"Ranger",
|
||||
L"枪斗术",// L"Gunfighter",
|
||||
L"武术家",// L"Martial Arts",
|
||||
L"班长",// L"Squadleader",
|
||||
L"工兵",// L"Engineer",
|
||||
L"军医",// L"Doctor",
|
||||
L"间谍",// L"Spy",
|
||||
};
|
||||
|
||||
//added another set of skill texts for new minor traits
|
||||
STR16 gzIMPSkillTraitsTextNewMinor[]=
|
||||
{
|
||||
L"双持",// L"Ambidextrous",
|
||||
L"近战",// L"Melee",
|
||||
L"投掷",// L"Throwing",
|
||||
L"夜战",// L"Night Ops",
|
||||
L"潜行",// L"Stealthy",
|
||||
L"运动员",// L"Athletics",
|
||||
L"健身",// L"Bodybuilding",
|
||||
L"爆破",// L"Demolitions",
|
||||
L"教学",// L"Teaching",
|
||||
L"侦察",// L"Scouting",
|
||||
L"无线电操作员", //L"Radio Operator",
|
||||
L"向导", //L"Survival",
|
||||
|
||||
L"无",// L"None",
|
||||
L"I.M.P 副技能",// L"I.M.P. Minor Traits",
|
||||
};
|
||||
|
||||
//these texts are for help popup windows, describing trait properties
|
||||
STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[]=
|
||||
{
|
||||
L"突击步枪命中率 +%d%s\n",// L"+%d%s Chance to Hit with Assault Rifles\n",
|
||||
L"冲锋枪命中率 +%d%s\n",// L"+%d%s Chance to Hit with SMGs\n",
|
||||
L"轻机枪命中率 +%d%s\n",// L"+%d%s Chance to Hit with LMGs\n",
|
||||
L"轻机枪射击所需行动点 -%d%s\n",//L"-%d%s APs needed to fire with LMGs\n",
|
||||
L"端起轻机枪所需行动点 -%d%s\n",//L"-%d%s APs needed to ready light machine guns\n",
|
||||
L"自动或点射命中率惩罚 -%d%s\n",//L"Auto fire/burst chance to hit penalty is reduced by %d%s\n",
|
||||
L"降低浪费子弹的几率 \n",//L"Reduced chance for shooting unwanted bullets on autofire\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[]=
|
||||
{
|
||||
L"发射榴弹所需行动点 -%d%s\n",// L"-%d%s APs needed to fire grenade launchers\n",
|
||||
L"发射火箭所需行动点 -%d%s\n",// L"-%d%s APs needed to fire rocket launchers\n",
|
||||
L"榴弹命中率 +%d%s\n",// L"+%d%s chance to hit with grenade launchers\n",
|
||||
L"火箭命中率 +%d%s\n",// L"+%d%s chance to hit with rocket launchers\n",
|
||||
L"发射迫击炮所需行动点 -%d%s\n",// L"-%d%s APs needed to fire mortar\n",
|
||||
L"迫击炮命中率惩罚修正 -%d%s\n",// L"Reduce penalty for mortar CtH by %d%s\n",
|
||||
L"爆破物, 手榴弹和重武器对坦克的额外伤害 +%d%s\n",// L"+%d%s damage to tanks with heavy weapons, grenades and explosives\n",
|
||||
L"重武器对其他目标的伤害 +%d%s\n",// L"+%d%s damage to other targets with heavy weapons\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSniper[]=
|
||||
{
|
||||
L"步枪命中率 +%d%s\n",
|
||||
L"狙击步枪命中率 +%d%s\n",// L"+%d%s Chance to Hit with Sniper Rifles\n",
|
||||
L"所有武器的有效距离 -%d%s\n",// L"-%d%s effective range to target with all weapons\n",
|
||||
L"每次精确瞄准的加成(手枪除外) +%d%s\n",// L"+%d%s aiming bonus per aim click (except for handguns)\n",
|
||||
L"+%d%s 精确瞄准伤害",// L"+%d%s damage on shot",
|
||||
L"加上",// L" plus",
|
||||
L"在",// L" per every aim click",
|
||||
L"第一次",// L" after first",
|
||||
L"第二次",// L" after second",
|
||||
L"第三次",// L" after third",
|
||||
L"第四次",// L" after fourth",
|
||||
L"第五次",// L" after fifth",
|
||||
L"第六次",// L" after sixth",
|
||||
L"第七次",// L" after seventh",
|
||||
L"栓动步枪拉栓所需行动点 -%d%s \n",// L"-%d%s APs needed to chamber a round with bolt-action rifles \n",
|
||||
L"步枪精确瞄准次数增加1次\n",// L"Adds one more aim click for rifle-type guns\n",
|
||||
L"步枪精确瞄准次数增加%d次\n",// L"Adds %d more aim clicks for rifle-type guns\n",
|
||||
L"迅速瞄准:步枪精确瞄准次数加快(即减少)1次\n",//L"Makes aiming faster with rifle-type guns by one aim click\n",
|
||||
L"迅速瞄准:步枪精确瞄准次数加快(即减少)%d次\n",//L"Makes aiming faster with rifle-type guns by %d aim clicks\n",
|
||||
L"专注技能:在标记区域内中断率 +%d \n", //L"Focus skill: +%d interrupt modifier in marked area\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
||||
{
|
||||
L"步枪命中率 +%d%s\n",// L"+%d%s Chance to Hit with Rifles\n",
|
||||
L"霰弹枪命中率 +%d%s\n",// L"+%d%s Chance to Hit with Shotguns\n",
|
||||
L"泵动式霰弹上膛所需行动点 -%d%s \n",// L"-%d%s APs needed to pump Shotguns\n",
|
||||
L"使用散弹枪时行动点 -%d%s\n", //L"-%d%s APs to fire Shotguns\n",
|
||||
L"使用散弹枪精确瞄准次数增加%d次 \n", //L"Adds %d more aim click for Shotguns\n",
|
||||
L"使用散弹枪精确瞄准次数增加%d次 \n", //L"Adds %d more aim clicks for Shotguns\n",
|
||||
L"散弹枪的有效范围 +%d%s\n", //L"+%d%s effective range with Shotguns\n",
|
||||
L"散弹枪上膛的行动点消耗 -%d%s\n", //L"-%d%s APs to reload single Shotgun shells\n",
|
||||
L"使用步枪精瞄次数增加%d次\n", //L"Adds %d more aim click for Rifles\n",
|
||||
L"使用步枪精瞄次数增加%d次\n", //L"Adds %d more aim clicks for Rifles\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||
{
|
||||
L"发射手枪、左轮所需行动点 -%d%s\n",// L"-%d%s APs needed to fire with pistols and revolvers\n",
|
||||
L"手枪、左轮的有效射程 +%d%s\n",// L"+%d%s effective range with pistols and revolvers\n",
|
||||
L"手枪、左轮的命中率 +%d%s\n",// L"+%d%s chance to hit with pistols and revolvers\n",
|
||||
L"冲锋手枪的命中率 +%d%s",// L"+%d%s chance to hit with machine pistols",
|
||||
L"(只限单发)",// L" (on single shots only)",
|
||||
L"手枪、左轮和冲锋手枪每次精确瞄准的加成 +%d%s \n",// L"+%d%s aiming bonus per click with pistols, machine pistols and revolvers\n",
|
||||
L"手枪和左轮抬枪瞄准所需行动点 -%d%s\n",// L"-%d%s APs needed to raise pistols and revolvers\n",
|
||||
L"手枪、冲锋手枪和左轮装填弹药所需行动点 -%d%s \n",// L"-%d%s APs needed to reload pistols, machine pistols and revolvers\n",
|
||||
L"手枪、左轮和冲锋手枪的精确瞄准次数增加%d次 \n",// L"Adds %d more aim click for pistols, machine pistols and revolvers\n",
|
||||
L"手枪、左轮和冲锋手枪的精确瞄准次数增加%d次 \n",// L"Adds %d more aim clicks for pistols, machine pistols and revolvers\n",
|
||||
L"可以掰击锤来发射左轮枪\n", //L"Can fan the hammer with revolvers\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsMartialArts[]=
|
||||
{
|
||||
L"格斗攻击所需行动点 -%d%s(空手或戴铜指套) \n",// L"-%d%s AP cost of hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"格斗命中率 +%d%s\n",// L"+%d%s chance to hit with hand to hand attacks with bare hands\n",
|
||||
L"铜指套命中率 +%d%s\n",// L"+%d%s chance to hit with hand to hand attacks with brass knuckles\n",
|
||||
L"格斗攻击伤害 +%d%s(空手或戴指拳套)\n",// L"+%d%s damage of hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"格斗攻击的体力伤害 +%d%s(空手或戴指拳套) \n",// L"+%d%s breath damage of hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"被你徒手击倒的敌人要喘息片刻才能站起来 \n",// L"Enemy knocked out due to your HtH attacks takes slightly longer to recuperate\n",
|
||||
L"被你徒手击倒的敌人要休息片刻才能回过神来 \n",// L"Enemy knocked out due to your HtH attacks takes longer to recuperate\n",
|
||||
L"被你徒手击倒的敌人要一泡尿的功夫才能爬起来 \n",// L"Enemy knocked out due to your HtH attacks takes much longer to recuperate\n",
|
||||
L"被你徒手击倒的敌人要一盏茶的功夫才能恢复知觉 \n",// L"Enemy knocked out due to your HtH attacks takes very long to recuperate\n",
|
||||
L"被你徒手击倒的敌人要一顿饭的功夫才能清醒过来 \n",// L"Enemy knocked out due to your HtH attacks takes extremely long to recuperate\n",
|
||||
L"被你徒手击倒的敌人要昏迷上几个小时\n",// L"Enemy knocked out due to your HtH attacks takes long hours to recuperate\n",
|
||||
L"被你徒手击倒的敌人下半辈子就是植物人\n",// L"Enemy knocked out due to your HtH attacks probably never stand up\n",
|
||||
L"格斗攻击精确瞄准后造成伤害 +%d%s\n",// L"Focused (aimed) punch deals +%d%s more damage\n",
|
||||
L"独门腿功造成伤害 +%d%s\n",// L"Your special spinning kick deals +%d%s more damage\n",
|
||||
L"躲避格斗攻击的几率 +%d%s\n",// L"+%d%s change to dodge hand to hand attacks\n",
|
||||
L"空手状态下获得额外的躲避几率 +%d%s",// L"+%d%s on top chance to dodge HtH attacks with bare hands",
|
||||
L"或只戴指拳套",// L" or brass knuckles",
|
||||
L"(戴铜指套时 +%d%s)",// L" (+%d%s with brass knuckles)",
|
||||
L"戴铜指套时获得额外的躲避几率 +%d%s\n",// L"+%d%s on top chance to dodge HtH attacks with brass knuckles\n",
|
||||
L"躲避冷兵器攻击的几率 +%d%s\n",// L"+%d%s chance to dodge attacks by any melee weapon\n",
|
||||
L"从敌人手里夺枪所需行动点 -%d%s\n",// L"-%d%s APs needed to steal weapon from enemy hands\n",
|
||||
L"站立、下蹲、卧倒、转身、爬上爬下和越过障碍所需行动点 -%d%s\n",// L"-%d%s APs needed to change state (stand, crouch, lie down), turn around, climb on/off roof and jump obstacles\n",
|
||||
L"站立、下蹲和卧倒所需行动点 -%d%s\n",// L"-%d%s APs needed to change state (stand, crouch, lie down)\n",
|
||||
L"转身所需行动点 -%d%s\n",// L"-%d%s APs needed to turn around\n",
|
||||
L"上/下房顶所需行动点 -%d%s\n",// L"-%d%s APs needed to climb on/off roof and jump obstacles\n",
|
||||
L"踢门成功率 +%d%s\n",// L"+%d%s chance to kick doors\n",
|
||||
L"你的格斗攻击将有特殊的动画效果 \n",// L"You gain special animations for hand to hand combat\n",
|
||||
L"移动时被中断的几率降低 -%d%s\n", // L"-%d%s chance to be interrupted when moving\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSquadleader[]=
|
||||
{
|
||||
L"所在区域内雇佣兵的最大行动点 +%d%s \n",// L"+%d%s APs per round of other mercs in vicinity\n",
|
||||
L"+%d等级,所在区域雇佣兵等级高于%s \n",//(程序参数问题只能用这个语序) L"+%d effective exp level of other mercs in vicinity, which have lesser level than the %s\n",
|
||||
L"+%d等级,所在区域雇佣兵火力压制奖励 \n",//(程序参数问题只能用这个语序) L"+%d effective exp level to count as a standby when counting friends' bonus for suppression\n",
|
||||
L"+%d%s 所在区域内雇佣兵和%s最高火力压制承受力 \n",//(程序参数问题只能用这个语序) L"+%d%s total suppression tolerance of other mercs in vicinity and %s himself\n",
|
||||
L"所在区域内雇佣兵的士气增加速度 +%d \n",// L"+%d morale gain of other mercs in vicinity\n",
|
||||
L"所在区域内雇佣兵的士气降低速度 -%d \n",// L"-%d morale loss of other mercs in vicinity\n",
|
||||
L"奖励范围是%d格",// L"The vicinity for bonuses is %d tiles",
|
||||
L"(装备电子耳机后奖励范围增加到%d格)",// L" (%d tiles with extended ears)",
|
||||
L"(叠加效果最多是%d次)\n",// L"(Max simultaneous bonuses for one soldier is %d)\n",
|
||||
L"+%d%s %s的恐惧抵抗力 \n",// (程序参数问题只能用这个语序) L"+%d%s fear resistence of %s\n",
|
||||
L"缺陷: 会给其他人造成%d倍的士气下降,如果%s阵亡的话 \n",//(程序参数问题只能用这个语序) L"Drawback: %dx morale loss for %s's death for all other mercs\n",
|
||||
L"触发小队集体中断几率 +%d%s \n", // L"+%d%s chance to trigger collective interrupts\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsTechnician[]=
|
||||
{
|
||||
L"维修速度 +%d%s \n",// L"+%d%s to repairing speed\n",
|
||||
L"开锁成功率 +%d%s(普通/电子锁)\n",// L"+%d%s to lockpicking (normal/electronic locks)\n",
|
||||
L"电子陷阱解除几率 +%d%s\n",// L"+%d%s to disarming electronic traps\n",
|
||||
L"组装物品和组合特殊物品成功率 +%d%s\n",// L"+%d%s to attaching special items and combining things\n",
|
||||
L"战斗中排除枪械故障的成功率 +%d%s\n",// L"+%d%s to unjamming a gun in combat\n",
|
||||
L"修理电子物品的惩罚 -%d%s\n",// L"Reduce penalty to repair electronic items by %d%s\n",
|
||||
L"增加发现陷阱和地雷的几率(洞察等级 +%d) \n",// L"Increased chance to detect traps and mines (+%d detect level)\n",
|
||||
L"机器人命中率 +%d%s(由%s控制时) \n",//(翻译注:程序参数问题只能用这个语序) L"+%d%s CtH of robot controlled by the %s\n",
|
||||
L"只有%s可以修理机器人\n",// L"%s trait grants you the ability to repair the robot\n",
|
||||
L"修理机器人的速度惩罚 -%d%s\n",// L"Reduced penalty to repair speed of the robot by %d%s\n",
|
||||
L"可以将物品修复到100%%的状态\n", //L"Able to restore item threshold to 100%% during repair\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsDoctor[]=
|
||||
{
|
||||
L"使用医疗包进行包扎时可以给伤者进行手术 \n",// L"Has ability to make surgical intervention by using medical bag on wounded soldier\n",
|
||||
L"手术会立即回复受损生命值的%d%s",// L"Surgery instantly returns %d%s of lost health back.",
|
||||
L"(同时大量消耗医疗包)",// L" (This drains the medical bag a lot.)",
|
||||
L"可治疗致命一击造成损失的属性点, 通过",// L"Can heal lost stats (from critical hits) by the",
|
||||
L"手术",// L" surgery or",
|
||||
L"或指派医生治疗 \n",// L" doctor assignment.\n",
|
||||
L"疗伤效率 +%d%s\n",// L"+%d%s effectiveness on doctor-patient assignment\n",
|
||||
L"包扎速度 +%d%s\n",// L"+%d%s bandaging speed\n",
|
||||
L"所在区域自然回复生命值速度 +%d%s",// L"+%d%s natural regeneration speed of all soldiers in the same sector",
|
||||
L"(这种效果最多叠加%d次)",// L" (max %d these bonuses per sector)",
|
||||
L"使用血袋时,可以额外恢复%d%s的生命值。\n", //L"Returned health can be boosted an additional %d%s by using blood bags.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsCovertOps[]=
|
||||
{
|
||||
L"可在敌后伪装成市民或敌军士兵 \n",//L"Can disguise as a civilian or soldier to slip behind enemy lines.\n",
|
||||
L"以下情况会暴露身份:可疑动作、可疑装备或者接近新鲜尸体 \n",//L"Will be detected if performing suspicious actions, having\nsuspicious gear or being near fresh corpses.\n",
|
||||
L"在靠近敌人%d格内伪装成士兵会被自动发现而暴露 \n",//L"Will automatically be detected if disguised as a soldier and\ncloser than %d tiles to the enemy.\n",
|
||||
L"在靠近尸体%d格内伪装成士兵会被自动发现而暴露 \n",//L"Will automatically be detected if disguised as a soldier and\ncloser than %d tiles to a fresh corpse.\n",
|
||||
L"伪装状态下使用近战武器攻击时,命中率增加 +%d%s \n",//L"+%d%s CTH with covert melee weapons\n",
|
||||
L"伪装状态下使用近战武器攻击时,秒杀几率增加 +%d%s \n",//L"+%d%s chance of instakill with covert melee weapons\n",
|
||||
L"伪装动作消耗的行动点 -%d%s \n",//L"Disguise AP cost lowered by %d%s.\n",
|
||||
L"能够说服敌军士兵成为我方卧底。\n", //L"Can convince enemy soldiers to secretly change sides.\n", TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]=
|
||||
{
|
||||
L"可以使用通讯设备 \n", //L"Can use communications equipment\n",
|
||||
L"可以呼叫临区盟友进行火炮攻击 \n", //L"Can call in artillery strikes from allies in neighbouring sectors.\n",
|
||||
L"可以通过通讯频率扫描任务定位敌军巡逻队 \n", //L"Via Frequency Scan assignment, enemy patrols can be located.\n",
|
||||
L"可以在分区范围内干扰通讯设备 \n", //L"Communications can be jammed sector-wide.\n",
|
||||
L"如果通讯受到干扰,操作员可以扫描到那个干扰设备 \n", //L"If communications are jammed, an operator can scan for the jamming device.\n",
|
||||
L"可以呼叫临区军队进行支援 \n", //L"Can call in militia reinforcements from neighbouring sectors.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"无奖励",// L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[]=
|
||||
{
|
||||
L"副手有装备时命中率惩罚 -%d%s \n", //L"Reduced penalty to shoot if offhand item is equipped by %d%s\n",
|
||||
L"弹匣类武器装填速度 +%d%s\n",// L"+%d%s speed of reloading guns with magazines\n",
|
||||
L"零散弹药装填速度 +%d%s\n",// L"+%d%s speed of reloading guns with loose rounds\n",
|
||||
L"拾物品所需行动点 -%d%s\n",// L"-%d%s APs needed to pickup items\n",
|
||||
L"使用大背包所需行动点 -%d%s\n",// L"-%d%s APs needed to work backpack\n",
|
||||
L"开门或关门所需行动点 -%d%s\n",// L"-%d%s APs needed to handle doors\n",
|
||||
L"安置/拆除炸弹和地雷所需行动点 -%d%s \n",// L"-%d%s APs needed to plant/remove bombs and mines\n",
|
||||
L"组装物品所需行动点 -%d%s\n",// L"-%d%s APs needed to attach items\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsMelee[]=
|
||||
{
|
||||
L"刀具攻击所需行动点 -%d%s\n",// L"-%d%s APs needed to attack by blades\n",
|
||||
L"刀具命中率 +%d%s\n",// L"+%d%s chance to hit with blades\n",
|
||||
L"钝器命中率 +%d%s\n",// L"+%d%s chance to hit with blunt melee weapons\n",
|
||||
L"刀具的杀伤力 +%d%s\n",// L"+%d%s damage of blades\n",
|
||||
L"钝器的杀伤力 +%d%s\n",// L"+%d%s damage of blunt melee weapons\n",
|
||||
L"近战武器精确瞄准后攻击伤害 +%d%s \n",// L"Aimed attack by any melee weapon deals +%d%s damage\n",
|
||||
L"躲避刀具攻击的几率 +%d%s\n",// L"+%d%s chance to dodge attack by melee blades\n",
|
||||
L"持刀状态下额外刀具攻击的几率 +%d%s \n",// L"+%d%s on top chance to dodge melee blades if having a blade in hands\n",
|
||||
L"躲避钝器攻击的几率 +%d%s\n",// L"+%d%s chance to dodge attack by blunt melee weapons\n",
|
||||
L"持刀状态下额外躲避钝器攻击的几率 +%d%s \n",// L"+%d%s on top chance to dodge blunt melee weapons if having a blade in hands\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsThrowing[]=
|
||||
{
|
||||
L"投掷飞刀所需基础行动点 -%d%s\n",// L"-%d%s basic APs needed to throw blades\n",
|
||||
L"飞刀的投掷最远距离 +%d%s\n",// L"+%d%s max range when throwing blades\n",
|
||||
L"飞刀的命中率 +%d%s\n",// L"+%d%s chance to hit when throwing blades\n",
|
||||
L"投掷飞刀时每次精确瞄准的命中率 +%d%s \n",// L"+%d%s chance to hit when throwing blades per aim click\n",
|
||||
L"飞刀的伤害 +%d%s\n",// L"+%d%s damage of throwing blades\n",
|
||||
L"投掷飞刀时每次精确瞄准的伤害 +%d%s \n",// L"+%d%s damage of throwing blades per aim click\n",
|
||||
L"未被发现时飞刀的致命一击率 +%d%s\n",// L"+%d%s chance to inflict critical hit by throwing blade if not seen or heard\n",
|
||||
L"飞刀致命一击的额外伤害倍率 +%d\n",// L"+%d critical hit by throwing blade multiplier\n",
|
||||
L"飞刀的最大精瞄次数 +%d\n",// L"Adds %d more aim click for throwing blades\n",
|
||||
L"飞刀的最大精瞄次数 +%d\n",// L"Adds %d more aim clicks for throwing blades\n",
|
||||
L"投掷手榴弹所需行动点 -%d%s\n",// L"-%d%s APs needed to throw grenades\n",
|
||||
L"手榴弹最远投掷距离 +%d%s\n",// L"+%d%s max range when throwing grenades\n",
|
||||
L"手榴弹的命中率 +%d%s\n",// L"+%d%s chance to hit when throwing grenades\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNightOps[]=
|
||||
{
|
||||
L"黑暗中视距 +%d\n",// L"+%d to effective sight range in dark\n",
|
||||
L"综合听力范围 +%d\n",// L"+%d to general effective hearing range\n",
|
||||
L"黑暗中额外听力范围 +%d \n",// L"+%d to effective hearing range in dark on top\n",
|
||||
L"黑暗中中断率 +%d\n",// L"+%d to interrupts modifier in dark\n",
|
||||
L"睡眠需求 -%d\n",// L"-%d need to sleep\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsStealthy[]=
|
||||
{
|
||||
L"潜行所需行动点 -%d%s\n",// L"-%d%s APs needed to move quietly\n",
|
||||
L"潜行保持无声的几率 +%d%s\n",// L"+%d%s chance to move quietly\n",
|
||||
L"隐蔽性 +%d%s (未发现时判定为“隐形”) \n",// L"+%d%s stealth (being 'invisible' if unnoticed)\n",
|
||||
L"移动对隐蔽程度的惩罚 -%d%s\n",// L"Reduced cover penalty for movement by %d%s\n",
|
||||
L"被敌人中断几率 -%d%s\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAthletics[]=
|
||||
{
|
||||
L"跑、走、蹲走、爬、游泳等动作所需的行动点 -%d%s \n",// L"-%d%s APs needed for moving (running, walking, swatting, crawling, swimming, etc.)\n",
|
||||
L"跳跃、游泳、翻墙等动作所消耗的体能 -%d%s\n",// L"-%d%s energy spent for movement, roof-climbing, obstacle-jumping, swimming, etc.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsBodybuilding[]=
|
||||
{
|
||||
L"伤害抵抗力 %d%s\n",// L"Has %d%s damage resistance\n",
|
||||
L"负重上限的有效力量 +%d%s\n",// L"+%d%s effective strength for carrying weight capacity \n",
|
||||
L"被徒手攻击造成的体力损失 -%d%s\n",// L"Reduced energy lost when hit by HtH attack by %d%s\n",
|
||||
L"被击中腿部致使倒地所需的伤害阈值 +%d%s \n",// L"Increased damage needed to fall down if hit to legs by %d%s\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsDemolitions[]=
|
||||
{
|
||||
L"安置的炸弹和地雷的伤害 +%d%s\n",// L"+%d%s damage of set bombs and mines\n",
|
||||
L"组合炸弹的成功率 +%d%s\n",// L"+%d%s to attaching detonators check\n",
|
||||
L"安置/拆除炸弹成功率 +%d%s\n",// L"+%d%s to planting/removing bombs check\n",
|
||||
L"降低敌人发现你的炸弹和地雷的几率(炸弹等级+%d) \n",// L"Decreases chance enemy will detect your bombs and mines (+%d bomb level)\n",
|
||||
L"提高定向爆破破门几率(伤害x%d)\n",// L"Increased chance shaped charge will open the doors (damage multiplied by %d)\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsTeaching[]=
|
||||
{
|
||||
L"训练民兵速度 +%d%s\n",// L"+%d%s bonus to militia training speed\n",
|
||||
L"训练民兵时领导值加成 +%d%s\n",// L"+%d%s bonus to effective leadership for determining militia training\n",
|
||||
L"训练其他雇佣兵的效率 +%d%s\n",// L"+%d%s bonus to teaching other mercs\n",
|
||||
L"训练其他人属性时, 教官自身的该项能力有效值 +%d \n",// L"Skill value counts to be +%d higher for being able to teach this skill to other mercs\n",
|
||||
L"自我锻炼效率 +%d%s\n",// L"+%d%s bonus to train stats through self-practising assignment\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsScouting[]=
|
||||
{
|
||||
L"武器上的瞄准镜有效视距 +%d%s \n",// L"+%d%% to effective sight range with scopes on weapons\n",
|
||||
L"望远镜和拆卸下来的瞄准镜有效视距 +%d%s \n",// L"+%d%% to effective sight range with binoculars (and scopes separated from weapons)\n",
|
||||
L"远镜和拆卸下来的瞄准镜的狭隘视野 -%d%s \n",// L"-%d%% tunnel vision with binoculars (and scopes separated from weapons)\n",
|
||||
L"显示邻近区域敌人的准确数量\n",// L"If in sector, adjacent sectors will show exact number of enemies\n",
|
||||
L"显示邻近区域敌人的存在\n",// L"If in sector, adjacent sectors will show presence of enemies if any\n",
|
||||
L"防止敌人偷袭你的队伍\n",// L"Prevents the enemy to ambush your squad\n",
|
||||
L"防止血猫偷袭你的队伍\n",// L"Prevents the bloodcats to ambush your squad\n",
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
|
||||
{
|
||||
L"偶尔会通知你在队伍中听到的意见。\n",
|
||||
L"阻止队员的失常行为(服用药物、酗酒或偷东西)。\n",
|
||||
L"可以在城镇派发传单。\n",
|
||||
L"可以在城镇搜集谣言。\n",
|
||||
L"可以在监狱当卧底。\n",
|
||||
L"如果士气好的话可以每天为你增加%d声誉。\n",
|
||||
L"有效听觉范围 +%d。\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSurvival[] =
|
||||
{
|
||||
L"队伍在区域间步行移动的速度 +%d%s \n",// L"+%d%s group travelling speed between sectors if traveling by foot\n",
|
||||
L"队伍在区域间乘车移动的速度 +%d%s \n",// L"+%d%s group travelling speed between sectors if traveling in vehicle (except helicopter)\n",
|
||||
L"区域间移动时体力消耗 -%d%s\n",// L"-%d%s less energy spent for travelling between sectors\n",
|
||||
L"天气效果惩罚 -%d%s\n",// L"-%d%s weather penalties\n",
|
||||
L"迷彩涂装退色的速度 -%d%s\n",// L"-%d%s worn out speed of camouflage by water or time\n",
|
||||
L"能够发现%d格之内的脚印 \n", //L"Can spot tracks up to %d tiles away\n",
|
||||
|
||||
L"疾病抗性 %s%d%%\n",//L" %s%d%% disease resistance\n",
|
||||
L"食物消耗 %s%d%%\n",//L" %s%d%% food consumption\n",
|
||||
L"水 消 耗 %s%d%%\n",//L" %s%d%% water consumption\n",
|
||||
L"回避几率 +%d%%\n", //L"+%d%% snake evasion\n",
|
||||
L"迷彩涂装效果 +%d%%\n",// L"+%d%s camouflage effectiveness\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"无奖励",// L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPOldSkillTraitsHelpTexts[]=
|
||||
{
|
||||
L"开锁成功率 +%d%s\n",// L"+%d%s bonus to lockpicking\n", // 0
|
||||
L"格斗命中率 +%d%s\n",// L"+%d%s hand to hand chance to hit\n",
|
||||
L"格斗伤害 +%d%s\n",// L"+%d%s hand to hand damage\n",
|
||||
L"格斗攻击躲避率 +%d%s\n",// L"+%d%s chance to dodge hand to hand attacks\n",
|
||||
L"消除修理和使用电子设备的惩罚(锁、陷阱、遥控引爆器、机器人等)\n",// L"Eliminates the penalty to repair and handle\nelectronic things (locks, traps, rem. detonators, robot, etc.)\n",
|
||||
L"黑暗中视距 +%d\n",// L"+%d to effective sight range in dark\n",
|
||||
L"综合听力范围 +%d\n",// L"+%d to general effective hearing range\n",
|
||||
L"黑暗中额外听力范围 +%d\n",// L"+%d to effective hearing range in dark on top\n",
|
||||
L"黑暗中中断率 +%d\n",// L"+%d to interrupts modifier in dark\n",
|
||||
L"睡眠的需求 -%d\n",// L"-%d need to sleep\n",
|
||||
L"投掷任何物体的最远距离 +%d%s\n",// L"+%d%s max range when throwing anything\n", // 10
|
||||
L"投掷任何物体的命中率 +%d%s\n",// L"+%d%s chance to hit when throwing anything\n",
|
||||
L"未被察觉时飞刀的一击必杀率 +%d%s\n",// L"+%d%s chance to instantly kill by throwing knife if not seen or heard\n",
|
||||
L"训练民兵和其他佣兵的速度 +%d%s\n",// L"+%d%s bonus to militia training and other mercs instructing speed\n",
|
||||
L"训练民兵时的有效领导能力 +%d%s\n",// L"+%d%s effective leadership for militia training calculations\n",
|
||||
L"火箭、榴弹和迫击炮的命中率 +%d%s\n",// L"+%d%s chance to hit with rocket/greande launchers and mortar\n",
|
||||
L"自动/点射模式命中惩罚除以%d\n",// L"Auto fire/burst chance to hit penalty is divided by %d\n",
|
||||
L"降低浪费子弹的几率\n",// L"Reduced chance for shooting unwanted bullets on autofire\n",
|
||||
L"潜行保持无声的几率 +%d%s\n",// L"+%d%s chance to move quietly\n",
|
||||
L"隐蔽性 +%d%s(没被发现判定为“隐身”)\n",// L"+%d%s stealth (being 'invisible' if unnoticed)\n",
|
||||
L"消除双持武器时的命中惩罚\n",// L"Eliminates the CtH penalty when firing two weapons at once\n", // 20
|
||||
L"刀具攻击的命中率 +%d%s\n",// L"+%d%s chance to hit with melee blades\n",
|
||||
L"持刀状态下躲避刀具攻击的几率 +%d%s\n",// L"+%d%s chance to dodge attacks by melee blades if having blade in hands\n",
|
||||
L"持其他非刀具物品状态下躲避刀具攻击的几率 +%d%s \n",// L"+%d%s chance to dodge attacks by melee blades if having anything else in hands\n",
|
||||
L"持刀状态下躲避格斗攻击的几率 +%d%s\n",// L"+%d%s chance to dodge hand to hand attacks if having blade in hands\n",
|
||||
L"所有武器的有效射程 -%d%s\n",// L"-%d%s effective range to target with all weapons\n",
|
||||
L"每次精瞄瞄准加成 +%d%s\n",// L"+%d%s aiming bonus per aim click\n",
|
||||
L"提供永久的迷彩涂装\n",// L"Provides permanent camouflage\n",
|
||||
L"格斗命中率 +%d%s\n",// L"+%d%s hand to hand chance to hit\n",
|
||||
L"格斗伤害 +%d%s\n",// L"+%d%s hand to hand damage\n",
|
||||
L"空手状态下躲避格斗攻击几率 +%d%s\n",// L"+%d%s chance to dodge hand to hand attacks if having empty hands\n", // 30
|
||||
L"非空手状态下躲避格斗攻击几率 +%d%s\n",// L"+%d%s chance to dodge hand to hand attacks if not having empty hands\n",
|
||||
L"躲避刀具攻击的几率 +%d%s\n",// L"+%d%s chance to dodge attacks by melee blades\n",
|
||||
L"可向虚弱的敌人施展回旋踢, 造成双倍的格斗伤害 \n",// L"Can perform spinning kick attack on weakened enemies to deal double damage\n",
|
||||
L"你将得到特别的格斗搏击动画效果\n",// L"You gain special animations for hand to hand combat\n",
|
||||
L"无奖励",// L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPNewCharacterTraitsHelpTexts[]=
|
||||
{
|
||||
L"优点:无。\n缺点:无。",// L"A: No advantage.\nD: No disadvantage.",
|
||||
L"优点:身边有多个佣兵时表现最佳。\n缺点:孤单一人时士气不会上升。",// L"A: Has better performance when couple of mercs are nearby.\nD: Gains no morale when no other merc is nearby.",
|
||||
L"优点:独自行动时表现最好。\n缺点:在团队中士气不会上升。",// L"A: Has better performance when no other merc is nearby.\nD: Gains no morale when in a group.",
|
||||
L"优点:士气上升得快,下降得慢。\n缺点:发现地雷和陷阱的几率降低了。",// L"A: His morale sinks a little slower and grows faster than normal.\nD: Has lesser chance to detect traps and mines.",
|
||||
L"优点:更善于训练民兵和跟别人交流。\n缺点:士气不会因为其他队员的行为而上升。",// L"A: Has bonus on training militia and is better at communication with people.\nD: Gains no morale for actions of other mercs.",
|
||||
L"优点:自我锻炼或学习效率略微提高。\n缺点:减少对恐惧和火力压制的承受力。",// L"A: Slightly faster learning when assigned on practicing or as a student.\nD: Has lesser suppression and fear resistance.",
|
||||
L"优点:减少一切行动的体能消耗(除了医疗、修理、训练民兵和学习某种技能)。\n缺点:智力、领导能力、爆破、修理和医疗技术提高得慢一些。",// L"A: His energy goes down a bit slower except on assignments as doctor, repairman, militia trainer or if learning certain skills.\nD: His wisdom, leadership, explosives, mechanical and medical skills improve slightly slower.",
|
||||
L"优点:点射/自动模式下命中率,近战杀伤力和消灭敌人所得的期望更高。\n缺点:需要耐心的行为会得到效率惩罚,比如修理、开锁、解除陷阱、医治和训练民兵。",// L"A: Has slightly better chance to hit on burst/autofire and inflicts slightly bigger damage in close combat\n Gains a little more morale for killing.\nD: Has penalty for actions which needs patience like repairing items, picking locks, removing traps, doctoring, training militia.",
|
||||
L"优点:需要耐心的工作会得到效率奖励,比如修理、撬锁、解除陷阱、医治和训练民兵。\n缺点:略微降低中断率。",// L"A: Has bonus for actions which needs patience like repairing items, picking locks, removing traps, doctoring and training militia.\nD: His interrupts chance is slightly lowered.",
|
||||
L"优点:增加对火力压制和恐惧的承受力。\n负伤其他佣兵阵亡对他的士气影响的也比较小。\n缺点:容易成为敌人的移动靶。",// L"A: Incresed resistance to suppression and fear.\n Morale loss for taking damage and companions deaths is lower for him.\nD: Can be hit easier and enemy penalty for moving target is lesser in his case.",
|
||||
L"优点:进行非战斗任务时士气会提升(除了训练民兵)。\n缺点:杀人不增加士气。",// L"A: He gains morale when on non-combat assignments (except training militia).\nD: Gains no morale for killing.",
|
||||
L"优点:攻击有更高的几率能造成受害者属性值降低,和更严重的创伤,同时提高自己的士气。\n缺点:与其他人交流是个问题,脱离战斗后士气也会快速下沉。",// L"A: Has bigger chance for inflicting stat loss and can inflict special painful wounds when able to\n Gains bonus morale for inflicting stat loss.\nD: Has penalty for communication with people and his morale sinks faster if not fighting.",
|
||||
L"优点:附近有异性佣兵时表现更佳。\n缺点:附近所有同性佣兵士气提升得慢。",// L"A: Has better performance when there are some mercs of opposite gender nearby.\nD: Morale of other mercs of the same gender grows slower if nearby.",
|
||||
L"优点:撤退时士气增加。\n缺点:敌众我寡时,会降低士气。", //L"A: Gains morale when retreating.\nD: Loses morale when encountering numerically superior enemy forces.",
|
||||
};
|
||||
|
||||
STR16 gzIMPDisabilitiesHelpTexts[]=
|
||||
{
|
||||
L"没有其它附加效果。",// L"No effects.",
|
||||
L"在热带或沙漠区域,会出现呼吸问题降低综合表现。",// L"Has problems with breathing and reduced overall performance if in tropical or desert sectors.",
|
||||
L"独自一人时可能会感到恐慌。",// L"Can suffer panic attack if left alone in certain situations.",
|
||||
L"在封闭空间或地下时会降低综合表现。",// L"His overall performance is reduced if underground.",
|
||||
L"在游泳时会轻易的溺水。",// L"If trying to swim he can easily drown.",
|
||||
L"看到大虫子后会六神无主,也会在热带地区降低综合表现。",// L"A look at large insects can make a big problems\nand being in tropical sectors also reduce his performance a bit.",
|
||||
L"偶尔会忘记手头的任务,也会在战斗中损失些行动点。",// L"Sometimes forgets what orders he got and therefore loses some APs if in combat.",
|
||||
L"偶尔会发疯并把手里的武器设为自动乱喷。\n如果武器不能自动射击将会打击自身士气。",// L"He can go psycho and shoot like mad once per a while\nand can lose morale if unable to do that with given weapon.",
|
||||
L"大大减少听力范围。", // L"Drastically reduced hearing.",
|
||||
L"减少视力范围。", // L"Reduced sight range.",
|
||||
L"大大增加流血速度。", //L"Drastically increased bleeding.",
|
||||
L"在房顶作战时会降低战斗力。", //L"Performance suffers while on a rooftop.",
|
||||
L"时不时自残。", //L"Occasionally harms self.",
|
||||
};
|
||||
|
||||
STR16 gzIMPProfileCostText[]=
|
||||
{
|
||||
L"客户您消费$%d。确认并付款?",//L"The profile cost is $%d. Do you authorize the payment?",
|
||||
};
|
||||
|
||||
STR16 zGioNewTraitsImpossibleText[]=
|
||||
{
|
||||
L"你在PROFEX组件被关闭的情况下无法选择新技能系统。请在JA2_Options.ini中检查READ_PROFILE_DATA_FROM_XML设定。",
|
||||
};
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//@@@: New string as of March 3, 2000.
|
||||
STR16 gzIronManModeWarningText[]=
|
||||
{
|
||||
L"你选择了铁人模式。这将会游戏变得相当有挑战性,因为你无法在敌人占据的分区存档。 这个设置会影响游戏的整个进程。你确认你要在铁人模式下进行游戏吗?",
|
||||
L"你选择了“假铁人”模式,这个设定会稍微加大对游戏的挑战性。因为你不可以在回合制的模式下存档,而且这个设定会在整个游戏过程生效,你确定要在“假铁人”模式下进行游戏?", //L"You have chosen SOFT IRON MAN mode. This setting makes the game slightly more challenging as you will not be able to save your game during turn-based combat. This setting will affect the entire course of the game. Are you sure want to play in SOFT IRON MAN mode?",
|
||||
L"你选择了“真铁人”模式,这个设定会加大游戏的挑战性。因为你只能在每天的%02d:00存档,而且这个设定会在整个游戏的过程生效,你确定要在“真铁人”模式下进行游戏?", //L"You have chosen EXTREME IRON MAN mode. This setting makes the game way more challenging as you will be able to save your progress only once per day - at %02d:00. This setting will affect the entire course of the game. Do you seriously want to play in EXTREME IRON MAN mode?",
|
||||
};
|
||||
|
||||
STR16 gzDisplayCoverText[]=
|
||||
{
|
||||
L"隐蔽程度: %d/100 %s, 光亮度: %d/100",
|
||||
L"武器射程: %d/%d 格, 命中率: %d/100",
|
||||
L"武器射程: %d/%d 格, 枪口稳定性: %d/100",
|
||||
L"关闭隐蔽程度显示",
|
||||
L"显示佣兵的视线",
|
||||
L"显示佣兵的隐蔽程度",
|
||||
L"丛林", //wanted to use jungle , but wood is shorter in german too (dschungel vs wald)
|
||||
L"城市",
|
||||
L"沙漠",
|
||||
L"雪地",
|
||||
L"树林和沙漠",
|
||||
L"树林和城市",
|
||||
L"树林和雪地",
|
||||
L"沙漠和城市",
|
||||
L"沙漠和雪地",
|
||||
L"城市和雪地",
|
||||
L"-", // yes empty for now
|
||||
L"覆盖: %d/100, 亮度: %d/100", //L"Cover: %d/100, Brightness: %d/100",
|
||||
L"步距", //L"Footstep volume",
|
||||
L"隐蔽难度", //L"Stealth difficulty",
|
||||
L"陷阱等级", //L"Trap level",
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,531 +0,0 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("DUTCH")
|
||||
|
||||
#include "Language Defines.h"
|
||||
#ifdef DUTCH
|
||||
#include "text.h"
|
||||
#include "Fileman.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25DutchText_public_symbol(void){;}
|
||||
|
||||
#ifdef DUTCH
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - New STOMP laptop strings
|
||||
//these strings match up with the defines in IMP Skill trait.cpp
|
||||
STR16 gzIMPSkillTraitsText[]=
|
||||
{
|
||||
// made this more elegant
|
||||
L"Lock Picking",
|
||||
L"Hand to Hand",
|
||||
L"Electronics",
|
||||
L"Night Operations",
|
||||
L"Throwing",
|
||||
L"Teaching",
|
||||
L"Heavy Weapons",
|
||||
L"Auto Weapons",
|
||||
L"Stealth",
|
||||
L"Ambidextrous",
|
||||
L"Knifing",
|
||||
L"Sniper",
|
||||
L"Camouflaged",
|
||||
L"Martial Arts",
|
||||
|
||||
L"None",
|
||||
L"I.M.P. Specialties",
|
||||
L"(Expert)",
|
||||
|
||||
};
|
||||
|
||||
//added another set of skill texts for new major traits
|
||||
STR16 gzIMPSkillTraitsTextNewMajor[]=
|
||||
{
|
||||
L"Auto Weapons",
|
||||
L"Heavy Weapons",
|
||||
L"Marksman",
|
||||
L"Hunter",
|
||||
L"Gunslinger",
|
||||
L"Hand to Hand",
|
||||
L"Deputy",
|
||||
L"Technician",
|
||||
L"Paramedic",
|
||||
L"Covert Ops", // TODO.Translate
|
||||
|
||||
L"None",
|
||||
L"I.M.P. Major Traits",
|
||||
// second names
|
||||
L"Machinegunner",
|
||||
L"Bombardier",
|
||||
L"Sniper",
|
||||
L"Ranger",
|
||||
L"Gunfighter",
|
||||
L"Martial Arts",
|
||||
L"Squadleader",
|
||||
L"Engineer",
|
||||
L"Doctor",
|
||||
L"Spy", // TODO.Translate
|
||||
};
|
||||
|
||||
//added another set of skill texts for new minor traits
|
||||
STR16 gzIMPSkillTraitsTextNewMinor[]=
|
||||
{
|
||||
L"Ambidextrous",
|
||||
L"Melee",
|
||||
L"Throwing",
|
||||
L"Night Ops",
|
||||
L"Stealthy",
|
||||
L"Athletics",
|
||||
L"Bodybuilding",
|
||||
L"Demolitions",
|
||||
L"Teaching",
|
||||
L"Scouting",
|
||||
L"Radio Operator",
|
||||
L"Survival", //TODO.Translate
|
||||
|
||||
L"None",
|
||||
L"I.M.P. Minor Traits",
|
||||
};
|
||||
|
||||
//these texts are for help popup windows, describing trait properties
|
||||
STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[]=
|
||||
{
|
||||
L"+%d%s CtH with Assault Rifles\n",
|
||||
L"+%d%s CtH with SMGs\n",
|
||||
L"+%d%s CtH with LMGs\n",
|
||||
L"-%d%s APs to fire LMGs on autofire or burst mode\n",
|
||||
L"-%d%s APs to ready LMGs\n",
|
||||
L"Auto fire/burst CtH penalty reduced by %d%s\n",
|
||||
L"Reduced chance for shooting extra bullets on autofire\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[]=
|
||||
{
|
||||
L"-%d%s APs to fire grenade launchers\n",
|
||||
L"-%d%s APs to fire rocket launchers\n",
|
||||
L"+%d%s CtH with grenade launchers\n",
|
||||
L"+%d%s CtH with rocket launchers\n",
|
||||
L"-%d%s APs to fire mortar\n",
|
||||
L"Reduced penalty for mortar CtH by %d%s\n",
|
||||
L"+%d%s damage to tanks with heavy weapons, grenades and explosives\n",
|
||||
L"+%d%s damage to other targets with heavy weapons\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSniper[]=
|
||||
{
|
||||
L"+%d%s CtH with Rifles\n",
|
||||
L"+%d%s CtH with Sniper Rifles\n",
|
||||
L"-%d%s effective range to target with all weapons\n",
|
||||
L"+%d%s aiming bonus per aim click (except for handguns)\n",
|
||||
L"+%d%s damage on shot",
|
||||
L" plus",
|
||||
L" per every aim click",
|
||||
L" after first",
|
||||
L" after second",
|
||||
L" after third",
|
||||
L" after fourth",
|
||||
L" after fifth",
|
||||
L" after sixth",
|
||||
L" after seventh",
|
||||
L"-%d%s APs to chamber a round with bolt-action rifles \n",
|
||||
L"Adds one more aim click for rifle-type guns\n",
|
||||
L"Adds %d more aim clicks for rifle-type guns\n",
|
||||
L"Makes aiming faster with rifle-type guns by one aim click\n",
|
||||
L"Makes aiming faster with rifle-type guns by %d aim clicks\n",
|
||||
L"Focus skill: +%d interrupt modifier in marked area\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
||||
{
|
||||
L"+%d%s CtH with Rifles\n",
|
||||
L"+%d%s CtH with Shotguns\n",
|
||||
L"-%d%s APs needed to pump Shotguns\n",
|
||||
L"-%d%s APs to fire Shotguns\n",
|
||||
L"Adds %d more aim click for Shotguns\n",
|
||||
L"Adds %d more aim clicks for Shotguns\n",
|
||||
L"+%d%s effective range with Shotguns\n",
|
||||
L"-%d%s APs to reload single Shotgun shells\n",
|
||||
L"Adds %d more aim click for Rifles\n",
|
||||
L"Adds %d more aim clicks for Rifles\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||
{
|
||||
L"-%d%s APs to fire with pistols and revolvers\n",
|
||||
L"+%d%s effective range with pistols and revolvers\n",
|
||||
L"+%d%s CtH with pistols and revolvers\n",
|
||||
L"+%d%s CtH with machine pistols",
|
||||
L" (on single shots only)",
|
||||
L"+%d%s aiming bonus per click with pistols, machine pistols and revolvers\n",
|
||||
L"-%d%s APs to ready pistols and revolvers\n",
|
||||
L"-%d%s APs to reload pistols, machine pistols and revolvers\n",
|
||||
L"Adds %d more aim click for pistols, machine pistols and revolvers\n",
|
||||
L"Adds %d more aim clicks for pistols, machine pistols and revolvers\n",
|
||||
L"Can fan the hammer with revolvers\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsMartialArts[]=
|
||||
{
|
||||
L"-%d%s AP for hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"+%d%s CtH with hand to hand attacks with bare hands\n",
|
||||
L"+%d%s CtH with hand to hand attacks with brass knuckles\n",
|
||||
L"+%d%s damage of hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"+%d%s breath damage of hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes slightly longer to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes longer to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes much longer to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes very long to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes extremely long to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes long hours to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks probably never stand up\n",
|
||||
L"Focused (aimed) punch deals +%d%s more damage\n",
|
||||
L"Special spinning kick deals +%d%s more damage\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks\n",
|
||||
L"+%d%s additional chance to dodge HtH attacks with bare hands",
|
||||
L" or brass knuckles",
|
||||
L" (+%d%s with brass knuckles)",
|
||||
L"+%d%s additional chance to dodge HtH attacks with brass knuckles\n",
|
||||
L"+%d%s chance to dodge attacks by any melee weapon\n",
|
||||
L"-%d%s APs to steal weapon from enemy hands\n",
|
||||
L"-%d%s APs to change stance (stand, crouch, lie down), turn around, climb on/off roof and jump obstacles\n",
|
||||
L"-%d%s APs to change stance (stand, crouch, lie down)\n",
|
||||
L"-%d%s APs to turn around\n",
|
||||
L"-%d%s APs to climb on/off roof and jump obstacles\n",
|
||||
L"+%d%s chance to kick open doors\n",
|
||||
L"Gains special animations for hand to hand combat\n",
|
||||
L"-%d%s chance to be interrupted when charging towards an enemy on close range\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSquadleader[]=
|
||||
{
|
||||
L"+%d%s APs per round of other mercs in vicinity\n",
|
||||
L"+%d effective exp level of other mercs in vicinity, which have lesser level than the %s\n",
|
||||
L"+%d effective exp level to count as a standby when counting friends' bonus for suppression\n",
|
||||
L"+%d%s total suppression tolerance for other mercs in the vicinity and %s himself\n",
|
||||
L"+%d morale gain for other mercs in the vicinity\n",
|
||||
L"-%d morale loss for other mercs in the vicinity\n",
|
||||
L"The vicinity for bonuses is %d tiles",
|
||||
L" (%d tiles with extended ears)",
|
||||
L"(Max simultaneous bonuses for one soldier is %d)\n",
|
||||
L"+%d%s fear resistence of %s\n",
|
||||
L"Drawback: %dx morale loss for %s's death for all other mercs\n",
|
||||
L"+%d%s chance to trigger collective interrupts\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsTechnician[]=
|
||||
{
|
||||
L"+%d%s to repair speed\n",
|
||||
L"+%d%s to lockpick (normal/electronic locks)\n",
|
||||
L"+%d%s to disarm electronic traps\n",
|
||||
L"+%d%s to attach special items and combining things\n",
|
||||
L"+%d%s to unjamm a gun in combat\n",
|
||||
L"Reduced penalty to repair electronic items by %d%s\n",
|
||||
L"Increased chance to detect traps and mines (+%d detect level)\n",
|
||||
L"+%d%s robot's CtH controlled by the %s\n",
|
||||
L"%s trait grants ability to repair the robot\n",
|
||||
L"Reduced penalty to repair speed of the robot by %d%s\n",
|
||||
L"Able to restore item threshold to 100%% during repair\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsDoctor[]=
|
||||
{
|
||||
L"Able to use medical bag to perform surgical intervention on wounded soldier\n",
|
||||
L"Surgery instantly returns %d%s of lost health back.",
|
||||
L" (This will deplete the medical bag.)",
|
||||
L"Able to heal lost stats (from critical hits) by",
|
||||
L" surgery or",
|
||||
L" doctor assignment.\n",
|
||||
L"+%d%s effectiveness on doctor-patient assignment\n",
|
||||
L"+%d%s bandaging speed\n",
|
||||
L"+%d%s natural regeneration speed for all soldiers in the same sector",
|
||||
L" (max %d of these bonuses per sector stack)",
|
||||
L"Returned health can be boosted an additional %d%s by using blood bags.\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsCovertOps[]=
|
||||
{
|
||||
L"Able to disguise as a civilian or soldier to slip behind enemy lines.\n",
|
||||
L"Will be detected if performing suspicious actions, having\nsuspicious gear or being near fresh corpses.\n",
|
||||
L"Will be detected if disguised as a soldier and\ncloser than %d tiles to the enemy.\n",
|
||||
L"Will be detected if disguised as a soldier and\ncloser than %d tiles to a fresh corpse.\n",
|
||||
L"+%d%s CtH with covert melee weapons\n",
|
||||
L"+%d%s chance of instakill with covert melee weapons\n",
|
||||
L"Disguise AP cost lowered by %d%s.\n",
|
||||
L"Can convince enemy soldiers to secretly change sides.\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]= // TODO.Translate
|
||||
{
|
||||
L"Can use communications equipment.\n",
|
||||
L"Can call in artillery strikes from allies in neighbouring sectors.\n",
|
||||
L"Via Frequency Scan assignment, enemy patrols can be located.\n",
|
||||
L"Communications can be jammed sector-wide.\n",
|
||||
L"If communications are jammed, an operator can scan for the jamming device.\n",
|
||||
L"Can call in militia reinforcements from neighbouring sectors.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[]=
|
||||
{
|
||||
L"Reduced penalty to shoot if offhand item is equipped by %d%s\n", // TODO.Translate
|
||||
L"+%d%s speed on reloading guns with magazines\n",
|
||||
L"+%d%s speed on reloading guns with loose rounds\n",
|
||||
L"-%d%s APs to pickup items\n",
|
||||
L"-%d%s APs to work backpack\n",
|
||||
L"-%d%s APs to handle doors\n",
|
||||
L"-%d%s APs to plant/remove bombs and mines\n",
|
||||
L"-%d%s APs to attach items\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsMelee[]=
|
||||
{
|
||||
L"-%d%s APs to attack with blades\n",
|
||||
L"+%d%s CtH with blades\n",
|
||||
L"+%d%s CtH with blunt melee weapons\n",
|
||||
L"+%d%s damage with blades\n",
|
||||
L"+%d%s damage with blunt melee weapons\n",
|
||||
L"Aimed attack with any melee weapon deals +%d%s damage\n",
|
||||
L"+%d%s chance to dodge attack from melee blades\n",
|
||||
L"+%d%s additional chance to dodge melee blades if holding a blade\n",
|
||||
L"+%d%s chance to dodge attack from blunt melee weapons\n",
|
||||
L"+%d%s additional chance to dodge blunt melee weapons if holding a blade\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsThrowing[]=
|
||||
{
|
||||
L"-%d%s basic APs to throw blades\n",
|
||||
L"+%d%s max range when throwing blades\n",
|
||||
L"+%d%s CtH when throwing blades\n",
|
||||
L"+%d%s CtH when throwing blades per aim click\n",
|
||||
L"+%d%s damage with throwing blades\n",
|
||||
L"+%d%s damage with throwing blades per aim click\n",
|
||||
L"+%d%s chance to inflict critical hit with throwing blade if not seen or heard\n",
|
||||
L"+%d critical hit with throwing blade multiplier\n",
|
||||
L"Adds %d more aim click for throwing blades\n",
|
||||
L"Adds %d more aim clicks for throwing blades\n",
|
||||
L"-%d%s APs to throw grenades\n",
|
||||
L"+%d%s max range when throwing grenades\n",
|
||||
L"+%d%s CtH when throwing grenades\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNightOps[]=
|
||||
{
|
||||
L"+%d to effective sight range in the dark\n",
|
||||
L"+%d to general effective hearing range\n",
|
||||
L"+%d additional hearing range in the dark\n",
|
||||
L"+%d to interrupts modifier in the dark\n",
|
||||
L"-%d need to sleep\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsStealthy[]=
|
||||
{
|
||||
L"-%d%s APs to move quietly\n",
|
||||
L"+%d%s chance to move quietly\n",
|
||||
L"+%d%s stealth (being 'invisible' if unnoticed)\n",
|
||||
L"Reduced cover penalty for movement by %d%s\n",
|
||||
L"-%d%s chance to be interrupted\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAthletics[]=
|
||||
{
|
||||
L"-%d%s APs for movement (running, walking, squatting, crawling, swimming, etc.)\n",
|
||||
L"-%d%s energy spent for moving, roof-climbing, obstacle-jumping, swimming, etc.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsBodybuilding[]=
|
||||
{
|
||||
L"%d%s damage resistance\n",
|
||||
L"+%d%s effective strength for carrying weight capacity\n",
|
||||
L"Reduced energy lost when hit by HtH attack by %d%s\n",
|
||||
L"Increased damage needed to fall down by %d%s if hit on legs\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsDemolitions[]=
|
||||
{
|
||||
L"+%d%s damage for set bombs and mines\n",
|
||||
L"+%d%s to attaching detonators check\n",
|
||||
L"+%d%s to planting/removing bombs check\n",
|
||||
L"Decreased chance of enemy detecting your bombs and mines (+%d bomb level)\n",
|
||||
L"Increased chance for shaped charge on opening doors (damage multiplied by %d)\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsTeaching[]=
|
||||
{
|
||||
L"+%d%s bonus to militia training speed\n",
|
||||
L"+%d%s bonus to effective leadership for determining militia training\n",
|
||||
L"+%d%s bonus to teach other mercs\n",
|
||||
L"Skill value treated to be +%d higher for being able to teach this skill to other mercs\n",
|
||||
L"+%d%s bonus to train stats through self-practice assignment\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsScouting[]=
|
||||
{
|
||||
L"+%d%% to effective sight range with scopes on weapons\n",
|
||||
L"+%d%% to effective sight range with binoculars (and scopes separated from weapons)\n",
|
||||
L"-%d%% tunnel vision with binoculars (and scopes separated from weapons)\n",
|
||||
L"If in sector, adjacent sectors will show exact number of enemies\n",
|
||||
L"If in sector, adjacent sectors will show presence of enemies, if any\n",
|
||||
L"Prevents enemy ambushes on your squad\n",
|
||||
L"Prevents bloodcat ambushes on your squad\n",
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
|
||||
{
|
||||
L"Will occasionally inform you about his teammates' opinions.\n", // TODO.Translate
|
||||
L"Prevents teammates' misbehaviour (drugs, alcohol, scrounging).\n", // TODO.Translate
|
||||
L"Can spread propaganda in towns.\n", // TODO.Translate
|
||||
L"Can gather rumours in towns.\n", // TODO.Translate
|
||||
L"Can be put undercover in prisons.\n", // TODO.Translate
|
||||
L"Increases your reputation by %d every day if in good morale.\n", // TODO.Translate
|
||||
L"+%d to effective hearing range\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSurvival[] = // TODO.Translate
|
||||
{
|
||||
L"-%d%s travel time needed between sectors if traveling by foot\n",
|
||||
L"-%d%s travel time needed between sectors if traveling in vehicle (except helicopter)\n",
|
||||
L"-%d%s less energy spent for travelling between sectors\n",
|
||||
L"-%d%s weather penalties\n",
|
||||
L"-%d%s worn out speed of camouflage by water or time\n",
|
||||
L"Can spot tracks up to %d tiles away\n",
|
||||
|
||||
L"%s%d%% disease resistance\n",
|
||||
L"%s%d%% food consumption\n",
|
||||
L"%s%d%% water consumption\n",
|
||||
L"+%d%% snake evasion\n", // TODO.Translate
|
||||
L"+%d%% camouflage effectiveness\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPOldSkillTraitsHelpTexts[]=
|
||||
{
|
||||
L"+%d%s bonus to lockpicking\n", // 0
|
||||
L"+%d%s hand to hand chance to hit\n",
|
||||
L"+%d%s hand to hand damage\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks\n",
|
||||
L"Eliminates penalty to repair and handle\nelectronic things (locks, traps, rem. detonators, robot, etc.)\n",
|
||||
L"+%d to effective sight range in the dark\n",
|
||||
L"+%d to general effective hearing range\n",
|
||||
L"+%d extra hearing range in the dark\n",
|
||||
L"+%d to interrupts modifier in the dark\n",
|
||||
L"-%d need to sleep\n",
|
||||
L"+%d%s max range when throwing anything\n", // 10
|
||||
L"+%d%s chance to hit when throwing anything\n",
|
||||
L"+%d%s chance to instantly kill by throwing knife if not seen or heard\n",
|
||||
L"+%d%s bonus to militia training and other mercs instructing speed\n",
|
||||
L"+%d%s effective leadership for militia training calculations\n",
|
||||
L"+%d%s chance to hit with rocket/grenade launchers and mortar\n",
|
||||
L"Auto fire/burst chance to hit penalty is divided by %d\n",
|
||||
L"Reduced chance for shooting unwanted bullets on autofire\n",
|
||||
L"+%d%s chance to move quietly\n",
|
||||
L"+%d%s stealth (being 'invisible' if unnoticed)\n",
|
||||
L"Eliminates CtH penalty when firing two weapons at once\n", // 20
|
||||
L"+%d%s chance to hit with melee blades\n",
|
||||
L"+%d%s chance to dodge attacks by melee blades if having blade in hands\n",
|
||||
L"+%d%s chance to dodge attacks by melee blades if having anything else in hands\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks if having blade in hands\n",
|
||||
L"-%d%s effective range to target with all weapons\n",
|
||||
L"+%d%s aiming bonus per aim click\n",
|
||||
L"Provides permanent camouflage\n",
|
||||
L"+%d%s hand to hand chance to hit\n",
|
||||
L"+%d%s hand to hand damage\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks if having empty hands\n", // 30
|
||||
L"+%d%s chance to dodge hand to hand attacks if not having empty hands\n",
|
||||
L"+%d%s chance to dodge attacks by melee blades\n",
|
||||
L"Can perform spinning kick attack on weakened enemies to deal double damage\n",
|
||||
L"Gains special animations for hand to hand combat\n",
|
||||
L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPNewCharacterTraitsHelpTexts[]=
|
||||
{
|
||||
L"A: No advantage.\nD: No disadvantage.",
|
||||
L"A: Better performance when a couple of mercs are nearby.\nD: Gains no morale when no other merc is nearby.",
|
||||
L"A: Better performance when no other merc is nearby.\nD: Gains no morale when in a group.",
|
||||
L"A: Morale sinks a little slower and grows faster than normal.\nD: Lower chance to detect traps and mines.",
|
||||
L"A: Bonus on training militia and is better at communicating with people.\nD: Gains no morale for actions of other mercs.",
|
||||
L"A: Slightly faster learning when self-practicing or as a student.\nD: Lower suppression and fear resistance.",
|
||||
L"A: Energy goes down a bit slower except on assignments such as doctor, repairman, militia trainer or if learning certain skills.\nD: Wisdom, leadership, explosives, mechanical and medical skills improve slightly slower.",
|
||||
L"A: Slightly better CtH on burst/autofire and inflicts slightly bigger damage in close combat\n Gains a little more morale for killing.\nD: Penalty for actions that need patience like repairing items, picking locks, removing traps, doctoring, training militia.",
|
||||
L"A: Bonus for actions that need patience like repairing items, picking locks, removing traps, doctoring and training militia.\nD: Interrupt chance is slightly lowered.",
|
||||
L"A: Higher suppression and fear resistance.\n Morale loss for taking damage and companions deaths is lower.\nD: Higher chance to be hit and enemy's penalty reduced when oneself is the moving target.",
|
||||
L"A: Gains morale on non-combat assignments (except training militia).\nD: Gains no morale for killing.",
|
||||
L"A: Higher chance for inflicting stat loss, which may also inflict special painful wounds.\n Gains bonus morale for inflicting stat loss.\nD: Penalty in communicating with people and morale sinks faster while not in battle.",
|
||||
L"A: Better performance when mercs of opposite gender are nearby.\nD: Morale for mercs of the same gender grows slower when nearby.",
|
||||
L"A: Gains morale when retreating.\nD: Loses morale when encountering numerically superior enemy forces.", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPDisabilitiesHelpTexts[]=
|
||||
{
|
||||
L"No effects.",
|
||||
L"Problems with breathing and reduced overall performance when in tropical or desert sectors.",
|
||||
L"Will suffer panic attack if left alone in certain situations.",
|
||||
L"Overall performance is reduced when underground.",
|
||||
L"Will drown easily if attempt to swim.",
|
||||
L"A look at large insects can cause big problems\nand being in tropical sectors also reduces performance a bit.",
|
||||
L"Sometimes forgets orders given and will lose some APs if it happens in combat.",
|
||||
L"Will go psycho and shoot like mad once in a while\nand will lose morale if unable to do so with equipped weapon.",
|
||||
L"Drastically reduced hearing.",
|
||||
L"Reduced sight range.",
|
||||
L"Drastically increased bleeding.", // TODO.Translate
|
||||
L"Performance suffers while on a rooftop.", // TODO.Translate
|
||||
L"Occasionally harms self.",
|
||||
};
|
||||
|
||||
|
||||
STR16 gzIMPProfileCostText[]=
|
||||
{
|
||||
L"The profile cost is $%d. Authorize payment?",
|
||||
};
|
||||
|
||||
STR16 zGioNewTraitsImpossibleText[]=
|
||||
{
|
||||
L"You cannot choose the New Trait System with PROFEX utility deactivated. Check your JA2_Options.ini for entry: READ_PROFILE_DATA_FROM_XML.",
|
||||
};
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//@@@: New string as of March 3, 2000.
|
||||
STR16 gzIronManModeWarningText[]=
|
||||
{
|
||||
L"You have chosen IRON MAN mode. This setting makes the game considerably more challenging as you will not be able to save your game when in a sector occupied by enemies. This setting will affect the entire course of the game. Are you sure want to play in IRON MAN mode?",
|
||||
L"You have chosen SOFT IRON MAN mode. This setting makes the game slightly more challenging as you will not be able to save your game during turn-based combat. This setting will affect the entire course of the game. Are you sure want to play in SOFT IRON MAN mode?",// TODO.Translate
|
||||
L"You have chosen EXTREME IRON MAN mode. This setting makes the game way more challenging as you will be able to save your progress only once per day - at %02d:00. This setting will affect the entire course of the game. Do you seriously want to play in EXTREME IRON MAN mode?",// TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzDisplayCoverText[]=
|
||||
{
|
||||
L"Cover: %d/100 %s, Brightness: %d/100",
|
||||
L"Gun Range: %d/%d tiles, Chance to hit: %d/100",
|
||||
L"Gun Range: %d/%d tiles, Muzzle Stability: %d/100",
|
||||
L"Disabling cover display",
|
||||
L"Showing mercenary view",
|
||||
L"Showing danger zones for mercenary",
|
||||
L"Wood", // wanted to use jungle , but wood is shorter in german too (dschungel vs wald)
|
||||
L"Urban",
|
||||
L"Desert",
|
||||
L"Snow",
|
||||
L"Wood and Desert",
|
||||
L"Wood and Urban",
|
||||
L"Wood and Snow",
|
||||
L"Desert and Urban",
|
||||
L"Desert and Snow",
|
||||
L"Urban and Snow",
|
||||
L"-", // yes empty for now // TODO.Translate
|
||||
L"Cover: %d/100, Brightness: %d/100",
|
||||
L"Footstep volume",
|
||||
L"Stealth difficulty",
|
||||
L"Trap level",
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,87 +0,0 @@
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#define _JA25ENGLISHTEXT__H_
|
||||
|
||||
extern STR16 gzIMPSkillTraitsText[];
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// added by SANDRO
|
||||
extern STR16 gzIMPSkillTraitsTextNewMajor[];
|
||||
extern STR16 gzIMPSkillTraitsTextNewMinor[];
|
||||
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSniper[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRanger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsGunslinger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsMartialArts[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSquadleader[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsTechnician[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsDoctor[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsCovertOps[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsNone[];
|
||||
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsMelee[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsThrowing[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsStealthy[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNightOps[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAthletics[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsBodybuilding[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsDemolitions[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsTeaching[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsScouting[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsSnitch[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSurvival[]; // added by Flugente
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNone[];
|
||||
|
||||
extern STR16 gzIMPOldSkillTraitsHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPNewCharacterTraitsHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPDisabilitiesHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPProfileCostText[];
|
||||
|
||||
extern STR16 zGioNewTraitsImpossibleText[];
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
{
|
||||
IMM__IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__SOFT_IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__EXTREME_IRON_MAN_MODE_WARNING_TEXT,
|
||||
};
|
||||
extern STR16 gzIronManModeWarningText[];
|
||||
|
||||
// display cover message (for tactical usually, seperated)
|
||||
// display cover terrain type info (used in cover information)
|
||||
enum
|
||||
{
|
||||
DC_MSG__COVER_INFORMATION,
|
||||
DC_MSG__GUN_RANGE_INFORMATION,
|
||||
DC_MSG__NCTH_GUN_RANGE_INFORMATION,
|
||||
DC_MSG__COVER_DRAW_OFF,
|
||||
DC_MSG__COVER_DRAW_MERC_VIEW,
|
||||
DC_MSG__COVER_DRAW_ENEMY_VIEW,
|
||||
DC_TTI__WOOD,
|
||||
DC_TTI__URBAN,
|
||||
DC_TTI__DESERT,
|
||||
DC_TTI__SNOW,
|
||||
DC_TTI__WOOD_AND_DESERT,
|
||||
DC_TTI__WOOD_AND_URBAN,
|
||||
DC_TTI__WOOD_AND_SNOW,
|
||||
DC_TTI__DESERT_AND_URBAN,
|
||||
DC_TTI__DESERT_AND_SNOW,
|
||||
DC_TTI__URBAN_AND_SNOW,
|
||||
DC_TTI__UNKNOWN,
|
||||
DC_MSG__COVER_INFORMATION_WITH_DETAILED_CAMO,
|
||||
DC_TTI__DETAILED_SOUND,
|
||||
DC_TTI__DETAILED_STEALTH,
|
||||
DC_TTI__DETAILED_TRAP_LEVEL,
|
||||
};
|
||||
extern STR16 gzDisplayCoverText[];
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,529 +0,0 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("ENGLISH")
|
||||
|
||||
#include "Language Defines.h"
|
||||
#ifdef ENGLISH
|
||||
#include "text.h"
|
||||
#include "Fileman.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25EnglishText_public_symbol(void);
|
||||
|
||||
#ifdef ENGLISH
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - New STOMP laptop strings
|
||||
//these strings match up with the defines in IMP Skill trait.cpp
|
||||
STR16 gzIMPSkillTraitsText[]=
|
||||
{
|
||||
// made this more elegant
|
||||
L"Lock Picking",
|
||||
L"Hand to Hand",
|
||||
L"Electronics",
|
||||
L"Night Operations",
|
||||
L"Throwing",
|
||||
L"Teaching",
|
||||
L"Heavy Weapons",
|
||||
L"Auto Weapons",
|
||||
L"Stealth",
|
||||
L"Ambidextrous",
|
||||
L"Knifing",
|
||||
L"Sniper",
|
||||
L"Camouflaged",
|
||||
L"Martial Arts",
|
||||
|
||||
L"None",
|
||||
L"I.M.P. Specialties",
|
||||
L"(Expert)",
|
||||
|
||||
};
|
||||
|
||||
//added another set of skill texts for new major traits
|
||||
STR16 gzIMPSkillTraitsTextNewMajor[]=
|
||||
{
|
||||
L"Auto Weapons",
|
||||
L"Heavy Weapons",
|
||||
L"Marksman",
|
||||
L"Hunter",
|
||||
L"Gunslinger",
|
||||
L"Hand to Hand",
|
||||
L"Deputy",
|
||||
L"Technician",
|
||||
L"Paramedic",
|
||||
L"Covert Ops",
|
||||
|
||||
L"None",
|
||||
L"I.M.P. Major Traits",
|
||||
// second names
|
||||
L"Machinegunner",
|
||||
L"Bombardier",
|
||||
L"Sniper",
|
||||
L"Ranger",
|
||||
L"Gunfighter",
|
||||
L"Martial Arts",
|
||||
L"Squadleader",
|
||||
L"Engineer",
|
||||
L"Doctor",
|
||||
L"Spy",
|
||||
};
|
||||
|
||||
//added another set of skill texts for new minor traits
|
||||
STR16 gzIMPSkillTraitsTextNewMinor[]=
|
||||
{
|
||||
L"Ambidextrous",
|
||||
L"Melee",
|
||||
L"Throwing",
|
||||
L"Night Ops",
|
||||
L"Stealthy",
|
||||
L"Athletics",
|
||||
L"Bodybuilding",
|
||||
L"Demolitions",
|
||||
L"Teaching",
|
||||
L"Scouting",
|
||||
L"Radio Operator",
|
||||
L"Survival",
|
||||
|
||||
L"None",
|
||||
L"I.M.P. Minor Traits",
|
||||
};
|
||||
|
||||
//these texts are for help popup windows, describing trait properties
|
||||
STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[]=
|
||||
{
|
||||
L"+%d%s CtH with Assault Rifles\n",
|
||||
L"+%d%s CtH with SMGs\n",
|
||||
L"+%d%s CtH with LMGs\n",
|
||||
L"-%d%s APs to fire LMGs on autofire or burst mode\n",
|
||||
L"-%d%s APs to ready LMGs\n",
|
||||
L"Auto fire/burst CtH penalty reduced by %d%s\n",
|
||||
L"Reduced chance for shooting extra bullets on autofire\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[]=
|
||||
{
|
||||
L"-%d%s APs to fire grenade launchers\n",
|
||||
L"-%d%s APs to fire rocket launchers\n",
|
||||
L"+%d%s CtH with grenade launchers\n",
|
||||
L"+%d%s CtH with rocket launchers\n",
|
||||
L"-%d%s APs to fire mortar\n",
|
||||
L"Reduced penalty for mortar CtH by %d%s\n",
|
||||
L"+%d%s damage to tanks with heavy weapons, grenades and explosives\n",
|
||||
L"+%d%s damage to other targets with heavy weapons\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSniper[]=
|
||||
{
|
||||
L"+%d%s CtH with Rifles\n",
|
||||
L"+%d%s CtH with Sniper Rifles\n",
|
||||
L"-%d%s effective range to target with all weapons\n",
|
||||
L"+%d%s aiming bonus per aim click (except for handguns)\n",
|
||||
L"+%d%s damage on shot",
|
||||
L" plus",
|
||||
L" per every aim click",
|
||||
L" after first",
|
||||
L" after second",
|
||||
L" after third",
|
||||
L" after fourth",
|
||||
L" after fifth",
|
||||
L" after sixth",
|
||||
L" after seventh",
|
||||
L"-%d%s APs to chamber a round with bolt-action rifles \n",
|
||||
L"Adds one more aim click for rifle-type guns\n",
|
||||
L"Adds %d more aim clicks for rifle-type guns\n",
|
||||
L"Makes aiming faster with rifle-type guns by one aim click\n",
|
||||
L"Makes aiming faster with rifle-type guns by %d aim clicks\n",
|
||||
L"Focus skill: +%d interrupt modifier in marked area\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
||||
{
|
||||
L"+%d%s CtH with Rifles\n",
|
||||
L"+%d%s CtH with Shotguns\n",
|
||||
L"-%d%s APs needed to pump Shotguns\n",
|
||||
L"-%d%s APs to fire Shotguns\n",
|
||||
L"Adds %d more aim click for Shotguns\n",
|
||||
L"Adds %d more aim clicks for Shotguns\n",
|
||||
L"+%d%s effective range with Shotguns\n",
|
||||
L"-%d%s APs to reload single Shotgun shells\n",
|
||||
L"Adds %d more aim click for Rifles\n",
|
||||
L"Adds %d more aim clicks for Rifles\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||
{
|
||||
L"-%d%s APs to fire with pistols and revolvers\n",
|
||||
L"+%d%s effective range with pistols and revolvers\n",
|
||||
L"+%d%s CtH with pistols and revolvers\n",
|
||||
L"+%d%s CtH with machine pistols",
|
||||
L" (on single shots only)",
|
||||
L"+%d%s aiming bonus per click with pistols, machine pistols and revolvers\n",
|
||||
L"-%d%s APs to ready pistols and revolvers\n",
|
||||
L"-%d%s APs to reload pistols, machine pistols and revolvers\n",
|
||||
L"Adds %d more aim click for pistols, machine pistols and revolvers\n",
|
||||
L"Adds %d more aim clicks for pistols, machine pistols and revolvers\n",
|
||||
L"Can fan the hammer with revolvers\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsMartialArts[]=
|
||||
{
|
||||
L"-%d%s AP for hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"+%d%s CtH with hand to hand attacks with bare hands\n",
|
||||
L"+%d%s CtH with hand to hand attacks with brass knuckles\n",
|
||||
L"+%d%s damage of hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"+%d%s breath damage of hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes slightly longer to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes longer to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes much longer to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes very long to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes extremely long to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes long hours to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks probably never stand up\n",
|
||||
L"Focused (aimed) punch deals +%d%s more damage\n",
|
||||
L"Special spinning kick deals +%d%s more damage\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks\n",
|
||||
L"+%d%s additional chance to dodge HtH attacks with bare hands",
|
||||
L" or brass knuckles",
|
||||
L" (+%d%s with brass knuckles)",
|
||||
L"+%d%s additional chance to dodge HtH attacks with brass knuckles\n",
|
||||
L"+%d%s chance to dodge attacks by any melee weapon\n",
|
||||
L"-%d%s APs to steal weapon from enemy hands\n",
|
||||
L"-%d%s APs to change stance (stand, crouch, lie down), turn around, climb on/off roof and jump obstacles\n",
|
||||
L"-%d%s APs to change stance (stand, crouch, lie down)\n",
|
||||
L"-%d%s APs to turn around\n",
|
||||
L"-%d%s APs to climb on/off roof and jump obstacles\n",
|
||||
L"+%d%s chance to kick open doors\n",
|
||||
L"Gains special animations for hand to hand combat\n",
|
||||
L"-%d%s chance to be interrupted when charging towards an enemy on close range\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSquadleader[]=
|
||||
{
|
||||
L"+%d%s APs per round of other mercs in vicinity\n",
|
||||
L"+%d effective exp level of other mercs in vicinity, which have lesser level than the %s\n",
|
||||
L"+%d effective exp level to count as a standby when counting friends' bonus for suppression\n",
|
||||
L"+%d%s total suppression tolerance for other mercs in the vicinity and %s himself\n",
|
||||
L"+%d morale gain for other mercs in the vicinity\n",
|
||||
L"-%d morale loss for other mercs in the vicinity\n",
|
||||
L"The vicinity for bonuses is %d tiles",
|
||||
L" (%d tiles with extended ears)",
|
||||
L"(Max simultaneous bonuses for one soldier is %d)\n",
|
||||
L"+%d%s fear resistence of %s\n",
|
||||
L"Drawback: %dx morale loss for %s's death for all other mercs\n",
|
||||
L"+%d%s chance to trigger collective interrupts\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsTechnician[]=
|
||||
{
|
||||
L"+%d%s to repair speed\n",
|
||||
L"+%d%s to lockpick (normal/electronic locks)\n",
|
||||
L"+%d%s to disarm electronic traps\n",
|
||||
L"+%d%s to attach special items and combining things\n",
|
||||
L"+%d%s to unjamm a gun in combat\n",
|
||||
L"Reduced penalty to repair electronic items by %d%s\n",
|
||||
L"Increased chance to detect traps and mines (+%d detect level)\n",
|
||||
L"+%d%s robot's CtH controlled by the %s\n",
|
||||
L"%s trait grants ability to repair the robot\n",
|
||||
L"Reduced penalty to repair speed of the robot by %d%s\n",
|
||||
L"Able to restore item threshold to 100%% during repair\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsDoctor[]=
|
||||
{
|
||||
L"Able to use medical bag to perform surgical intervention on wounded soldier\n",
|
||||
L"Surgery instantly returns %d%s of lost health back.",
|
||||
L" (This will deplete the medical bag.)",
|
||||
L"Able to heal lost stats (from critical hits) by",
|
||||
L" surgery or",
|
||||
L" doctor assignment.\n",
|
||||
L"+%d%s effectiveness on doctor-patient assignment\n",
|
||||
L"+%d%s bandaging speed\n",
|
||||
L"+%d%s natural regeneration speed for all soldiers in the same sector",
|
||||
L" (max %d of these bonuses per sector stack)",
|
||||
L"Returned health can be boosted an additional %d%s by using blood bags.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsCovertOps[]=
|
||||
{
|
||||
L"Able to disguise as a civilian or soldier to slip behind enemy lines.\n",
|
||||
L"Will be detected if performing suspicious actions, having\nsuspicious gear or being near fresh corpses.\n",
|
||||
L"Will be detected if disguised as a soldier and\ncloser than %d tiles to the enemy.\n",
|
||||
L"Will be detected if disguised as a soldier and\ncloser than %d tiles to a fresh corpse.\n",
|
||||
L"+%d%s CtH with covert melee weapons\n",
|
||||
L"+%d%s chance of instakill with covert melee weapons\n",
|
||||
L"Disguise AP cost lowered by %d%s.\n",
|
||||
L"Can convince enemy soldiers to secretly change sides.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]=
|
||||
{
|
||||
L"Can use communications equipment.\n",
|
||||
L"Can call in artillery strikes from allies in neighbouring sectors.\n",
|
||||
L"Via Frequency Scan assignment, enemy patrols can be located.\n",
|
||||
L"Communications can be jammed sector-wide.\n",
|
||||
L"If communications are jammed, an operator can scan for the jamming device.\n",
|
||||
L"Can call in militia reinforcements from neighbouring sectors.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[]=
|
||||
{
|
||||
L"Reduced penalty to shoot if offhand item is equipped by %d%s\n",
|
||||
L"+%d%s speed on reloading guns with magazines\n",
|
||||
L"+%d%s speed on reloading guns with loose rounds\n",
|
||||
L"-%d%s APs to pickup items\n",
|
||||
L"-%d%s APs to work backpack\n",
|
||||
L"-%d%s APs to handle doors\n",
|
||||
L"-%d%s APs to plant/remove bombs and mines\n",
|
||||
L"-%d%s APs to attach items\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsMelee[]=
|
||||
{
|
||||
L"-%d%s APs to attack with blades\n",
|
||||
L"+%d%s CtH with blades\n",
|
||||
L"+%d%s CtH with blunt melee weapons\n",
|
||||
L"+%d%s damage with blades\n",
|
||||
L"+%d%s damage with blunt melee weapons\n",
|
||||
L"Aimed attack with any melee weapon deals +%d%s damage\n",
|
||||
L"+%d%s chance to dodge attack from melee blades\n",
|
||||
L"+%d%s additional chance to dodge melee blades if holding a blade\n",
|
||||
L"+%d%s chance to dodge attack from blunt melee weapons\n",
|
||||
L"+%d%s additional chance to dodge blunt melee weapons if holding a blade\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsThrowing[]=
|
||||
{
|
||||
L"-%d%s basic APs to throw blades\n",
|
||||
L"+%d%s max range when throwing blades\n",
|
||||
L"+%d%s CtH when throwing blades\n",
|
||||
L"+%d%s CtH when throwing blades per aim click\n",
|
||||
L"+%d%s damage with throwing blades\n",
|
||||
L"+%d%s damage with throwing blades per aim click\n",
|
||||
L"+%d%s chance to inflict critical hit with throwing blade if not seen or heard\n",
|
||||
L"+%d critical hit with throwing blade multiplier\n",
|
||||
L"Adds %d more aim click for throwing blades\n",
|
||||
L"Adds %d more aim clicks for throwing blades\n",
|
||||
L"-%d%s APs to throw grenades\n",
|
||||
L"+%d%s max range when throwing grenades\n",
|
||||
L"+%d%s CtH when throwing grenades\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNightOps[]=
|
||||
{
|
||||
L"+%d to effective sight range in the dark\n",
|
||||
L"+%d to general effective hearing range\n",
|
||||
L"+%d additional hearing range in the dark\n",
|
||||
L"+%d to interrupts modifier in the dark\n",
|
||||
L"-%d need to sleep\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsStealthy[]=
|
||||
{
|
||||
L"-%d%s APs to move quietly\n",
|
||||
L"+%d%s chance to move quietly\n",
|
||||
L"+%d%s stealth (being 'invisible' if unnoticed)\n",
|
||||
L"Reduced cover penalty for movement by %d%s\n",
|
||||
L"-%d%s chance to be interrupted\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAthletics[]=
|
||||
{
|
||||
L"-%d%s APs for movement (running, walking, squatting, crawling, swimming, etc.)\n",
|
||||
L"-%d%s energy spent for moving, roof-climbing, obstacle-jumping, swimming, etc.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsBodybuilding[]=
|
||||
{
|
||||
L"%d%s damage resistance\n",
|
||||
L"+%d%s effective strength for carrying weight capacity\n",
|
||||
L"Reduced energy lost when hit by HtH attack by %d%s\n",
|
||||
L"Increased damage needed to fall down by %d%s if hit on legs\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsDemolitions[]=
|
||||
{
|
||||
L"+%d%s damage for set bombs and mines\n",
|
||||
L"+%d%s to attaching detonators check\n",
|
||||
L"+%d%s to planting/removing bombs check\n",
|
||||
L"Decreased chance of enemy detecting your bombs and mines (+%d bomb level)\n",
|
||||
L"Increased chance for shaped charge on opening doors (damage multiplied by %d)\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsTeaching[]=
|
||||
{
|
||||
L"+%d%s bonus to militia training speed\n",
|
||||
L"+%d%s bonus to effective leadership for determining militia training\n",
|
||||
L"+%d%s bonus to teach other mercs\n",
|
||||
L"Skill value treated to be +%d higher for being able to teach this skill to other mercs\n",
|
||||
L"+%d%s bonus to train stats through self-practice assignment\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsScouting[]=
|
||||
{
|
||||
L"+%d%% to effective sight range with scopes on weapons\n",
|
||||
L"+%d%% to effective sight range with binoculars (and scopes separated from weapons)\n",
|
||||
L"-%d%% tunnel vision with binoculars (and scopes separated from weapons)\n",
|
||||
L"If in sector, adjacent sectors will show exact number of enemies\n",
|
||||
L"If in sector, adjacent sectors will show presence of enemies, if any\n",
|
||||
L"Prevents enemy ambushes on your squad\n",
|
||||
L"Prevents bloodcat ambushes on your squad\n",
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
|
||||
{
|
||||
L"Will occasionally inform you about his teammates' opinions.\n",
|
||||
L"Prevents teammates' misbehaviour (drugs, alcohol, scrounging).\n",
|
||||
L"Can spread propaganda in towns.\n",
|
||||
L"Can gather rumours in towns.\n",
|
||||
L"Can be put undercover in prisons.\n",
|
||||
L"Increases your reputation by %d every day if in good morale.\n",
|
||||
L"+%d to effective hearing range\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSurvival[] =
|
||||
{
|
||||
L"-%d%s travel time needed between sectors if traveling by foot\n",
|
||||
L"-%d%s travel time needed between sectors if traveling in vehicle (except helicopter)\n",
|
||||
L"-%d%s less energy spent for travelling between sectors\n",
|
||||
L"-%d%s weather penalties\n",
|
||||
L"-%d%s worn out speed of camouflage by water or time\n",
|
||||
L"Can spot tracks up to %d tiles away\n",
|
||||
|
||||
L"%s%d%% disease resistance\n",
|
||||
L"%s%d%% food consumption\n",
|
||||
L"%s%d%% water consumption\n",
|
||||
L"+%d%% snake evasion\n",
|
||||
L"+%d%% camouflage effectiveness\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPOldSkillTraitsHelpTexts[]=
|
||||
{
|
||||
L"+%d%s bonus to lockpicking\n", // 0
|
||||
L"+%d%s hand to hand chance to hit\n",
|
||||
L"+%d%s hand to hand damage\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks\n",
|
||||
L"Eliminates penalty to repair and handle\nelectronic things (locks, traps, rem. detonators, robot, etc.)\n",
|
||||
L"+%d to effective sight range in the dark\n",
|
||||
L"+%d to general effective hearing range\n",
|
||||
L"+%d extra hearing range in the dark\n",
|
||||
L"+%d to interrupts modifier in the dark\n",
|
||||
L"-%d need to sleep\n",
|
||||
L"+%d%s max range when throwing anything\n", // 10
|
||||
L"+%d%s chance to hit when throwing anything\n",
|
||||
L"+%d%s chance to instantly kill by throwing knife if not seen or heard\n",
|
||||
L"+%d%s bonus to militia training and other mercs instructing speed\n",
|
||||
L"+%d%s effective leadership for militia training calculations\n",
|
||||
L"+%d%s chance to hit with rocket/grenade launchers and mortar\n",
|
||||
L"Auto fire/burst chance to hit penalty is divided by %d\n",
|
||||
L"Reduced chance for shooting unwanted bullets on autofire\n",
|
||||
L"+%d%s chance to move quietly\n",
|
||||
L"+%d%s stealth (being 'invisible' if unnoticed)\n",
|
||||
L"Eliminates CtH penalty when firing two weapons at once\n", // 20
|
||||
L"+%d%s chance to hit with melee blades\n",
|
||||
L"+%d%s chance to dodge attacks by melee blades if having blade in hands\n",
|
||||
L"+%d%s chance to dodge attacks by melee blades if having anything else in hands\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks if having blade in hands\n",
|
||||
L"-%d%s effective range to target with all weapons\n",
|
||||
L"+%d%s aiming bonus per aim click\n",
|
||||
L"Provides permanent camouflage\n",
|
||||
L"+%d%s hand to hand chance to hit\n",
|
||||
L"+%d%s hand to hand damage\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks if having empty hands\n", // 30
|
||||
L"+%d%s chance to dodge hand to hand attacks if not having empty hands\n",
|
||||
L"+%d%s chance to dodge attacks by melee blades\n",
|
||||
L"Can perform spinning kick attack on weakened enemies to deal double damage\n",
|
||||
L"Gains special animations for hand to hand combat\n",
|
||||
L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPNewCharacterTraitsHelpTexts[]=
|
||||
{
|
||||
L"A: No advantage.\nD: No disadvantage.",
|
||||
L"A: Better performance when a couple of mercs are nearby.\nD: Gains no morale when no other merc is nearby.",
|
||||
L"A: Better performance when no other merc is nearby.\nD: Gains no morale when in a group.",
|
||||
L"A: Morale sinks a little slower and grows faster than normal.\nD: Lower chance to detect traps and mines.",
|
||||
L"A: Bonus on training militia and is better at communicating with people.\nD: Gains no morale for actions of other mercs.",
|
||||
L"A: Slightly faster learning when self-practicing or as a student.\nD: Lower suppression and fear resistance.",
|
||||
L"A: Energy goes down a bit slower except on assignments such as doctor, repairman, militia trainer or if learning certain skills.\nD: Wisdom, leadership, explosives, mechanical and medical skills improve slightly slower.",
|
||||
L"A: Slightly better CtH on burst/autofire and inflicts slightly bigger damage in close combat\n Gains a little more morale for killing.\nD: Penalty for actions that need patience like repairing items, picking locks, removing traps, doctoring, training militia.",
|
||||
L"A: Bonus for actions that need patience like repairing items, picking locks, removing traps, doctoring and training militia.\nD: Interrupt chance is slightly lowered.",
|
||||
L"A: Higher suppression and fear resistance.\n Morale loss for taking damage and companions deaths is lower.\nD: Higher chance to be hit and enemy's penalty reduced when oneself is the moving target.",
|
||||
L"A: Gains morale on non-combat assignments (except training militia).\nD: Gains no morale for killing.",
|
||||
L"A: Higher chance for inflicting stat loss, which may also inflict special painful wounds.\n Gains bonus morale for inflicting stat loss.\nD: Penalty in communicating with people and morale sinks faster while not in battle.",
|
||||
L"A: Better performance when mercs of opposite gender are nearby.\nD: Morale for mercs of the same gender grows slower when nearby.",
|
||||
L"A: Gains morale when retreating.\nD: Loses morale when encountering numerically superior enemy forces.",
|
||||
};
|
||||
|
||||
STR16 gzIMPDisabilitiesHelpTexts[]=
|
||||
{
|
||||
L"No effects.",
|
||||
L"Problems with breathing and reduced overall performance when in tropical or desert sectors.",
|
||||
L"Will suffer panic attack if left alone in certain situations.",
|
||||
L"Overall performance is reduced when underground.",
|
||||
L"Will drown easily if attempt to swim.",
|
||||
L"A look at large insects can cause big problems\nand being in tropical sectors also reduces performance a bit.",
|
||||
L"Sometimes forgets orders given and will lose some APs if it happens in combat.",
|
||||
L"Will go psycho and shoot like mad once in a while\nand will lose morale if unable to do so with equipped weapon.",
|
||||
L"Drastically reduced hearing.",
|
||||
L"Reduced sight range.",
|
||||
L"Drastically increased bleeding.",
|
||||
L"Performance suffers while on a rooftop.",
|
||||
L"Occasionally harms self.",
|
||||
};
|
||||
|
||||
STR16 gzIMPProfileCostText[]=
|
||||
{
|
||||
L"The profile cost is $%d. Authorize payment?",
|
||||
};
|
||||
|
||||
STR16 zGioNewTraitsImpossibleText[]=
|
||||
{
|
||||
L"You cannot choose the New Trait System with PROFEX utility deactivated. Check your JA2_Options.ini for entry: READ_PROFILE_DATA_FROM_XML.",
|
||||
};
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//@@@: New string as of March 3, 2000.
|
||||
STR16 gzIronManModeWarningText[]=
|
||||
{
|
||||
L"You have chosen IRON MAN mode. This setting makes the game considerably more challenging as you will not be able to save your game when in a sector occupied by enemies. This setting will affect the entire course of the game. Are you sure want to play in IRON MAN mode?",
|
||||
L"You have chosen SOFT IRON MAN mode. This setting makes the game slightly more challenging as you will not be able to save your game during turn-based combat. This setting will affect the entire course of the game. Are you sure want to play in SOFT IRON MAN mode?",
|
||||
L"You have chosen EXTREME IRON MAN mode. This setting makes the game way more challenging as you will be able to save your progress only once per day - at %02d:00. This setting will affect the entire course of the game. Do you seriously want to play in EXTREME IRON MAN mode?",
|
||||
};
|
||||
|
||||
STR16 gzDisplayCoverText[]=
|
||||
{
|
||||
L"Cover: %d/100 %s, Brightness: %d/100",
|
||||
L"Gun Range: %d/%d tiles, Chance to hit: %d/100",
|
||||
L"Gun Range: %d/%d tiles, Muzzle Stability: %d/100",
|
||||
L"Disabling cover display",
|
||||
L"Showing mercenary view",
|
||||
L"Showing danger zones for mercenary",
|
||||
L"Wood", // wanted to use jungle , but wood is shorter in german too (dschungel vs wald)
|
||||
L"Urban",
|
||||
L"Desert",
|
||||
L"Snow",
|
||||
L"Wood and Desert",
|
||||
L"Wood and Urban",
|
||||
L"Wood and Snow",
|
||||
L"Desert and Urban",
|
||||
L"Desert and Snow",
|
||||
L"Urban and Snow",
|
||||
L"-", // yes empty for now
|
||||
L"Cover: %d/100, Brightness: %d/100",
|
||||
L"Footstep volume",
|
||||
L"Stealth difficulty",
|
||||
L"Trap level",
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,88 +0,0 @@
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#define _JA25ENGLISHTEXT__H_
|
||||
|
||||
extern STR16 gzIMPSkillTraitsText[];
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// added by SANDRO
|
||||
extern STR16 gzIMPSkillTraitsTextNewMajor[];
|
||||
extern STR16 gzIMPSkillTraitsTextNewMinor[];
|
||||
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSniper[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRanger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsGunslinger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsMartialArts[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSquadleader[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsTechnician[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsDoctor[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsCovertOps[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsNone[];
|
||||
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsMelee[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsThrowing[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsStealthy[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNightOps[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAthletics[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsBodybuilding[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsDemolitions[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsTeaching[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsScouting[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsSnitch[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSurvival[]; // added by Flugente
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNone[];
|
||||
|
||||
extern STR16 gzIMPOldSkillTraitsHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPNewCharacterTraitsHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPDisabilitiesHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPProfileCostText[];
|
||||
|
||||
extern STR16 zGioNewTraitsImpossibleText[];
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
{
|
||||
IMM__IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__SOFT_IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__EXTREME_IRON_MAN_MODE_WARNING_TEXT,
|
||||
};
|
||||
extern STR16 gzIronManModeWarningText[];
|
||||
|
||||
// display cover message (for tactical usually, seperated)
|
||||
// display cover terrain type info (used in cover information)
|
||||
enum
|
||||
{
|
||||
DC_MSG__COVER_INFORMATION,
|
||||
DC_MSG__GUN_RANGE_INFORMATION,
|
||||
DC_MSG__NCTH_GUN_RANGE_INFORMATION,
|
||||
DC_MSG__COVER_DRAW_OFF,
|
||||
DC_MSG__COVER_DRAW_MERC_VIEW,
|
||||
DC_MSG__COVER_DRAW_ENEMY_VIEW,
|
||||
DC_TTI__WOOD,
|
||||
DC_TTI__URBAN,
|
||||
DC_TTI__DESERT,
|
||||
DC_TTI__SNOW,
|
||||
DC_TTI__WOOD_AND_DESERT,
|
||||
DC_TTI__WOOD_AND_URBAN,
|
||||
DC_TTI__WOOD_AND_SNOW,
|
||||
DC_TTI__DESERT_AND_URBAN,
|
||||
DC_TTI__DESERT_AND_SNOW,
|
||||
DC_TTI__URBAN_AND_SNOW,
|
||||
DC_TTI__UNKNOWN,
|
||||
DC_MSG__COVER_INFORMATION_WITH_DETAILED_CAMO,
|
||||
DC_TTI__DETAILED_SOUND,
|
||||
DC_TTI__DETAILED_STEALTH,
|
||||
DC_TTI__DETAILED_TRAP_LEVEL,
|
||||
|
||||
};
|
||||
extern STR16 gzDisplayCoverText[];
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,531 +0,0 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("FRENCH")
|
||||
|
||||
#include "Language Defines.h"
|
||||
#ifdef FRENCH
|
||||
#include "text.h"
|
||||
#include "Fileman.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25FrenchText_public_symbol(void){;}
|
||||
|
||||
#ifdef FRENCH
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - New STOMP laptop strings
|
||||
//these strings match up with the defines in IMP Skill trait.cpp
|
||||
STR16 gzIMPSkillTraitsText[]=
|
||||
{
|
||||
L"Crochetage",
|
||||
L"Corps à corps",
|
||||
L"Électronique",
|
||||
L"Opérations de nuit",
|
||||
L"Lancer",
|
||||
L"Instructeur",
|
||||
L"Armes lourdes",
|
||||
L"Armes automatiques",
|
||||
L"Discrétion",
|
||||
L"Ambidextre",
|
||||
L"Couteau",
|
||||
L"Tireur isolé",
|
||||
L"Camouflage",
|
||||
L"Arts martiaux",
|
||||
|
||||
L"aucune",
|
||||
L"IMP : Spécialtés",
|
||||
L"(Expert)",
|
||||
|
||||
};
|
||||
|
||||
//added another set of skill texts for new major traits
|
||||
STR16 gzIMPSkillTraitsTextNewMajor[]=
|
||||
{
|
||||
L"Armes automatiques",
|
||||
L"Armes lourdes",
|
||||
L"Tireur d'élite",
|
||||
L"Éclaireur",
|
||||
L"Flingueur",
|
||||
L"Arts martiaux",
|
||||
L"Meneur",
|
||||
L"Technicien",
|
||||
L"Médecin",
|
||||
L"Déguisement",
|
||||
|
||||
L"Personne",
|
||||
L"IMP : Traits pincipaux",
|
||||
// second names
|
||||
L"Mitrailleur",
|
||||
L"Bombardier",
|
||||
L"Sniper",
|
||||
L"Chasseur",
|
||||
L"Combattant",
|
||||
L"Arts martiaux",
|
||||
L"Commandant",
|
||||
L"Ingénieur",
|
||||
L"Chirurgien",
|
||||
L"Espion",
|
||||
};
|
||||
|
||||
//added another set of skill texts for new minor traits
|
||||
STR16 gzIMPSkillTraitsTextNewMinor[]=
|
||||
{
|
||||
L"Ambidextre",
|
||||
L"Mêlée",
|
||||
L"Le lancer",
|
||||
L"Opérations de nuit",
|
||||
L"Discrétion",
|
||||
L"Athlétique",
|
||||
L"Culturiste",
|
||||
L"Sabotage",
|
||||
L"Instructeur",
|
||||
L"Reconnaissance",
|
||||
L"Opérateur radio",
|
||||
L"Survival", //TODO.Translate
|
||||
|
||||
L"Personne",
|
||||
L"IMP : Traits mineurs",
|
||||
};
|
||||
|
||||
//these texts are for help popup windows, describing trait properties
|
||||
STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[]=
|
||||
{
|
||||
L"+%d%s de chance de toucher avec un fusil d'assaut\n",
|
||||
L"+%d%s de chance de toucher avec un pistolet mitrailleur\n",
|
||||
L"+%d%s de chance de toucher avec une mitrailleuse légère\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour tirer avec une mitrailleuse légère\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour préparer une arme automatique légère\n",
|
||||
L"La pénalité due au mode rafale/auto, est réduite de %d%s\n",
|
||||
L"Réduire la probabilité de tirer plus de balles que prévu en mode auto\n",
|
||||
|
||||
};
|
||||
STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[]=
|
||||
{
|
||||
L"-%d%s du nombre de PA nécessaire pour lancer une grenade\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour tirer une roquette\n",
|
||||
L"+%d%s de chance de toucher avec une grenade\n",
|
||||
L"+%d%s de chance de toucher avec une roquette\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour tirer au mortier\n",
|
||||
L"Réduit la pénalité de chance de toucher du mortier de %d%s\n",
|
||||
L"+%d%s dégâts fait à un char avec une arme lourde, grenades ou explosifs\n",
|
||||
L"+%d%s dégâts fait sur les autres cibles avec une arme lourde\n",
|
||||
|
||||
};
|
||||
STR16 gzIMPMajorTraitsHelpTextsSniper[]=
|
||||
{
|
||||
L"+%d%s de chance de toucher avec un fusil\n",
|
||||
L"+%d%s de chance de toucher avec une arme de précision\n",
|
||||
L"-%d%s de la distance effective de toutes les armes pour viser\n",
|
||||
L"+%d%s de bonus par niveau de visée (excepté pour les pistolets)\n",
|
||||
L"+%d%s de dégâts sur tir",
|
||||
L" plus",
|
||||
L" pour chaque niveau",
|
||||
L" après le premier",
|
||||
L" après le deuxième",
|
||||
L" après le troisième",
|
||||
L" après le quatrième",
|
||||
L" après le cinquième",
|
||||
L" après le sixième",
|
||||
L" après le septième",
|
||||
L"-%d%s du nombre de PA nécessaire pour recharger avec un fusil à action manuelle\n",
|
||||
L"Ajoute un niveau de visée en plus pour chaque fusil\n",
|
||||
L"Ajoute %d niveau(x) de visée pour chaque fusil\n",
|
||||
|
||||
L"Fait viser plus rapidement avec un : réduit d'un niveau de visée\n",
|
||||
L"Fait viser plus rapidement avec un fusil : réduit de %d niveau(x) de visée\n",
|
||||
L"Focus skill: +%d interrupt modifier in marked area\n", // TODO.Translate
|
||||
|
||||
};
|
||||
STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
||||
{
|
||||
L"+%d%s de chance de toucher avec un fusil\n",
|
||||
L"+%d%s de chance de toucher avec un fusil à pompe\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour recharger le fusil à pompe\n",
|
||||
L"-%d%s PA pour tirer avec les fusils à pompe\n",
|
||||
L"Ajoute un niveau de visée pour les fusils à pompe\n",
|
||||
L"Ajoute %d niveaux de visée pour les fusils à pompe\n",
|
||||
L"+%d%s effective range with Shotguns\n", // TODO.Translate
|
||||
L"-%d%s APs to reload single Shotgun shells\n", // TODO.Translate
|
||||
L"Adds %d more aim click for Rifles\n", // TODO.Translate
|
||||
L"Adds %d more aim clicks for Rifles\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||
{
|
||||
L"-%d%s du nombre de PA nécessaire pour tirer avec un pistolet ou un revolver\n",
|
||||
L"+%d%s de la distance effective avec un pistolet ou un revolver pour viser\n",
|
||||
L"+%d%s de chance de toucher avec un pistolet ou un revolver\n",
|
||||
L"+%d%s de chance de toucher avec un pistolet automatique",
|
||||
L" (en tir manuel seulement)",
|
||||
L"+%d%s de bonus par niveau de visée avec un pistolet, pistolet automatique ou un revolver\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour dégainer un pistolet, pistolet automatique ou un revolver\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour recharger un pistolet, pistolet automatique ou un revolver\n",
|
||||
L"Ajoute un niveau de visée pour les pistolets, les pistolets automatiques ou les revolvers\n",
|
||||
L"Ajoute %d niveaux de visée pour les pistolets, les pistolets automatiques ou les revolvers\n",
|
||||
L"Can fan the hammer with revolvers\n", // TODO.Translate
|
||||
|
||||
};
|
||||
STR16 gzIMPMajorTraitsHelpTextsMartialArts[]=
|
||||
{
|
||||
L"-%d%s du nombre de PA nécessaire pour les attaques au corps à corps (mains nues ou avec un coup de poing américain)\n",
|
||||
L"+%d%s de chance de toucher avec les mains nues\n",
|
||||
L"+%d%s de chance de toucher avec un coup de poing américain\n",
|
||||
L"+%d%s de dégâts des attaques au corps à corps (mains nues ou avec un coup de poing américain)\n",
|
||||
L"+%d%s de dégâts sur le souffle des attaques au corps à corps (mains nues ou avec un coup de poing américain)\n",
|
||||
L"L'ennemi est abasourdi en raison de votre attaque au corps à corps et prend en peu de temps à récupérer\n",
|
||||
L"L'ennemi est abasourdi en raison de votre attaque au corps à corps et prend un peu plus de temps à récupérer\n",
|
||||
L"L'ennemi est abasourdi en raison de votre attaque au corps à corps et prend plus de temps à récupérer\n",
|
||||
L"L'ennemi est abasourdi en raison de votre attaque au corps à corps et prend beaucoup plus de temps à récupérer\n",
|
||||
L"L'ennemi est abasourdi en raison de votre attaque au corps à corps et prend énormément de temps à récupérer\n",
|
||||
L"L'ennemi est abasourdi en raison de votre attaque au corps à corps et met des heures à récupérer\n",
|
||||
L"L'ennemi est abasourdi en raison de votre attaque au corps à corps et va sûrement ne pas se relever\n",
|
||||
L"Le coups de poing va faire +%d%s de dégâts en plus\n",
|
||||
L"Votre coup de pied spécial va faire +%d%s de dégâts en plus\n",
|
||||
L"+%d%s de chance d'esquiver une attaque au corps à corps\n",
|
||||
L"+%d%s de chance d'esquiver une attaque au corps à corps à mains nues",
|
||||
L" ou avec le coup de poing américain",
|
||||
L" (+%d%s avec le coup de poing américain)",
|
||||
L"+%d%s de chance d'esquiver une attaque au corps à corps avec un coup de poing américain\n",
|
||||
L"+%d%s de chance d'esquiver une attaque de n'importe quelle arme de mêlée\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour voler l'arme de son ennemi\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour changer de posture (debout, accroupie, coucher), se retourner, monter/descendre du toit et sauter les obstacles\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour changer de posture (debout, accroupie, coucher)\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour se retourner\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour monter/descendre du toit et sauter les obstacles\n",
|
||||
L"+%d%s de chance d'ouvrir la porte\n",
|
||||
L"Vous obtenez une animation spéciale pour votre combat au corps à corps\n",
|
||||
L"-%d%s de chance d'être interrompu quand vous bougez\n",
|
||||
|
||||
};
|
||||
STR16 gzIMPMajorTraitsHelpTextsSquadleader[]=
|
||||
{
|
||||
L"+%d%s de PA par tour pour les mercenaires aux alentours\n",
|
||||
L"+%d d'expérience effective pour les mercenaires aux alentours possédant un niveau plus bas que : %s\n",
|
||||
L"+%d d'expérience effective pour le calcul de l'aide apportée à un coéquipier avec un tir de couverture\n",
|
||||
L"+%d%s de tolérance aux tirs de couverture pour les mercenaires aux alentours et %s pour soi\n",
|
||||
L"+%d de gain de moral pour les mercenaires aux alentours\n",
|
||||
L"-%d de perte de moral pour les mercenaires aux alentours\n",
|
||||
L"Bonus valables pour %d cases aux alentours",
|
||||
L" (%d cases pour en encadrement élargi)",
|
||||
L"(Le maximum de bonus simultané pour un joueur est de %d)\n",
|
||||
L"+%d%s de résistance à la peur du %s\n",
|
||||
L"Inconvénient : %dx perte de moral à la mort du %s pour les autres mercenaires\n",
|
||||
L"+%d%s chance de déclencher des interruptions de groupe\n",
|
||||
|
||||
};
|
||||
STR16 gzIMPMajorTraitsHelpTextsTechnician[]=
|
||||
{
|
||||
L"+%d%s de vitesse de réparation\n",
|
||||
L"+%d%s pour le crochetage (serrure normale/électronique)\n",
|
||||
L"+%d%s pour désactiver un piège électronique\n",
|
||||
L"+%d%s pour attacher un objet spécial ou combiner différents objets\n",
|
||||
L"+%d%s pour débloquer une arme en plein combat\n",
|
||||
L"Réduit la pénalité pour réparer les objets électroniques de %d%s\n",
|
||||
L"Augmente la chance de repérer les mines et les pièges (+%d par niveau de détection)\n",
|
||||
L"+%d%s de chance de toucher avec le robot contrôlé par %s\n",
|
||||
L"%s vous accorde la capacité de réparer le robot\n",
|
||||
L"Pénalité réduite sur la vitesse à réparer le robot de %d%s\n",
|
||||
L"Able to restore item threshold to 100%% during repair\n", // TODO.Translate
|
||||
};
|
||||
STR16 gzIMPMajorTraitsHelpTextsDoctor[]=
|
||||
{
|
||||
L"A les talents pour faire une opération chirurgicale, en utilisant une trousse médicale, sur le soldat blessé\n",
|
||||
L"La chirurgie rend immédiatement %d%s de santé perdue.",
|
||||
L" (Cela consomme une grande partie de la trousse médicale.)",
|
||||
L"Peut guérir des stats perdues par les coups critiques par le",
|
||||
L" chirurgien ou",
|
||||
L" le docteur assigné.\n",
|
||||
L"+%d%s de l'efficacité du docteur assigné\n",
|
||||
L"+%d%s de vitesse de bandage\n",
|
||||
L"+%d%s de la vitesse de régénération naturelle de tous soldats présent dans le même secteur",
|
||||
L" (un maximum de %d bonus par secteur)",
|
||||
L"Returned health can be boosted an additional %d%s by using blood bags.\n", // TODO.Translate
|
||||
|
||||
};
|
||||
STR16 gzIMPMajorTraitsHelpTextsCovertOps[]=
|
||||
{
|
||||
L"Peut se déguiser en civil ou en soldat pour se glisser derrière les lignes ennemies\n",
|
||||
L"Sera détecté(e) par des actions suspectes ou un paquetage douteux\nou d'être près d'un cadavre encore chaud\n",
|
||||
L"Sera automatiquement détecté(e) avec un\ndéguisement de soldat à %d cases d'un ennemi\n",
|
||||
L"Sera automatiquement détecté(e) avec un déguisement de soldat à %d cases d'un cadavre encore chaud\n",
|
||||
L"+%d%s de chance de toucher avec une arme d'espion\n",
|
||||
L"+%d%s de chance de tuer un ennemi instantanément avec une arme d'espion\n",
|
||||
L"Le nombre de PA pour se déguiser, est réduit de %d%s\n",
|
||||
L"Can convince enemy soldiers to secretly change sides.\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]=
|
||||
{
|
||||
L"Peut utiliser du matériel de communication\n",
|
||||
L"Peut demander des tirs d'artillerie alliés des secteurs voisins.\n",
|
||||
L"Via l'assignation 'Balayer les fréquences', les patrouilles ennemies seront localisées.\n",
|
||||
L"Les communications peuvent être brouillées à l'échelle d'un secteur.\n",
|
||||
L"Si les communications sont brouillées, l'opérateur peut rechercher la source du brouillage.\n",
|
||||
L"Peut appeler la milice des secteurs voisins en renfort.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"Pas de bonus",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[]=
|
||||
{
|
||||
L"Reduced penalty to shoot if offhand item is equipped by %d%s\n", // TODO.Translate
|
||||
L"+%d%s de vitesse de rechargement d'une arme avec un chargeur\n",
|
||||
L"+%d%s de vitesse de rechargement d'une arme avec des cartouches\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour prendre un objet\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour utiliser le sac à dos\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour ouvrir une porte\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour poser/retirer un explosif ou une mine\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour attacher des objets entre eux\n",
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsMelee[]=
|
||||
{
|
||||
L"-%d%s du nombre de PA nécessaire pour attaquer avec une arme blanche\n",
|
||||
L"+%d%s de chance de toucher avec une arme blanche\n",
|
||||
L"+%d%s de chance de toucher avec une arme de mêlée\n",
|
||||
L"+%d%s de dégâts par une arme blanche\n",
|
||||
L"+%d%s de dégâts par une arme de mêlée\n",
|
||||
L"L'attaque visée par n'importe quelle arme de mêlée cause +%d%s de dégâts\n",
|
||||
L"+%d%s de chance d'esquiver des attaques avec une arme blanche\n",
|
||||
L"+%d%s de chance d'esquiver une attaque avec une arme blanche, si vous avez une arme blanche à la main\n",
|
||||
L"+%d%s de chance d'esquiver une attaque avec une arme de mêlée\n",
|
||||
L"+%d%s de chance d'esquiver une attaque avec une arme de mêlée, si vous avez une arme de mêlée à la main\n",
|
||||
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsThrowing[]=
|
||||
{
|
||||
L"-%d%s du nombre de PA nécessaire pour lancer un couteau\n",
|
||||
L"+%d%s de distance maximum quand vous lancez un couteau\n",
|
||||
L"+%d%s de chance de toucher votre cible en lançant un couteau\n",
|
||||
L"+%d%s de chance de toucher votre cible par niveau de visée en lançant un couteau\n",
|
||||
L"+%d%s de dégâts avec votre lancer de couteau\n",
|
||||
L"+%d%s de dégâts avec votre lancer de couteau par niveau de visée\n",
|
||||
L"+%d%s de chance d'infliger des dégâts critiques en lançant un couteau, si vous n'êtes pas vue ou entendu\n",
|
||||
L"+%d de dégâts critiques, si vous lancez plusieurs couteaux\n",
|
||||
L"Ajoute %d niveau(x) de visée pour lancer un couteau\n",
|
||||
L"Ajoute %d niveau(x) de visée pour lancer un couteau\n",
|
||||
L"-%d%s du nombre de PA nécessaire pour lancer une grenade\n",
|
||||
L"+%d%s de la portée maximale d'une grenade\n",
|
||||
L"+%d%s de chance de toucher votre cible avec une grenade\n",
|
||||
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsNightOps[]=
|
||||
{
|
||||
L"Vue effective augmentée de +%d pendant la nuit\n",
|
||||
L"Audition augmentée de +%d\n",
|
||||
L"Audition augmentée de +%d lorsque vous êtes en hauteur\n",
|
||||
L"+%d de chance d'interrompre une action d'un ennemi pendant la nuit\n",
|
||||
L"Le besoin de dormir est réduit de -%d\n",
|
||||
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsStealthy[]=
|
||||
{
|
||||
L"-%d%s du nombre de PA nécessaire pour bouger silencieusement\n",
|
||||
L"+%d%s de chance de bouger silencieusement\n",
|
||||
L"+%d%s en discrétion (étant invisible, si inaperçu)\n",
|
||||
L"Réduit la pénalité due au déplacement discrétion de %d%s\n",
|
||||
L"-%d%s de chances d'être interrompu\n",
|
||||
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsAthletics[]=
|
||||
{
|
||||
L"-%d%s du nombre de PA nécessaire pour bouger (courir, marcher, s'accroupir, ramper, nager, etc.)\n",
|
||||
L"-%d%s d'énergie dépensée pour les mouvements, monter sur les toits, sauter les obstacles, etc.\n",
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsBodybuilding[]=
|
||||
{
|
||||
L"A %d%s de résistance aux dégâts\n",
|
||||
L"+%d%s de force effective pour porter de lourdes charges\n",
|
||||
L"Réduit la perte d'énergie lorsque vous êtes touché au corps à corps de %d%s\n",
|
||||
L"Augmente de %d%s les dégâts nécessaires pour tomber à terre quand vous êtes touché aux jambes\n",
|
||||
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsDemolitions[]=
|
||||
{
|
||||
L"+%d%s de dégâts causés par un explosif ou une mine\n",
|
||||
L"+%d%s pour contrôler un détonateur\n",
|
||||
L"+%d%s pour placer/retirer un contrôleur d'explosif\n",
|
||||
L"Diminue la chance que l'ennemi puisse détecter vos explosifs/mines (+%d par niveau d'explosif)\n",
|
||||
L"Augmente la chance de former une plus grosse détonation quand l'ennemi ouvrira une porte piégée (dégâts multipliés par %d)\n",
|
||||
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsTeaching[]=
|
||||
{
|
||||
L"+%d%s de bonus pour entraîner la milice\n",
|
||||
L"+%d%s de bonus en commandement pour entraîner la milice\n",
|
||||
L"+%d%s de bonus pour entraîner d'autres mercenaires\n",
|
||||
L"Il faut que votre compétence soit supérieure à +%d pour être capable d'enseigner cette habilité à un autre mercenaire\n",
|
||||
L"+%d%s de bonus lorsque vous vous entraînez tout seul\n",
|
||||
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsScouting[]=
|
||||
{
|
||||
L"+%d%% de distance effective avec une lunette de visée sur votre arme\n",
|
||||
L"+%d%% de distance effective avec vos jumelles (et la lunette de visée séparée de votre arme)\n",
|
||||
L"-%d%% de vues étroites avec vos jumelles (et la lunette de visée séparée de votre arme)\n",
|
||||
L"Si vous êtes dans le secteur, vous saurez le nombre exact d'ennemis présents dans les secteurs alentours\n",
|
||||
L"Si vous êtes dans le secteur, vous saurez la présence au non d'ennemis dans les secteurs alentours\n",
|
||||
L"Empêche l'ennemi de prendre en embuscade votre escouade\n",
|
||||
L"Empêche les chats sauvages de prendre en embuscade votre escouade\n",
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
|
||||
{
|
||||
L"Vous informera à l'occasion sur les opinions de ses coéquipiers.\n",
|
||||
L"Dénoncer la mauvaise conduite de ses équipiers (drogue, alcool et chapardage).\n",
|
||||
L"Peut faire de la propagande dans les villes.\n",
|
||||
L"Peut recueillir les rumeurs dans les villes.\n",
|
||||
L"Peut infiltrer les prisons.\n",
|
||||
L"Augmente votre réputation de %d tous les jours si le moral est bon.\n",
|
||||
L"+ %d de portée auditive\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSurvival[] = // TODO.Translate
|
||||
{
|
||||
L"+%d%s de vitesse de déplacement du groupe entre les secteurs, s'ils sont à pied\n",
|
||||
L"+%d%s de vitesse de déplacement du groupe entre les secteurs, s'ils sont dans un véhicule (sauf l'hélicoptère)\n",
|
||||
L"-%d%s d'énergies nécessaire pour traverser les secteurs\n",
|
||||
L"-%d%s de pénalités du temps\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
|
||||
|
||||
L"%s%d%% disease resistance\n",
|
||||
L"%s%d%% food consumption\n",
|
||||
L"%s%d%% water consumption\n",
|
||||
L"+%d%% snake evasion\n", // TODO.Translate
|
||||
L"+%d%% d'efficacité du camouflage\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"Pas de bonus",
|
||||
};
|
||||
|
||||
STR16 gzIMPOldSkillTraitsHelpTexts[]=
|
||||
{
|
||||
L"+%d%s de bonus de crochetage\n", // 0
|
||||
L"+%d%s de chance de toucher au corps à corps\n",
|
||||
L"+%d%s de dégâts au corps à corps\n",
|
||||
L"+%d%s de chance d'esquiver une attaque au corps à corps\n",
|
||||
L"Élimine la pénalité due à la réparation et à la manipulation\nd'objets électriques (serrures, pièges, détonateurs, etc.)\n",
|
||||
L"+%d de vision effective pendant la nuit\n",
|
||||
L"+%d d'audition effective pendant la nuit\n",
|
||||
L"+%d d'audition effective pendant la nuit sur un toit\n",
|
||||
L"+%d de chance d'interrompre un ennemi pendant la nuit\n",
|
||||
L"Le besoin de dormir est réduit de -%d\n",
|
||||
L"+%d%s de distance maximale lors d'un lancer quelconque\n", // 10
|
||||
L"+%d%s de chance de toucher lors d'un lancer quelconque\n",
|
||||
L"+%d%s de chance de tuer instantanément en lançant un couteau, si vous n'êtes pas vu ou entendu\n",
|
||||
L"+%d%s de bonus pour entraîner la milice et enseigner les autres mercenaires\n",
|
||||
L"+%d%s en commandement lors de l'entraînement de la milice mobile\n",
|
||||
L"+%d%s de chance de toucher votre cible avec une roquette/grenade ou un mortier\n",
|
||||
L"La pénalité due au tir en mode automatique est réduite de %d\n",
|
||||
L"Réduit la probabilité d'un tir en mode automatique non voulu\n",
|
||||
L"+%d%s de chance de bouger silencieusement\n",
|
||||
L"+%d%s en ruse (étant invisible, si inaperçu)\n",
|
||||
L"Élimine la pénalité lorsque vous tirez avec une arme dans chaque main à la suite\n", // 20
|
||||
L"+%d%s de chance de toucher avec une arme de mêlée\n",
|
||||
L"+%d%s de chance d'esquiver une attaque de mêlée, si vous avez une arme blanche dans la main\n",
|
||||
L"+%d%s de chance d'esquiver une attaque de mêlée, si vous avez quelque chose d'autre dans la main\n",
|
||||
L"+%d%s de chance d'esquiver une attaque au corps à corps, si vous avez une arme blanche dans la main\n",
|
||||
L"-%d%s de distance effective nécessaire pour viser votre cible avec n'importe quelle arme\n",
|
||||
L"+%d%s de bonus par niveau de visée\n",
|
||||
L"Fournit un camouflage permanent\n",
|
||||
L"+%d%s de chance de toucher au corps à corps\n",
|
||||
L"+%d%s de dégâts au corps à corps\n",
|
||||
L"+%d%s de chance d'esquiver une attaque au corps à corps, si vous avez les mains vides\n", // 30
|
||||
L"+%d%s de chance d'esquiver une attaque au corps à corps, si vous n'avez pas les mains vides\n",
|
||||
L"+%d%s de chance d'esquiver une attaque avec une arme de mêlée\n",
|
||||
L"Peut faire un coup de pied à des ennemis affaiblis qui fera le double de dégâts\n",
|
||||
L"Vous obtenez une animation spéciale pour votre combat au corps à corps\n",
|
||||
L"Pas de bonus",
|
||||
};
|
||||
|
||||
STR16 gzIMPNewCharacterTraitsHelpTexts[]=
|
||||
{
|
||||
L"+ : Pas d'avantages.\n- : Pas de désavantages.",
|
||||
L"+ : A de meilleures performances lorsque deux ou trois mercenaires sont proches.\n- : Ne gagne aucun moral quand aucun mercenaire est proche de lui.",
|
||||
L"+ : A de meilleures performances quand il est tout seul.\n- : Ne gagne aucun moral quand il est en groupe.",
|
||||
L"+ : Son moral diminue plus doucement et remonte plus rapidement que la normale.\n- : A moins de chance de détecter les mines et les pièges.",
|
||||
L"+ : Obtiens un bonus lorsqu'il entraîne la milice et à une meilleure communication.\n- : Ne gagne aucun moral pour les actions des autres mercenaires.",
|
||||
L"+ : Apprend plus rapidement en étant le professeur ou l'élève.\n- : A moins de résistance à la peur lors d'un tir de couverture.",
|
||||
L"+ : Son énergie descend un peu plus lentement sauf lorsqu'il est docteur, qu'il répare, qu'il entraîne ou qu'il apprend.\n- : Ses compétences en sagesse, commandement, explosifs, mécanique et médecine s'améliorent légèrement plus lentement.",
|
||||
L"+ : A un peu plus de chance de toucher lors d'un tir automatique et inflige plus de dégâts au corps à corps.\n Obtiens un peu plus de morale lors d'un décès.\n- : A une pénalité lorsqu'il faut de la patience comme réparer des objets, déverrouiller une serrure, enlever des pièges, entraîner la milice.",
|
||||
L"+ : A un bonus lorsqu'il faut de la patience comme réparer des objets, déverrouiller une serrure, enlever des pièges, entraîner la milice.\n- : Sa chance d'interrompre une action ennemie est légèrement diminuée.",
|
||||
L"+ : Augmente la résistance à la peur lors d'un tir de couverture.\n La perte de moral due aux dégâts reçus et à la mort d'un mercenaire est moindre.\n- : Vous êtes plus facilement vulnérable et l'ennemi a sa pénalité due à votre mouvement, réduite.",
|
||||
L"+ : Gagne du moral lorsque vous faites une mission qui n'est pas liée au combat (excepté l'entraînement de milice).\n- : Pas de gains lorsque vous tuez quelqu'un.",
|
||||
L"+ : A plus de chance d'infliger des pertes de stats sur l'ennemi, qui peut aussi infliger de lourds dégâts.\n Gagne du moral lorsque vous infligez des pertes de stats sur l'ennemi.\n- : A une pénalité pour la communication et son moral baisse plus rapidement lorsqu'il ne combat pas.",
|
||||
L"+ : A de meilleures performances lorsqu'un certain type d'ennemi est opposé à lui.\n- : Les mercenaires qui possèdent le même type que l'ennemi gagne moins de moral.",
|
||||
L"A: Gains morale when retreating.\nD: Loses morale when encountering numerically superior enemy forces.", // TODO.Translate
|
||||
|
||||
};
|
||||
|
||||
STR16 gzIMPDisabilitiesHelpTexts[]=
|
||||
{
|
||||
L"Pas d'effets.",
|
||||
L"A des problèmes de souffle/respiration et ses performances globales\nsont diminuées lorsqu'il est dans des zones tropicales ou désertiques.",
|
||||
L"Peut souffrir de panique, s'il est laissé seul dans certaines situations.",
|
||||
L"Ses performances globales sont réduites, s'il se trouve dans un sous-sol.",
|
||||
L"Peut facilement se noyer, s'il essaye de nager.",
|
||||
L"La vue de gros insectes, peut lui poser de gros problèmes\net être dans une zone tropicale lui réduit aussi\nlégèrement ses performances globales.",
|
||||
L"Peut parfois perdre les ordres donnés et ainsi perdre des PA lors d'un combat.",
|
||||
L"Il peut devenir psychopathe et tirer comme un fou de temps en temps\net peut perdre du moral, s'il n'est pas capable d'utiliser son arme.",
|
||||
L"Audition considérablement réduite.",
|
||||
L"Distance de vision réduit.",
|
||||
L"Drastically increased bleeding.", // TODO.Translate
|
||||
L"Performance suffers while on a rooftop.", // TODO.Translate
|
||||
L"Occasionally harms self.",
|
||||
};
|
||||
|
||||
|
||||
|
||||
STR16 gzIMPProfileCostText[]=
|
||||
{
|
||||
L"Ce profil coûte %d$. Voulez-vous autoriser ce paiement ? ",
|
||||
};
|
||||
|
||||
STR16 zGioNewTraitsImpossibleText[]=
|
||||
{
|
||||
L"Vous ne pouvez pas choisir le nouveau système de compétences avec l'outil PROFEX désactivé. Regardez votre fichier JA2_Options.ini avec l'entrée : READ_PROFILE_DATA_FROM_XML.",
|
||||
};
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//@@@: New string as of March 3, 2000.
|
||||
STR16 gzIronManModeWarningText[]=
|
||||
{
|
||||
L"Vous avez choisi le mode IRON MAN. La difficulté du jeu s'en trouvera considérablement augmentée du fait de l'impossibilité de sauvegarder en territoire ennemi. Ce paramètre prendra effet tout au long de la partie. Êtes-vous vraiment sûr de vouloir jouer en mode IRON MAN ?",
|
||||
L"You have chosen SOFT IRON MAN mode. This setting makes the game slightly more challenging as you will not be able to save your game during turn-based combat. This setting will affect the entire course of the game. Are you sure want to play in SOFT IRON MAN mode?",// TODO.Translate
|
||||
L"You have chosen EXTREME IRON MAN mode. This setting makes the game way more challenging as you will be able to save your progress only once per day - at %02d:00. This setting will affect the entire course of the game. Do you seriously want to play in EXTREME IRON MAN mode?",// TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzDisplayCoverText[]=
|
||||
{
|
||||
L"Contraste : %d/100 %s, Luminosité : %d/100",
|
||||
L"Distance de tir : %d/%d cases, chance de toucher : %d/100",
|
||||
L"Distance de tir : %d/%d cases, stabilité du canon : %d/100",
|
||||
L"Désactivation de la couverture de l'affichage",
|
||||
L"Afficher le champ de vision du mercenaire sélectionné.",
|
||||
L"Afficher les zones de danger du(es) mercenaire(s)",
|
||||
L"Bois", // wanted to use jungle , but wood is shorter in german too (dschungel vs wald)
|
||||
L"Urbain",
|
||||
L"Désert",
|
||||
L"Neige",
|
||||
L"Bois et désert",
|
||||
L"Bois et urbain",
|
||||
L"Bois et neige",
|
||||
L"Désert et urbain",
|
||||
L"Désert et neige",
|
||||
L"Urbain et neige",
|
||||
L"-", // yes empty for now // TODO.Translate
|
||||
L"Cover: %d/100, Brightness: %d/100",
|
||||
L"Footstep volume",
|
||||
L"Stealth difficulty",
|
||||
L"Trap level",
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,87 +0,0 @@
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#define _JA25ENGLISHTEXT__H_
|
||||
|
||||
extern STR16 gzIMPSkillTraitsText[];
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// added by SANDRO
|
||||
extern STR16 gzIMPSkillTraitsTextNewMajor[];
|
||||
extern STR16 gzIMPSkillTraitsTextNewMinor[];
|
||||
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSniper[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRanger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsGunslinger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsMartialArts[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSquadleader[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsTechnician[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsDoctor[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsCovertOps[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsNone[];
|
||||
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsMelee[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsThrowing[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsStealthy[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNightOps[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAthletics[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsBodybuilding[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsDemolitions[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsTeaching[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsScouting[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsSnitch[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSurvival[]; // added by Flugente
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNone[];
|
||||
|
||||
extern STR16 gzIMPOldSkillTraitsHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPNewCharacterTraitsHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPDisabilitiesHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPProfileCostText[];
|
||||
|
||||
extern STR16 zGioNewTraitsImpossibleText[];
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
{
|
||||
IMM__IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__SOFT_IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__EXTREME_IRON_MAN_MODE_WARNING_TEXT,
|
||||
};
|
||||
extern STR16 gzIronManModeWarningText[];
|
||||
|
||||
// display cover message (for tactical usually, seperated)
|
||||
// display cover terrain type info (used in cover information)
|
||||
enum
|
||||
{
|
||||
DC_MSG__COVER_INFORMATION,
|
||||
DC_MSG__GUN_RANGE_INFORMATION,
|
||||
DC_MSG__NCTH_GUN_RANGE_INFORMATION,
|
||||
DC_MSG__COVER_DRAW_OFF,
|
||||
DC_MSG__COVER_DRAW_MERC_VIEW,
|
||||
DC_MSG__COVER_DRAW_ENEMY_VIEW,
|
||||
DC_TTI__WOOD,
|
||||
DC_TTI__URBAN,
|
||||
DC_TTI__DESERT,
|
||||
DC_TTI__SNOW,
|
||||
DC_TTI__WOOD_AND_DESERT,
|
||||
DC_TTI__WOOD_AND_URBAN,
|
||||
DC_TTI__WOOD_AND_SNOW,
|
||||
DC_TTI__DESERT_AND_URBAN,
|
||||
DC_TTI__DESERT_AND_SNOW,
|
||||
DC_TTI__URBAN_AND_SNOW,
|
||||
DC_TTI__UNKNOWN,
|
||||
DC_MSG__COVER_INFORMATION_WITH_DETAILED_CAMO,
|
||||
DC_TTI__DETAILED_SOUND,
|
||||
DC_TTI__DETAILED_STEALTH,
|
||||
DC_TTI__DETAILED_TRAP_LEVEL,
|
||||
};
|
||||
extern STR16 gzDisplayCoverText[];
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,532 +0,0 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("GERMAN")
|
||||
|
||||
#include "Language Defines.h"
|
||||
#ifdef GERMAN
|
||||
#include "text.h"
|
||||
#include "Fileman.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25GermanText_public_symbol(void){;}
|
||||
|
||||
#ifdef GERMAN
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
//these strings match up with the defines in IMP Skill trait.cpp
|
||||
STR16 gzIMPSkillTraitsText[]=
|
||||
{
|
||||
L"Schlösser knacken",
|
||||
L"Nahkampf",
|
||||
L"Elektronik",
|
||||
L"Nachteinsatz",
|
||||
L"Werfen",
|
||||
L"Lehren",
|
||||
L"Schwere Waffen",
|
||||
L"Autom. Waffen",
|
||||
L"Schleichen",
|
||||
L"Beidhändig geschickt",
|
||||
L"Messer",
|
||||
L"Dach-Treffer Bonus",
|
||||
L"Getarnt",
|
||||
L"Kampfsport",
|
||||
|
||||
L"Keine",
|
||||
L"B.S.E. - Spezialisierungen",
|
||||
L"(Experte)",
|
||||
};
|
||||
|
||||
//added another set of skill texts for new major traits
|
||||
//Da es mittlerweile einen beruflichen Background für Söldner gibt, habe ich die "Tätigkeitsbezeichnungen" der Traits wieder an das ursprüngliche System angeglichen.
|
||||
//Die Traits sagen nun aus, in welchem Bereich ein Söldner besondere Fertigkeiten erworben hat. Sie stellen kein Berufsbild dar. Das bleibt dem Background überlassen.
|
||||
//Vorschläge in alten Kommentaren berücksichtigt. [Leonidas]
|
||||
STR16 gzIMPSkillTraitsTextNewMajor[]=
|
||||
{
|
||||
L"Automatische Waffen", //
|
||||
L"Granatwaffen", // Vanilla: Schwere Waffen/Heavy Weapons [Leonidas]
|
||||
L"Scharfschützengewehre", // (Schlechte) Alternative: Präzisionsgewehre [Leonidas]
|
||||
L"Jagd", // Alternative: Überlebenstraining [Leonidas] – Die Mischung aus/von Flintenboni, Bewegungsboni und Tarnboni ist ungünstig [Leonidas]
|
||||
L"Pistolen", //
|
||||
L"Faustkampf", //
|
||||
L"Teamführung", //
|
||||
L"Feinmechanik", //
|
||||
L"Erste Hilfe", // Alternativen: Sanitätsausbildung; Medizin. Versorgung [Leonidas]
|
||||
L"Verdeckte Operationen", //
|
||||
|
||||
L"Nichts",
|
||||
L"B.S.E. Hauptfertigkeiten",
|
||||
|
||||
// second names
|
||||
L"Automatische Waffen\n(Experte)", // (Schlechte) Alternative: Maschinengewehre [Leonidas]
|
||||
L"Granatwaffen (Experte)", //
|
||||
L"Scharfschützengewehre\n(Experte)", //
|
||||
L"Jagd (Experte)", // Alternative: Jagd – Die Mischung aus/von Flintenboni, Bewegungsboni und Tarnboni ist ungünstig [Leonidas]
|
||||
L"Pistolen (Experte)", //
|
||||
L"Kampfsport", //
|
||||
L"Truppenführung", //
|
||||
L"Feinwerktechnik", // Alternative: Mechatronik [Leonidas]
|
||||
L"Notfallmedizin", //
|
||||
L"Geheimoperationen", //
|
||||
};
|
||||
|
||||
//added another set of skill texts for new minor traits
|
||||
STR16 gzIMPSkillTraitsTextNewMinor[]=
|
||||
{
|
||||
L"Beidhändigkeit", // alt. "Beidhändig geschickt"
|
||||
L"Bewaffneter Nahkampf", // alt. "Hieb- und Stichwaffen"
|
||||
L"Wurfwaffen", // alt. "Wurfwaffen"
|
||||
L"Nachteinsätze", // alt. "Nachteinsatz"
|
||||
L"Schleichen", // alt. "Schleichen"
|
||||
L"Leichtathletik", // alt. "Athletisch"
|
||||
L"Kraftsport", // alt. "Bodybuilding"
|
||||
L"Sprengtechnik", // alt. "Kampfmittel"
|
||||
L"Ausbilden", // alt. "Lehren"
|
||||
L"Aufklären", // alt. "Spähen"
|
||||
L"Funktechnik", // Alternative: Funk, Funkkommunikation [Leonidas]
|
||||
L"Survival", //TODO.Translate
|
||||
|
||||
L"Keine",
|
||||
L"B.S.E. Nebenfertigkeiten",
|
||||
};
|
||||
|
||||
//these texts are for help popup windows, describing trait properties
|
||||
STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[]=
|
||||
{
|
||||
L"+%d%s Trefferchance mit Sturmgewehren\n",
|
||||
L"+%d%s Trefferchance mit Maschinenpistolen\n",
|
||||
L"+%d%s Trefferchance mit Maschinengewehren\n",
|
||||
L"-%d%s APs benötigt für MG-Feuerstöße (Burst/Auto) abzugeben\n",
|
||||
L"-%d%s APs benötigt um Maschinengewehre auszurichten\n",
|
||||
L"Trefferratenabzug bei Feuerstößen um %d%s reduziert\n",
|
||||
L"Geringere Wahrscheinlichkeit bei Feuerstößen ungewollt mehr Schüsse abzugeben\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[]=
|
||||
{
|
||||
L"-%d%s APs benötigt um Granatwerfer abzufeuern\n",
|
||||
L"-%d%s APs benötigt um Raketenwaffen abzufeuern\n",
|
||||
L"+%d%s Trefferchance mit Granatwerfern\n",
|
||||
L"+%d%s Trefferchance mit Raketenwaffen\n",
|
||||
L"-%d%s APs für den Abschuss von Mörsergranaten benötigt\n",
|
||||
L"Trefferchancenreduktion für Mörser gesenkt um %d%s\n",
|
||||
L"+%d%s Schaden an Panzern mit Granatwaffen, Granaten und Bomben\n",
|
||||
L"+%d%s Schaden an allen anderen Zielen mit Granatwaffen\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSniper[]=
|
||||
{
|
||||
L"+%d%s Trefferchance mit Büchsen\n",
|
||||
L"+%d%s Trefferchance mit Scharfschützengewehren\n",
|
||||
L"-%d%s effektive Reichweite zum Ziel mit allen Waffen\n",
|
||||
L"+%d%s Zielbonus pro Zielerfassungs-Klick (außer für Faustfeuerwaffen)\n",
|
||||
L"+%d%s Schaden pro Schuss",
|
||||
L" plus",
|
||||
L" für jeden Zielerfassungs-Klick",
|
||||
L" nach dem ersten",
|
||||
L" nach dem zweiten",
|
||||
L" nach dem dritten",
|
||||
L" nach dem vierten",
|
||||
L" nach dem fünften",
|
||||
L" nach dem sechsten",
|
||||
L" nach dem siebenten",
|
||||
L"-%d%s APs benötigt um ein Repetiergewehr erneut fertigzuladen.\n",
|
||||
L"Gibt einen weiteren Ziel-Klick für gewehrartige Waffen\n",
|
||||
L"Gibt weitere %d Ziel-Klicks für gewehrartige Waffen\n",
|
||||
L"Schnelleres Zielen mit Gewehren bei genau einem Zielgenauigkeit-Klick\n",
|
||||
L"Schnelleres Zielen mit Gewehren bei %d Zielgenauigkeit-Klicks\n",
|
||||
L"Focus skill: +%d interrupt modifier in marked area\n", // TODO.Translate
|
||||
|
||||
};
|
||||
STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
||||
{
|
||||
L"+%d%s Trefferchance mit Gewehren\n",
|
||||
L"+%d%s Trefferchance mit Schrotflinten\n",
|
||||
L"-%d%s APs benötigt, um Schrotflinten zu repetieren\n",
|
||||
L"-%d%s APs benötigt, um Schrotflinten abzufeuern\n",
|
||||
L"Gibt Schrotflinten einen weiteren Zielklick\n",
|
||||
L"%d weitere Zielklicks für Schrotflinten\n",
|
||||
L"+%d%s effektive Reichweite mit Schrotflinten\n",
|
||||
L"-%d%s APs benötigt, um einzelne Schrotpatronen zu laden\n",
|
||||
L"Gibt Gewehren einen weiteren Zielklick\n",
|
||||
L"%d weitere Zielklicks für Gewehre\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||
{
|
||||
L"-%d%s APs benötigt um mit Pistolen oder Revolvern zu schießen\n",
|
||||
L"+%d%s effektive Reichweite mit Pistolen und Revolvern\n",
|
||||
L"+%d%s Trefferchance mit mit halbautomatischen Pistolen und Revolvern\n",
|
||||
L"+%d%s Trefferchance mit vollautomatischen Pistolen",
|
||||
L" (nur bei Einzelfeuer)",
|
||||
L"+%d%s Zielbonus pro Klick mit halb- und vollautomatischen Pistolen sowie Revolvern\n",
|
||||
L"-%d%s APs benötigt um Pistolen und Revolver in Vorhalte zu bringe\n",
|
||||
L"-%d%s APs benötigt um halb- und vollautomatische Pistolen sowie Revolver nachzuladen\n",
|
||||
L"Gibt für halb- und vollautomatische Pistolen sowie Revolver einen weiteren Zielklick\n",
|
||||
L"%d weiteren Zielklick für halb- und vollautomatische Pistolen sowie Revolver\n",
|
||||
L"Can fan the hammer with revolvers\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsMartialArts[]=
|
||||
{
|
||||
L"-%d%s AP-Kosten für den Nahkampf (bloße Hände oder mit Schlagring)\n",
|
||||
L"+%d%s Trefferchance im Nahkampf mit bloßen Händen\n",
|
||||
L"+%d%s Trefferchance im Nahkampf mit dem Schlagring\n",
|
||||
L"+%d%s Schaden im Nahkampf (bloße Hände oder mit Schlagring)\n",
|
||||
L"+%d%s Ausdauerschaden im Nahkampf (bloße Hände oder mit Schlagring)\n",
|
||||
L"Ein im Nahkampf niedergestreckter Gegner braucht etwas länger um sich zu erholen\n",
|
||||
L"Ein im Nahkampf niedergestreckter Gegner braucht länger um sich zu erholen\n",
|
||||
L"Ein im Nahkampf niedergestreckter Gegner braucht deutlich länger um sich zu erholen\n",
|
||||
L"Ein im Nahkampf niedergestreckter Gegner braucht viel länger um sich zu erholen\n",
|
||||
L"Ein im Nahkampf niedergestreckter Gegner braucht sehr viel länger um sich zu erholen\n",
|
||||
L"Ein im Nahkampf niedergestreckter Gegner schläft wie ein Baby bevor er sich erholt\n",
|
||||
L"Ein im Nahkampf niedergestreckter Gegner steht vermutlich erstmal gar nicht mehr auf\n",
|
||||
L"Ein gezielter Schlag richtet +%d%s mehr Schaden an\n",
|
||||
L"Ein gezielter Tritt richtet +%d%s mehr Schaden an\n",
|
||||
L"+%d%s Chance, Schlägen und Tritten auszuweichen\n",
|
||||
L"Dazu +%d%s Chance mit freien Händen",
|
||||
L" oder nur mit Schlagring",
|
||||
L" (+%d%s mit Schlagring)",
|
||||
L"+Dazu %d%s Chance, Schlägen und Tritten mit ausgerüstetem Schlagring auszuweichen\n",
|
||||
L"+%d%s Chance einem Angriff mit einer beliebigen Nahkampfwaffe auszuweichen\n",
|
||||
L"-%d%s APs benötigt um einen Gegner zu entwaffnen\n",
|
||||
L"-%d%s APs benötigt um die Körperhaltung zu ändern, sich umzudrehen, auf oder von Dächern zu klettern und Hindernisse zu überspringen\n",
|
||||
L"-%d%s APs benötigt um die Körperhaltung zu ändern (stehen, ducken, liegen)\n",
|
||||
L"-%d%s APs benötigt um sich umzudrehen\n",
|
||||
L"-%d%s APs benötigt um auf oder von Dächern zu klettern und Hindernisse zu überspringen\n",
|
||||
L"+%d%s Chance eine Tür erfolgreich einzutreten\n",
|
||||
L"Besondere Animationen für den Nahkampf\n",
|
||||
L"-%d%s Wahrscheinlichkeit bei einem Nahkampfangriff unterbrochen zu werden\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSquadleader[]=
|
||||
{
|
||||
L"+%d%s APs pro Runde für andere Söldner im Einflussbereich\n",
|
||||
L"+%d Erfahrung für umgebende Söldner im Einflussbereich mit weniger Erfahrung als der %s\n",
|
||||
L"+%d Erfahrung beim Berechnen des Gruppeneffekts auf Unterdrückungsfeuer\n",
|
||||
L"+%d%s Resistenz gegen Unterdrückungsfeuer für den %s und andere Söldner im Einflussbereich\n",
|
||||
L"+%d Moralgewinn für andere Söldner im Einflussbereich\n",
|
||||
L"-%d Moralverlust für andere Söldner im Einflussbereich\n",
|
||||
L"Der Einflussbereich hat einen Radius von %d Feldern",
|
||||
L"(%d Felder mit Kopfhörer-Funkgerät)",
|
||||
L"(Gleichzeitig wirksame Boni für einen Söldner begrenzt auf: %d)\n",
|
||||
L"+%d%s Widerstand gegen Furcht für den %s\n",
|
||||
L"Nachteil: %dx Moralverlust bei Tod des %ss für alle anderen Söldner\n",
|
||||
L"+%d%s Wahrscheinlichkeit für gemeinsame Unterbrechungen\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsTechnician[]=
|
||||
{
|
||||
L"+%d%s schnellere Reparaturen\n",
|
||||
L"+%d%s mehr Erfolg beim Knacken normaler und elektronischer Schlösser\n",
|
||||
L"+%d%s mehr Erfolg beim Entschärfen elektronischer Fallen\n",
|
||||
L"+%d%s mehr Erfolg beim Anbringen besonderer Gegenstände und beim Zusammenbau von Einzelteilen\n",
|
||||
L"+%d%s mehr Erfolg beim Beheben von Waffenstörungen im Gefecht\n",
|
||||
L"Der Malus beim Reparieren elektronischer Gegenstände wird um %d%s gesenkt\n",
|
||||
L"Erhöhte Chance, Fallen und Minen zu entdecken (+%d zum Erkennungslevel)\n",
|
||||
L"+%d%s Trefferchance des Roboters, wenn vom %s gesteuert\n",
|
||||
L"Der %s kann den Roboter reparieren\n",
|
||||
L"%d%s Reduzierung des Geschwindigkeitsabzugs beim Reparieren des Roboters\n",
|
||||
L"Able to restore item threshold to 100%% during repair\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsDoctor[]=
|
||||
{
|
||||
L"Kann Patienten operieren (bei Verwendung eines Arztkoffers)\n",
|
||||
L"Die Operation stellt sofort %d%s der verlorenen Lebenspunkte wieder her.",
|
||||
L" (Dieser Vorgang verbraucht einen Großteil des Arztkoffers.)",
|
||||
L"Kann verlorene Attributpunkte (durch kritische Treffer) mittels",
|
||||
L" einer sofortigen Operation oder",
|
||||
L" der Einteilung als Arzt (Sektorübersicht) wiederherstellen.\n",
|
||||
L"+%d%s bessere Heilungsrate der Patienten\n",
|
||||
L"+%d%s schnelleres Anlegen von Wundverbänden\n",
|
||||
L"+%d%s natürliche Regenerationsrate aller Söldner im selben Sektor",
|
||||
L" (maximal %d Instanzen dieses Bonus pro Sektor)",
|
||||
L"Returned health can be boosted an additional %d%s by using blood bags.\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsCovertOps[]=
|
||||
{
|
||||
L"Kann sich als Zivilist oder feindlicher Soldat ausgeben, um hinter die feindlichen Linien zu gelangen\n",
|
||||
L"Wird bei verdächtigen Aktionen, verdächtiger Ausrüstung oder in der Nähe frischer Leichen immer erkannt\n",
|
||||
L"Wird in feindlicher Uniform erkannt, wenn der Feind näher als %d Felder entfernt ist\n",
|
||||
L"Wird in feindlicher Uniform erkannt, wenn eine frische Leiche näher als %d Felder entfernt ist.\n",
|
||||
L"+%d%s Trefferwahrscheinlichkeit mit verdeckten Nahkampfwaffen (z.B. Garotte)\n",
|
||||
L"+%d%s Wahrscheinlichkeit für einen tödlichen Angriff mit verdeckten Nahkampfwaffen (z.B. Garotte)\n",
|
||||
L"Um %d%s verringerte AP-Kosten zum Verkleiden\n",
|
||||
L"Kann feindliche Soldaten zum Überlaufen überreden.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]=
|
||||
{
|
||||
L"Kann Funkausrüstung nutzen\n",
|
||||
L"Kann Artillerieunterstützung von Verbündeten in Nachbarsektoren anfordern\n",
|
||||
L"Kann Funkfrequenzen abhören und feindliche Truppen aufspüren\n",
|
||||
L"Kann den Funkverkehr im ganzen Sektor stören\n",
|
||||
L"Kann nach feindlichen Störsendern suchen, wenn solche aktiv sind\n",
|
||||
L"Kann Unterstützung durch Milizen aus Nachbarsektoren anfordern\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"Keine Boni",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[]=
|
||||
{
|
||||
L"Reduced penalty to shoot if offhand item is equipped by %d%s\n", // TODO.Translate
|
||||
L"+%d%s schnelleres Nachladen mit Magazinen\n",
|
||||
L"+%d%s schnelleres Nachladen mit einzelnen Patronen\n",
|
||||
L"-%d%s APs benötigt um Gegenstände aufzuheben\n",
|
||||
L"-%d%s APs benötigt für die Handhabe des Rucksacks\n",
|
||||
L"-%d%s APs benötigt um mit Türen zu interagieren\n",
|
||||
L"-%d%s APs benötigt um Bomben und Minen zu legen oder zu entschärfen\n",
|
||||
L"-%d%s APs needed to attach items\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsMelee[]=
|
||||
{
|
||||
L"-%d%s APs benötigt für den Angriff mit Klingenwaffen\n",
|
||||
L"+%d%s Trefferchance mit Klingenwaffen\n",
|
||||
L"+%d%s Trefferchance mit Schlagwaffen\n",
|
||||
L"+%d%s Schaden mit Klingenwaffen\n",
|
||||
L"+%d%s Schaden mit Schlagwaffen\n",
|
||||
L"Angriffe mit Nahkampfwaffen richten %d%s mehr Schaden an\n",
|
||||
L"+%d%s Chance Angriffen durch Klingenwaffen auszuweichen\n",
|
||||
L"Dazu +%d%s Chance Klingenwaffen auszuweichen wenn man selber eine in der Hand hat\n",
|
||||
L"+%d%s Chance Angriffen durch Schlagwaffen auszuweichen\n",
|
||||
L"Dazu +%d%s Chance Schlagwaffen auszuweichen wenn man eine Klingenwaffe führt\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsThrowing[]=
|
||||
{
|
||||
L"-%d%s Basis-APs benötigt für den Angriff mit Wurfwaffen\n",
|
||||
L"+%d%s maximale Reichweite beim Einsatz von Wurfwaffen\n",
|
||||
L"+%d%s Trefferchance mit Wurfwaffen\n",
|
||||
L"+%d%s Trefferchance mit Wurfwaffen für jeden Ziel-Klick\n",
|
||||
L"+%d%s Schaden geworfener Klingen\n",
|
||||
L"+%d%s Schaden geworfener Klingen für jeden Ziel-Klick\n",
|
||||
L"+%d%s Chance auf kritischen Treffer beim Angriff mit Wurfwaffen, falls das Ziel den Werfer nicht bemerkt hat\n",
|
||||
L"+%d Multiplikator für kritische Treffer durch Wurfwaffen\n",
|
||||
L"Gibt einen weiteren Zielklick beim Einsatz von Wurfwaffen\n",
|
||||
L"Gibt %d weitere Zielklicks beim Einsatz von Wurfwaffen\n",
|
||||
L"-%d%s APs benötigt um Handgranaten (und ähnliche Objekte) zu werfen\n",
|
||||
L"+%d%s höhere Reichweite beim Werfen von Handgranaten (und ähnliche Objekten)\n",
|
||||
L"+%d%s höhere Trefferwahrscheinlichkeit beim Werfen von Handgranaten (und ähnlichen Objekten)\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNightOps[]=
|
||||
{
|
||||
L"+%d zur effektiven Sichtweite im Dunkeln\n",
|
||||
L"+%d zum allgemeinen effektiven Hörweite\n",
|
||||
L"Dazu +%d zum effektive Hörweite in der Dunkelheit\n",
|
||||
L"+%d zum Unterbrechungs-Modifikator in der Dunkelheit\n",
|
||||
L"-%d weniger Schlafbedarf\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsStealthy[]=
|
||||
{
|
||||
L"-%d%s APs zum Schleichen nötig\n",
|
||||
L"+%d%s Chance beim Schleichen kein Geräusch zu erzeugen zu sein\n",
|
||||
L"+%d%s Chance, 'unsichtbar' zu sein wenn man sich nicht verrät (schleichen)\n",
|
||||
L"Der Abzug der berechneten Sichtdeckung beim Bewegen ist %d%s geringer\n",
|
||||
L"-%d%s Wahrscheinlichkeit um unterbrochen zu werden\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAthletics[]=
|
||||
{
|
||||
L"-%d%s APs benötigt für Bewegung (rennen, aufrecht oder geduckt gehen, gleiten, schwimmen, usw.)\n",
|
||||
L"-%d%s weniger Ausdauerverbrauch für für Bewegung, Dachklettern, Hindernisse Überwinden, usw.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsBodybuilding[]=
|
||||
{
|
||||
L"Hat eine Schadensresistenz von %d%s\n",
|
||||
L"+%d%s effektive Stärke für das Berechnen der maximalen Traglast\n",
|
||||
L"%d%s weniger Energieverlust beim Erleiden von Schlägen und Tritten\n",
|
||||
L"Fällt bei Beintreffern weniger leicht um durch um %d%s erhöhte Schadenstoleranz\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsDemolitions[]=
|
||||
{
|
||||
L"+%d%s höherer Schaden für gelegte Bomben und Minen\n",
|
||||
L"+%d%s mehr Erfolg beim Anbringen von Zündern\n",
|
||||
L"+%d%s mehr Erfolg beim Legen und Entschärfen von Bomben\n",
|
||||
L"Geringere Wahrscheinlichkeit, dass Gegner gelegte Bomben und Minen entdecken (%d zum Bombenlevel)\n",
|
||||
L"Höhere Wahrscheinlichkeit Türen mit einer Sprengladung öffnen zu können (Schaden wird mit %d multipliziert)\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsTeaching[]=
|
||||
{
|
||||
L"Bei der Ausbildung von Milizen +%d%s schneller\n",
|
||||
L"Bei der Ausbildung von Milizen +%d%s Bonus zur effektiven Führungsfähigkeit\n",
|
||||
L"Beim Ausbilden von Söldnern +%d%s schneller\n",
|
||||
L"Beim Ausbilden von Söldnern +d% zum effektiven Fähigkeitslevel des Ausbilders\n",
|
||||
L"Beim eigenständigen Lernen +%d%s schneller\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsScouting[]=
|
||||
{
|
||||
L"+%d%% zur effektiven Sichtweite mit Zielfernrohren an Waffen\n",
|
||||
L"+%d%% zur effektiven Sichtweite mit Doppelfernrohren und losen Zielfernrohren\n",
|
||||
L"-%d%% Tunnelblick mit Doppelfernrohren und losen Zielfernrohren\n",
|
||||
L"Auf der Weltkarte wird in angrenzenden Sektoren die genaue Feindstärke (Anzahl) bestimmt\n",
|
||||
L"Auf der Weltkarte wird in angrenzenden Sektoren die Präsenz von vorhandenem Feind enthüllt\n",
|
||||
L"Verhindert, dass der Feind die Gruppe in den Hinterhalt lockt\n",
|
||||
L"Verhindert, das Umzingeln der Gruppe durch Bloodcats\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
|
||||
{
|
||||
L"Informiert täglich über die Ansichten der Teammitglieder\n",
|
||||
L"Verhindert mögliches Fehlverhalten der Teammitglieder (Alkohol- und Drogenkonsum, Diebstahl)\n",
|
||||
L"Kann in Städten Propaganda verbreiten\n",
|
||||
L"Kann in Städten Gerüchten nachgehen\n",
|
||||
L"Kann als Informant in Gefängnisse eingeschleust werden\n",
|
||||
L"Kann bei guter Moral den allgemeinen Ruf jeden Tag um %d verbessern\n",
|
||||
L"Erhält +%d auf die Hörweite",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSurvival[] =
|
||||
{
|
||||
L"-%d%s Reisezeit der Gruppe zwischen Sektoren zu Fuß\n",
|
||||
L"-%d%s Reisezeit der Gruppe zwischen Sektoren bei Benutzung von Fahrzeugen (außer dem Helikopter)\n",
|
||||
L"-%d%s weniger Energieverlust beim Reisen zwischen Sektoren\n",
|
||||
L"-%d%s Einfluss durch schlechtes Wetter\n",
|
||||
L"-%d%s Abnutzung von Tarnfarbe durch Wasser oder Zeit\n",
|
||||
L"Kann Spuren bis zu %d Felder weit erkennen\n",
|
||||
|
||||
L"%s%d%% disease resistance\n", //TODO.Translate
|
||||
L"%s%d%% food consumption\n",
|
||||
L"%s%d%% water consumption\n",
|
||||
L"+%d%% snake evasion\n", // TODO.Translate
|
||||
L"+%d%% Tarnungs-Effektivität\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"Keine Boni",
|
||||
};
|
||||
|
||||
STR16 gzIMPOldSkillTraitsHelpTexts[]=
|
||||
{
|
||||
L"+%d%s Bonus zum Schlösser Knacken\n", // 0
|
||||
L"+%d%s Trefferchance im Faustkampf\n",
|
||||
L"+%d%s Schaden im Faustkampf\n",
|
||||
L"+%d%s Chance Schlägen auszuweichen\n",
|
||||
L"Bei der Reparatur und Bedienung von Elektrotechnik\n(Schlösser, Fallen, Fernzünder, Roboter...) kein Abzug\n",
|
||||
L"+%d zur effektiven Sichtweite im Dunkeln\n",
|
||||
L"+%d zur allgemeinen effektiven Hörweite\n",
|
||||
L"Dazu +%d zur effektiven Hörweite in der Dunkelheit\n",
|
||||
L"+%d zum Unterbrechungsmodifikator in der Dunkelheit\n",
|
||||
L"-%d weniger Schlafbedarf\n",
|
||||
L"+%d%s maximale Reichweite beim Werfen\n", // 10
|
||||
L"+%d%s Trefferchance beim Werfen\n",
|
||||
L"+%d%s Chance auf sofortige Tötung mit Wurfmesser wenn unbemerkt\n",
|
||||
L"+%d%s Bonus zum Trainieren von Milizen und anderen Söldnern\n",
|
||||
L"+%d%s effektive Führungsfertigkeit beim Ausbilden von Milizen\n",
|
||||
L"+%d%s Trefferchance mit Raketen-/Granatwerfern und Mörsern\n",
|
||||
L"Trefferchancenabzug bei Dauerfeuer und Feuerstoß wird durch %d geteilt\n",
|
||||
L"Das Verschießen von zu viel Munition bei Dauerfeuer wird unwahrscheinlicher\n",
|
||||
L"+%d%s Chance sich leise zu bewegen\n",
|
||||
L"+%d%s stealth (unsichtbar sein, wenn man sich nicht verrät)\n",
|
||||
L"Beim Schießen mit zwei Waffen mit jeder so präzise wie mit nur einer\n", // 20
|
||||
L"+%d%s Trefferchance mit Stichwaffen\n",
|
||||
L"+%d%s Chance, Stichwaffen auszuweichen, wenn man selber eine führt\n",
|
||||
L"+%d%s Chance, Stichwaffen auszuweichen, wenn man etwas anderes in der Hand hat\n",
|
||||
L"+%d%s Chance Schlägen auszuweichen, wenn man eine Stichwaffe hält\n",
|
||||
L"-%d%s effektive Reichweite zum Ziel mit allen Waffen\n",
|
||||
L"+%d%s Bonus zum Zielen pro Mausklick\n",
|
||||
L"Immer vollständig getarnt sein\n",
|
||||
L"+%d%s Trefferchance im Faustkampf\n",
|
||||
L"+%d%s Schaden im Faustkampf\n",
|
||||
L"+%d%s Chance, Schläge mit leeren Händen zu blocken\n", // 30
|
||||
L"+%d%s Chance, Schläge mit etwas in der Hand zu blocken\n",
|
||||
L"+%d%s Chance, Stichwaffenangriffen auszuweichen\n",
|
||||
L"Kann angeschlagenen Gegnern einen Tornadotritt verpassen, der doppelten Schaden anrichtet\n",
|
||||
L"Sie erhalten besondere Animationen für den Faustkampf (etwas fernöstlicher)\n",
|
||||
L"Keine Boni",
|
||||
};
|
||||
|
||||
STR16 gzIMPNewCharacterTraitsHelpTexts[]=
|
||||
{
|
||||
L"V: Keine Vorteile.\nN: Keine Nachteile.",
|
||||
L"V: Ist leistungsfähiger, wenn andere Söldner in der Nähe sind.\nN: Erhält keinen Moralzuwachs, wenn niemand in der Nähe ist.",
|
||||
L"V: Ist leistungsfähiger, wenn niemand in der Nähe ist.\nN: Erhält keinen Moralzuwachs, wenn andere Söldner in der Nähe sind.",
|
||||
L"V: Die Moral sinkt etwas langsamer und steigt schneller als normal.\nN: Hat eine geringere Chance, Fallen und Minen zu entdecken.",
|
||||
L"V: Erhält Boni beim Ausbilden von Milizen und kann besser mit Menschen reden.\nN: Erhält keinen Moralzuwachs für Aktionen anderer Söldner.",
|
||||
L"V: Lernt durch eigenes Training und Ausbildung etwas schneller.\nN: Hat weniger Unterdrückungs- und Angstresistenz.",
|
||||
L"V: Verbraucht etwas weniger Energie, außer bei medizinischen und technischen Aufgaben sowie einer anspruchsvollen Ausbildung.\nN: Weisheit, Führungskraft, Sprengstoff-, Mechanik- und Medizinkenntnisse entwickeln sich langsamer.",
|
||||
L"V: Hat eine leicht erhöhte Trefferchance bei Feuerstößen und richtet etwas mehr Schaden im Nahkampf an.\n Erhält ein wenig mehr Moralzuwachs beim Töten.\nN: Erledigt Aufgaben, die Geduld erfordern schlechter (Reparatur, Schlösser knacken, Fallen entschärfen, Patientenversorgung und Milizausbildung).",
|
||||
L"V: Erhält Boni für Aufgaben, die Geduld erfordern (Reparatur, Schlösser knacken, Fallen entschärfen, Patientenversorgung und Milizausbildung).\nN: Erhält seltener Unterbrechungen im Kampf.",
|
||||
L"V: Erhöhte Resistenz gegenüber Unterdrückungsfeuer und Panikanfällen.\nVerliert weniger Moral durch Verwundung oder Todesfälle im Team.\nN: Wird leichter getroffen, und kann seltener Feindfeuer durch schnelle Bewegung ausweichen.",
|
||||
L"V: Erhält Moralzuwachs für nichtkämpferische Tätigkeiten (Außnahme: Milizausbildung).\nN: Erhält keinen Moralzuwachs für das Töten von Gegnern.",
|
||||
L"V: Hat eine höhere Chance, Statusschäden anzurichten, und kann besonders fiese Wunden verursachen.\n Erhält mehr Moral für erfolgreiche Statusschäden.\nN: Kann schlechter mit Leuten reden. Die Moral sinkt ohne Kampf schneller.",
|
||||
L"V: Ist leistungsfähiger, wenn Söldner des anderen Geschlechts in der Nähe sind.\nN: Die Moral anderer naher Söldner des gleichen Geschlechts steigt langsamer.",
|
||||
L"A: Gains morale when retreating.\nD: Loses morale when encountering numerically superior enemy forces.", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPDisabilitiesHelpTexts[]=
|
||||
{
|
||||
L"Keine besonderen Einschränkungen.",
|
||||
L"Leidet an Atemproblemen und zeigt allgemein schlechtere Leistung in tropischen und Wüstensektoren.",
|
||||
L"Erleidet allein in schwierigen Situationen Panikattacken.",
|
||||
L"Zeigt schlechtere Leistung unter Tage.",
|
||||
L"Kann bei Schwimmversuchen leicht ertrinken.",
|
||||
L"Erträgt den Anblick großer Insekten nicht und\nzeigt etwas schlechtere Leistung in Wüsten- oder tropischen oder Sektoren.",
|
||||
L"Vergisst manchmal seine Befehle und verliert dadurch im Kampf einen Teil seiner APs.",
|
||||
L"Dreht manchmal durch und schießt dabei hin und wieder wild um sich.\nVerliert Moral, wenn das mit der ausgerüsteten Waffe nicht möglich ist.",
|
||||
L"Deutlich geringere Hörweite.",
|
||||
L"Geringere Sichtweite.",
|
||||
L"Drastically increased bleeding.", // TODO.Translate
|
||||
L"Performance suffers while on a rooftop.", // TODO.Translate
|
||||
L"Occasionally harms self.",
|
||||
};
|
||||
|
||||
STR16 gzIMPProfileCostText[]=
|
||||
{
|
||||
L"Ein Profil kostet $%d. Genehmigen Sie die Zahlung?",
|
||||
};
|
||||
|
||||
STR16 zGioNewTraitsImpossibleText[]=
|
||||
{
|
||||
L"Sie können das neue Fertigkeitensystem nicht ohne aktiviertem PROFEX-Utility benutzen. Suchen Sie in Ihrer ja2_options.ini den Eintrag: READ_PROFILE_DATA_FROM_XML.",
|
||||
};
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
//@@@: New string as of March 3, 2000.
|
||||
STR16 gzIronManModeWarningText[]=
|
||||
{
|
||||
L"Sie haben sich für den IRONMAN-Modus entschieden. Mit dieser Einstellung können Sie das Spiel nicht speichern, wenn Feinde im Sektor sind. Sind Sie sicher, dass Sie im IRONMAN-Modus spielen wollen?",
|
||||
L"Sie haben sich für den SOFT IRONMAN-Modus entschieden. Mit dieser Einstellung können Sie das Spiel nicht speichern, wenn der Rundenmodus im taktischen Kampf aktiv ist. Sind Sie sicher, dass Sie im SOFT IRONMAN-Modus spielen wollen?",
|
||||
L"Sie haben sich für den EXTREME IRONMAN-Modus entschieden. Mit dieser Einstellung können Sie das Spiel nur einmal am Tag speichern, um %02d:00. Sind Sie sicher, dass Sie im EXTREME IRONMAN-Modus spielen wollen?",
|
||||
};
|
||||
|
||||
STR16 gzDisplayCoverText[]=
|
||||
{
|
||||
L"Deckung: %d/100 %s, Helligkeit: %d/100",
|
||||
L"Waffen-Reichweite: %d/%d Felder, Trefferwahrscheinlichkeit: %d/100",
|
||||
L"Waffen-Reichweite: %d/%d Felder, Lauf-Genauigkeit: %d/100",
|
||||
L"Deckungsanzeige ausschalten",
|
||||
L"Zeige Ansicht für Söldner",
|
||||
L"Zeige Gefahrenbereich für Söldner",
|
||||
L"Wald", // wanted to use jungle , but wood is shorter in german too (dschungel vs wald)
|
||||
L"Stadt",
|
||||
L"Wüste",
|
||||
L"Schnee", // NOT USED!!!
|
||||
L"Wald und Wüste",
|
||||
L"Wald und Stadt",
|
||||
L"Wald und Schnee",
|
||||
L"Wüste und Stadt",
|
||||
L"Wüste und Schnee",
|
||||
L"Stadt und Schnee",
|
||||
L"-", // yes empty for now
|
||||
L"Deckung: %d/100, Helligkeit: %d/100",
|
||||
L"Footstep volume", // TODO.Translate
|
||||
L"Stealth difficulty",
|
||||
L"Trap level",
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,87 +0,0 @@
|
||||
#ifndef _JA25GERMANTEXT__H_
|
||||
#define _JA25GERMANTEXT__H_
|
||||
|
||||
extern STR16 gzIMPSkillTraitsText[];
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// added by SANDRO
|
||||
extern STR16 gzIMPSkillTraitsTextNewMajor[];
|
||||
extern STR16 gzIMPSkillTraitsTextNewMinor[];
|
||||
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSniper[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRanger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsGunslinger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsMartialArts[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSquadleader[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsTechnician[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsDoctor[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsCovertOps[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsNone[];
|
||||
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsMelee[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsThrowing[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsStealthy[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNightOps[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAthletics[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsBodybuilding[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsDemolitions[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsTeaching[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsScouting[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsSnitch[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSurvival[]; // added by Flugente
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNone[];
|
||||
|
||||
extern STR16 gzIMPOldSkillTraitsHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPNewCharacterTraitsHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPDisabilitiesHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPProfileCostText[];
|
||||
|
||||
extern STR16 zGioNewTraitsImpossibleText[];
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
{
|
||||
IMM__IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__SOFT_IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__EXTREME_IRON_MAN_MODE_WARNING_TEXT,
|
||||
};
|
||||
extern STR16 gzIronManModeWarningText[];
|
||||
|
||||
// display cover message (for tactical usually, seperated)
|
||||
// display cover terrain type info (used in cover information)
|
||||
enum
|
||||
{
|
||||
DC_MSG__COVER_INFORMATION,
|
||||
DC_MSG__GUN_RANGE_INFORMATION,
|
||||
DC_MSG__NCTH_GUN_RANGE_INFORMATION,
|
||||
DC_MSG__COVER_DRAW_OFF,
|
||||
DC_MSG__COVER_DRAW_MERC_VIEW,
|
||||
DC_MSG__COVER_DRAW_ENEMY_VIEW,
|
||||
DC_TTI__WOOD,
|
||||
DC_TTI__URBAN,
|
||||
DC_TTI__DESERT,
|
||||
DC_TTI__SNOW,
|
||||
DC_TTI__WOOD_AND_DESERT,
|
||||
DC_TTI__WOOD_AND_URBAN,
|
||||
DC_TTI__WOOD_AND_SNOW,
|
||||
DC_TTI__DESERT_AND_URBAN,
|
||||
DC_TTI__DESERT_AND_SNOW,
|
||||
DC_TTI__URBAN_AND_SNOW,
|
||||
DC_TTI__UNKNOWN,
|
||||
DC_MSG__COVER_INFORMATION_WITH_DETAILED_CAMO,
|
||||
DC_TTI__DETAILED_SOUND,
|
||||
DC_TTI__DETAILED_STEALTH,
|
||||
DC_TTI__DETAILED_TRAP_LEVEL,
|
||||
};
|
||||
extern STR16 gzDisplayCoverText[];
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,529 +0,0 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("ITALIAN")
|
||||
|
||||
#include "Language Defines.h"
|
||||
#ifdef ITALIAN
|
||||
#include "text.h"
|
||||
#include "Fileman.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25ItalianText_public_symbol(void){;}
|
||||
|
||||
#ifdef ITALIAN
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - New STOMP laptop strings
|
||||
//these strings match up with the defines in IMP Skill trait.cpp
|
||||
STR16 gzIMPSkillTraitsText[]=
|
||||
{
|
||||
L"Scassinare",
|
||||
L"Lottare",
|
||||
L"Elettronica",
|
||||
L"Operazioni Notturne",
|
||||
L"Lanciare",
|
||||
L"Insegnare",
|
||||
L"Armi Pesanti",
|
||||
L"Armi Automatiche",
|
||||
L"Muoversi Silenziosamente",
|
||||
L"Ambidestro",
|
||||
L"Combattimento con il coltello",
|
||||
L"Cecchino",
|
||||
L"Mimetismo",
|
||||
L"Arti Marziali",
|
||||
|
||||
L"Nessuna",
|
||||
L"Specialità I.M.P.",
|
||||
L"(Expert)",
|
||||
};
|
||||
|
||||
//added another set of skill texts for new major traits
|
||||
STR16 gzIMPSkillTraitsTextNewMajor[]=
|
||||
{
|
||||
L"Auto Weapons",
|
||||
L"Heavy Weapons",
|
||||
L"Marksman",
|
||||
L"Hunter",
|
||||
L"Gunslinger",
|
||||
L"Hand to Hand",
|
||||
L"Deputy",
|
||||
L"Technician",
|
||||
L"Paramedic",
|
||||
L"Covert Ops", // TODO.Translate
|
||||
|
||||
L"None",
|
||||
L"I.M.P. Major Traits",
|
||||
// second names
|
||||
L"Machinegunner",
|
||||
L"Bombardier",
|
||||
L"Sniper",
|
||||
L"Ranger",
|
||||
L"Gunfighter",
|
||||
L"Martial Arts",
|
||||
L"Squadleader",
|
||||
L"Engineer",
|
||||
L"Doctor",
|
||||
L"Spy", // TODO.Translate
|
||||
};
|
||||
|
||||
//added another set of skill texts for new minor traits
|
||||
STR16 gzIMPSkillTraitsTextNewMinor[]=
|
||||
{
|
||||
L"Ambidextrous",
|
||||
L"Melee",
|
||||
L"Throwing",
|
||||
L"Night Ops",
|
||||
L"Stealthy",
|
||||
L"Athletics",
|
||||
L"Bodybuilding",
|
||||
L"Demolitions",
|
||||
L"Teaching",
|
||||
L"Scouting",
|
||||
L"Radio Operator",
|
||||
L"Survival", //TODO.Translate
|
||||
|
||||
L"None",
|
||||
L"I.M.P. Minor Traits",
|
||||
};
|
||||
|
||||
//these texts are for help popup windows, describing trait properties
|
||||
STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[]=
|
||||
{
|
||||
L"+%d%s CtH with Assault Rifles\n",
|
||||
L"+%d%s CtH with SMGs\n",
|
||||
L"+%d%s CtH with LMGs\n",
|
||||
L"-%d%s APs to fire LMGs on autofire or burst mode\n",
|
||||
L"-%d%s APs to ready LMGs\n",
|
||||
L"Auto fire/burst CtH penalty reduced by %d%s\n",
|
||||
L"Reduced chance for shooting extra bullets on autofire\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[]=
|
||||
{
|
||||
L"-%d%s APs to fire grenade launchers\n",
|
||||
L"-%d%s APs to fire rocket launchers\n",
|
||||
L"+%d%s CtH with grenade launchers\n",
|
||||
L"+%d%s CtH with rocket launchers\n",
|
||||
L"-%d%s APs to fire mortar\n",
|
||||
L"Reduced penalty for mortar CtH by %d%s\n",
|
||||
L"+%d%s damage to tanks with heavy weapons, grenades and explosives\n",
|
||||
L"+%d%s damage to other targets with heavy weapons\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSniper[]=
|
||||
{
|
||||
L"+%d%s CtH with Rifles\n",
|
||||
L"+%d%s CtH with Sniper Rifles\n",
|
||||
L"-%d%s effective range to target with all weapons\n",
|
||||
L"+%d%s aiming bonus per aim click (except for handguns)\n",
|
||||
L"+%d%s damage on shot",
|
||||
L" plus",
|
||||
L" per every aim click",
|
||||
L" after first",
|
||||
L" after second",
|
||||
L" after third",
|
||||
L" after fourth",
|
||||
L" after fifth",
|
||||
L" after sixth",
|
||||
L" after seventh",
|
||||
L"-%d%s APs to chamber a round with bolt-action rifles \n",
|
||||
L"Adds one more aim click for rifle-type guns\n",
|
||||
L"Adds %d more aim clicks for rifle-type guns\n",
|
||||
L"Makes aiming faster with rifle-type guns by one aim click\n",
|
||||
L"Makes aiming faster with rifle-type guns by %d aim clicks\n",
|
||||
L"Focus skill: +%d interrupt modifier in marked area\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
||||
{
|
||||
L"+%d%s CtH with Rifles\n",
|
||||
L"+%d%s CtH with Shotguns\n",
|
||||
L"-%d%s APs needed to pump Shotguns\n",
|
||||
L"-%d%s APs to fire Shotguns\n",
|
||||
L"Adds %d more aim click for Shotguns\n",
|
||||
L"Adds %d more aim clicks for Shotguns\n",
|
||||
L"+%d%s effective range with Shotguns\n",
|
||||
L"-%d%s APs to reload single Shotgun shells\n",
|
||||
L"Adds %d more aim click for Rifles\n",
|
||||
L"Adds %d more aim clicks for Rifles\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||
{
|
||||
L"-%d%s APs to fire with pistols and revolvers\n",
|
||||
L"+%d%s effective range with pistols and revolvers\n",
|
||||
L"+%d%s CtH with pistols and revolvers\n",
|
||||
L"+%d%s CtH with machine pistols",
|
||||
L" (on single shots only)",
|
||||
L"+%d%s aiming bonus per click with pistols, machine pistols and revolvers\n",
|
||||
L"-%d%s APs to ready pistols and revolvers\n",
|
||||
L"-%d%s APs to reload pistols, machine pistols and revolvers\n",
|
||||
L"Adds %d more aim click for pistols, machine pistols and revolvers\n",
|
||||
L"Adds %d more aim clicks for pistols, machine pistols and revolvers\n",
|
||||
L"Can fan the hammer with revolvers\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsMartialArts[]=
|
||||
{
|
||||
L"-%d%s AP for hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"+%d%s CtH with hand to hand attacks with bare hands\n",
|
||||
L"+%d%s CtH with hand to hand attacks with brass knuckles\n",
|
||||
L"+%d%s damage of hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"+%d%s breath damage of hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes slightly longer to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes longer to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes much longer to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes very long to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes extremely long to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes long hours to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks probably never stand up\n",
|
||||
L"Focused (aimed) punch deals +%d%s more damage\n",
|
||||
L"Special spinning kick deals +%d%s more damage\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks\n",
|
||||
L"+%d%s additional chance to dodge HtH attacks with bare hands",
|
||||
L" or brass knuckles",
|
||||
L" (+%d%s with brass knuckles)",
|
||||
L"+%d%s additional chance to dodge HtH attacks with brass knuckles\n",
|
||||
L"+%d%s chance to dodge attacks by any melee weapon\n",
|
||||
L"-%d%s APs to steal weapon from enemy hands\n",
|
||||
L"-%d%s APs to change stance (stand, crouch, lie down), turn around, climb on/off roof and jump obstacles\n",
|
||||
L"-%d%s APs to change stance (stand, crouch, lie down)\n",
|
||||
L"-%d%s APs to turn around\n",
|
||||
L"-%d%s APs to climb on/off roof and jump obstacles\n",
|
||||
L"+%d%s chance to kick open doors\n",
|
||||
L"Gains special animations for hand to hand combat\n",
|
||||
L"-%d%s chance to be interrupted when charging towards an enemy on close range\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSquadleader[]=
|
||||
{
|
||||
L"+%d%s APs per round of other mercs in vicinity\n",
|
||||
L"+%d effective exp level of other mercs in vicinity, which have lesser level than the %s\n",
|
||||
L"+%d effective exp level to count as a standby when counting friends' bonus for suppression\n",
|
||||
L"+%d%s total suppression tolerance for other mercs in the vicinity and %s himself\n",
|
||||
L"+%d morale gain for other mercs in the vicinity\n",
|
||||
L"-%d morale loss for other mercs in the vicinity\n",
|
||||
L"The vicinity for bonuses is %d tiles",
|
||||
L" (%d tiles with extended ears)",
|
||||
L"(Max simultaneous bonuses for one soldier is %d)\n",
|
||||
L"+%d%s fear resistence of %s\n",
|
||||
L"Drawback: %dx morale loss for %s's death for all other mercs\n",
|
||||
L"+%d%s chance to trigger collective interrupts\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsTechnician[]=
|
||||
{
|
||||
L"+%d%s to repair speed\n",
|
||||
L"+%d%s to lockpick (normal/electronic locks)\n",
|
||||
L"+%d%s to disarm electronic traps\n",
|
||||
L"+%d%s to attach special items and combining things\n",
|
||||
L"+%d%s to unjamm a gun in combat\n",
|
||||
L"Reduced penalty to repair electronic items by %d%s\n",
|
||||
L"Increased chance to detect traps and mines (+%d detect level)\n",
|
||||
L"+%d%s robot's CtH controlled by the %s\n",
|
||||
L"%s trait grants ability to repair the robot\n",
|
||||
L"Reduced penalty to repair speed of the robot by %d%s\n",
|
||||
L"Able to restore item threshold to 100%% during repair\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsDoctor[]=
|
||||
{
|
||||
L"Able to use medical bag to perform surgical intervention on wounded soldier\n",
|
||||
L"Surgery instantly returns %d%s of lost health back.",
|
||||
L" (This will deplete the medical bag.)",
|
||||
L"Able to heal lost stats (from critical hits) by",
|
||||
L" surgery or",
|
||||
L" doctor assignment.\n",
|
||||
L"+%d%s effectiveness on doctor-patient assignment\n",
|
||||
L"+%d%s bandaging speed\n",
|
||||
L"+%d%s natural regeneration speed for all soldiers in the same sector",
|
||||
L" (max %d of these bonuses per sector stack)",
|
||||
L"Returned health can be boosted an additional %d%s by using blood bags.\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsCovertOps[]=
|
||||
{
|
||||
L"Able to disguise as a civilian or soldier to slip behind enemy lines.\n",
|
||||
L"Will be detected if performing suspicious actions, having\nsuspicious gear or being near fresh corpses.\n",
|
||||
L"Will be detected if disguised as a soldier and\ncloser than %d tiles to the enemy.\n",
|
||||
L"Will be detected if disguised as a soldier and\ncloser than %d tiles to a fresh corpse.\n",
|
||||
L"+%d%s CtH with covert melee weapons\n",
|
||||
L"+%d%s chance of instakill with covert melee weapons\n",
|
||||
L"Disguise AP cost lowered by %d%s.\n",
|
||||
L"Can convince enemy soldiers to secretly change sides.\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]= // TODO.Translate
|
||||
{
|
||||
L"Can use communications equipment.\n",
|
||||
L"Can call in artillery strikes from allies in neighbouring sectors.\n",
|
||||
L"Via Frequency Scan assignment, enemy patrols can be located.\n",
|
||||
L"Communications can be jammed sector-wide.\n",
|
||||
L"If communications are jammed, an operator can scan for the jamming device.\n",
|
||||
L"Can call in militia reinforcements from neighbouring sectors.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[]=
|
||||
{
|
||||
L"Reduced penalty to shoot if offhand item is equipped by %d%s\n", // TODO.Translate
|
||||
L"+%d%s speed on reloading guns with magazines\n",
|
||||
L"+%d%s speed on reloading guns with loose rounds\n",
|
||||
L"-%d%s APs to pickup items\n",
|
||||
L"-%d%s APs to work backpack\n",
|
||||
L"-%d%s APs to handle doors\n",
|
||||
L"-%d%s APs to plant/remove bombs and mines\n",
|
||||
L"-%d%s APs to attach items\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsMelee[]=
|
||||
{
|
||||
L"-%d%s APs to attack with blades\n",
|
||||
L"+%d%s CtH with blades\n",
|
||||
L"+%d%s CtH with blunt melee weapons\n",
|
||||
L"+%d%s damage with blades\n",
|
||||
L"+%d%s damage with blunt melee weapons\n",
|
||||
L"Aimed attack with any melee weapon deals +%d%s damage\n",
|
||||
L"+%d%s chance to dodge attack from melee blades\n",
|
||||
L"+%d%s additional chance to dodge melee blades if holding a blade\n",
|
||||
L"+%d%s chance to dodge attack from blunt melee weapons\n",
|
||||
L"+%d%s additional chance to dodge blunt melee weapons if holding a blade\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsThrowing[]=
|
||||
{
|
||||
L"-%d%s basic APs to throw blades\n",
|
||||
L"+%d%s max range when throwing blades\n",
|
||||
L"+%d%s CtH when throwing blades\n",
|
||||
L"+%d%s CtH when throwing blades per aim click\n",
|
||||
L"+%d%s damage with throwing blades\n",
|
||||
L"+%d%s damage with throwing blades per aim click\n",
|
||||
L"+%d%s chance to inflict critical hit with throwing blade if not seen or heard\n",
|
||||
L"+%d critical hit with throwing blade multiplier\n",
|
||||
L"Adds %d more aim click for throwing blades\n",
|
||||
L"Adds %d more aim clicks for throwing blades\n",
|
||||
L"-%d%s APs to throw grenades\n",
|
||||
L"+%d%s max range when throwing grenades\n",
|
||||
L"+%d%s CtH when throwing grenades\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNightOps[]=
|
||||
{
|
||||
L"+%d to effective sight range in the dark\n",
|
||||
L"+%d to general effective hearing range\n",
|
||||
L"+%d additional hearing range in the dark\n",
|
||||
L"+%d to interrupts modifier in the dark\n",
|
||||
L"-%d need to sleep\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsStealthy[]=
|
||||
{
|
||||
L"-%d%s APs to move quietly\n",
|
||||
L"+%d%s chance to move quietly\n",
|
||||
L"+%d%s stealth (being 'invisible' if unnoticed)\n",
|
||||
L"Reduced cover penalty for movement by %d%s\n",
|
||||
L"-%d%s chance to be interrupted\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAthletics[]=
|
||||
{
|
||||
L"-%d%s APs for movement (running, walking, squatting, crawling, swimming, etc.)\n",
|
||||
L"-%d%s energy spent for moving, roof-climbing, obstacle-jumping, swimming, etc.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsBodybuilding[]=
|
||||
{
|
||||
L"%d%s damage resistance\n",
|
||||
L"+%d%s effective strength for carrying weight capacity\n",
|
||||
L"Reduced energy lost when hit by HtH attack by %d%s\n",
|
||||
L"Increased damage needed to fall down by %d%s if hit on legs\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsDemolitions[]=
|
||||
{
|
||||
L"+%d%s damage for set bombs and mines\n",
|
||||
L"+%d%s to attaching detonators check\n",
|
||||
L"+%d%s to planting/removing bombs check\n",
|
||||
L"Decreased chance of enemy detecting your bombs and mines (+%d bomb level)\n",
|
||||
L"Increased chance for shaped charge on opening doors (damage multiplied by %d)\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsTeaching[]=
|
||||
{
|
||||
L"+%d%s bonus to militia training speed\n",
|
||||
L"+%d%s bonus to effective leadership for determining militia training\n",
|
||||
L"+%d%s bonus to teach other mercs\n",
|
||||
L"Skill value treated to be +%d higher for being able to teach this skill to other mercs\n",
|
||||
L"+%d%s bonus to train stats through self-practice assignment\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsScouting[]=
|
||||
{
|
||||
L"+%d%% to effective sight range with scopes on weapons\n",
|
||||
L"+%d%% to effective sight range with binoculars (and scopes separated from weapons)\n",
|
||||
L"-%d%% tunnel vision with binoculars (and scopes separated from weapons)\n",
|
||||
L"If in sector, adjacent sectors will show exact number of enemies\n",
|
||||
L"If in sector, adjacent sectors will show presence of enemies, if any\n",
|
||||
L"Prevents enemy ambushes on your squad\n",
|
||||
L"Prevents bloodcat ambushes on your squad\n",
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
|
||||
{
|
||||
L"Will occasionally inform you about his teammates' opinions.\n", // TODO.Translate
|
||||
L"Prevents teammates' misbehaviour (drugs, alcohol, scrounging).\n", // TODO.Translate
|
||||
L"Can spread propaganda in towns.\n", // TODO.Translate
|
||||
L"Can gather rumours in towns.\n", // TODO.Translate
|
||||
L"Can be put undercover in prisons.\n", // TODO.Translate
|
||||
L"Increases your reputation by %d every day if in good morale.\n", // TODO.Translate
|
||||
L"+%d to effective hearing range\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSurvival[] = // TODO.Translate
|
||||
{
|
||||
L"-%d%s travel time needed between sectors if traveling by foot\n",
|
||||
L"-%d%s travel time needed between sectors if traveling in vehicle (except helicopter)\n",
|
||||
L"-%d%s less energy spent for travelling between sectors\n",
|
||||
L"-%d%s weather penalties\n",
|
||||
L"-%d%s worn out speed of camouflage by water or time\n",
|
||||
L"Can spot tracks up to %d tiles away\n",
|
||||
|
||||
L"%s%d%% disease resistance\n",
|
||||
L"%s%d%% food consumption\n",
|
||||
L"%s%d%% water consumption\n",
|
||||
L"+%d%% snake evasion\n", // TODO.Translate
|
||||
L"+%d%% camouflage effectiveness\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPOldSkillTraitsHelpTexts[]=
|
||||
{
|
||||
L"+%d%s bonus to lockpicking\n", // 0
|
||||
L"+%d%s hand to hand chance to hit\n",
|
||||
L"+%d%s hand to hand damage\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks\n",
|
||||
L"Eliminates penalty to repair and handle\nelectronic things (locks, traps, rem. detonators, robot, etc.)\n",
|
||||
L"+%d to effective sight range in the dark\n",
|
||||
L"+%d to general effective hearing range\n",
|
||||
L"+%d extra hearing range in the dark\n",
|
||||
L"+%d to interrupts modifier in the dark\n",
|
||||
L"-%d need to sleep\n",
|
||||
L"+%d%s max range when throwing anything\n", // 10
|
||||
L"+%d%s chance to hit when throwing anything\n",
|
||||
L"+%d%s chance to instantly kill by throwing knife if not seen or heard\n",
|
||||
L"+%d%s bonus to militia training and other mercs instructing speed\n",
|
||||
L"+%d%s effective leadership for militia training calculations\n",
|
||||
L"+%d%s chance to hit with rocket/grenade launchers and mortar\n",
|
||||
L"Auto fire/burst chance to hit penalty is divided by %d\n",
|
||||
L"Reduced chance for shooting unwanted bullets on autofire\n",
|
||||
L"+%d%s chance to move quietly\n",
|
||||
L"+%d%s stealth (being 'invisible' if unnoticed)\n",
|
||||
L"Eliminates CtH penalty when firing two weapons at once\n", // 20
|
||||
L"+%d%s chance to hit with melee blades\n",
|
||||
L"+%d%s chance to dodge attacks by melee blades if having blade in hands\n",
|
||||
L"+%d%s chance to dodge attacks by melee blades if having anything else in hands\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks if having blade in hands\n",
|
||||
L"-%d%s effective range to target with all weapons\n",
|
||||
L"+%d%s aiming bonus per aim click\n",
|
||||
L"Provides permanent camouflage\n",
|
||||
L"+%d%s hand to hand chance to hit\n",
|
||||
L"+%d%s hand to hand damage\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks if having empty hands\n", // 30
|
||||
L"+%d%s chance to dodge hand to hand attacks if not having empty hands\n",
|
||||
L"+%d%s chance to dodge attacks by melee blades\n",
|
||||
L"Can perform spinning kick attack on weakened enemies to deal double damage\n",
|
||||
L"Gains special animations for hand to hand combat\n",
|
||||
L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPNewCharacterTraitsHelpTexts[]=
|
||||
{
|
||||
L"A: No advantage.\nD: No disadvantage.",
|
||||
L"A: Better performance when a couple of mercs are nearby.\nD: Gains no morale when no other merc is nearby.",
|
||||
L"A: Better performance when no other merc is nearby.\nD: Gains no morale when in a group.",
|
||||
L"A: Morale sinks a little slower and grows faster than normal.\nD: Lower chance to detect traps and mines.",
|
||||
L"A: Bonus on training militia and is better at communicating with people.\nD: Gains no morale for actions of other mercs.",
|
||||
L"A: Slightly faster learning when self-practicing or as a student.\nD: Lower suppression and fear resistance.",
|
||||
L"A: Energy goes down a bit slower except on assignments such as doctor, repairman, militia trainer or if learning certain skills.\nD: Wisdom, leadership, explosives, mechanical and medical skills improve slightly slower.",
|
||||
L"A: Slightly better CtH on burst/autofire and inflicts slightly bigger damage in close combat\n Gains a little more morale for killing.\nD: Penalty for actions that need patience like repairing items, picking locks, removing traps, doctoring, training militia.",
|
||||
L"A: Bonus for actions that need patience like repairing items, picking locks, removing traps, doctoring and training militia.\nD: Interrupt chance is slightly lowered.",
|
||||
L"A: Higher suppression and fear resistance.\n Morale loss for taking damage and companions deaths is lower.\nD: Higher chance to be hit and enemy's penalty reduced when oneself is the moving target.",
|
||||
L"A: Gains morale on non-combat assignments (except training militia).\nD: Gains no morale for killing.",
|
||||
L"A: Higher chance for inflicting stat loss, which may also inflict special painful wounds.\n Gains bonus morale for inflicting stat loss.\nD: Penalty in communicating with people and morale sinks faster while not in battle.",
|
||||
L"A: Better performance when mercs of opposite gender are nearby.\nD: Morale for mercs of the same gender grows slower when nearby.",
|
||||
L"A: Gains morale when retreating.\nD: Loses morale when encountering numerically superior enemy forces.", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPDisabilitiesHelpTexts[]=
|
||||
{
|
||||
L"No effects.",
|
||||
L"Problems with breathing and reduced overall performance when in tropical or desert sectors.",
|
||||
L"Will suffer panic attack if left alone in certain situations.",
|
||||
L"Overall performance is reduced when underground.",
|
||||
L"Will drown easily if attempt to swim.",
|
||||
L"A look at large insects can cause big problems\nand being in tropical sectors also reduces performance a bit.",
|
||||
L"Sometimes forgets orders given and will lose some APs if it happens in combat.",
|
||||
L"Will go psycho and shoot like mad once in a while\nand will lose morale if unable to do so with equipped weapon.",
|
||||
L"Drastically reduced hearing.",
|
||||
L"Reduced sight range.",
|
||||
L"Drastically increased bleeding.", // TODO.Translate
|
||||
L"Performance suffers while on a rooftop.", // TODO.Translate
|
||||
L"Occasionally harms self.",
|
||||
};
|
||||
|
||||
|
||||
STR16 gzIMPProfileCostText[]=
|
||||
{
|
||||
L"The profile cost is $%d. Authorize payment?",
|
||||
};
|
||||
|
||||
STR16 zGioNewTraitsImpossibleText[]=
|
||||
{
|
||||
L"You cannot choose the New Trait System with PROFEX utility deactivated. Check your JA2_Options.ini for entry: READ_PROFILE_DATA_FROM_XML.",
|
||||
};
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//New string as of March 3, 2000.
|
||||
STR16 gzIronManModeWarningText[]=
|
||||
{
|
||||
L"Hai scelto la modalità IRON MAN. Questa impostazione rende il gioco notevolmente più impegnativo, poiché non potrai salvare la partita in un settore occupato da nemici. Non potrai cambiare questa decisione nel corso della partita. Sei sicuro di voler giocare al livello IRON MAN?",
|
||||
L"You have chosen SOFT IRON MAN mode. This setting makes the game slightly more challenging as you will not be able to save your game during turn-based combat. This setting will affect the entire course of the game. Are you sure want to play in SOFT IRON MAN mode?",// TODO.Translate
|
||||
L"You have chosen EXTREME IRON MAN mode. This setting makes the game way more challenging as you will be able to save your progress only once per day - at %02d:00. This setting will affect the entire course of the game. Do you seriously want to play in EXTREME IRON MAN mode?",// TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzDisplayCoverText[]=
|
||||
{
|
||||
L"Copertura: %d/100 %s, Luminosità: %d/100",
|
||||
L"Gittata dell'arma: %d/%d tiles, Probabilità di colpire: %d/100",
|
||||
L"Gittata dell'arma: %d/%d tiles, Muzzle Stability: %d/100",
|
||||
L"Disabilita visualizzazione copertura",
|
||||
L"Mostra visuale del mercenario",
|
||||
L"Mostra zone di pericolo per il mercenario",
|
||||
L"Bosco", // wanted to use jungle , but wood is shorter in german too (dschungel vs wald)
|
||||
L"Urbano",
|
||||
L"Deserto",
|
||||
L"Neve",
|
||||
L"Bosco e deserto",
|
||||
L"Bosco e urbano",
|
||||
L"Bosco e neve",
|
||||
L"Deserto e urbano",
|
||||
L"Deserto e neve",
|
||||
L"Urbano e neve",
|
||||
L"-", // yes empty for now // TODO.Translate
|
||||
L"Cover: %d/100, Brightness: %d/100",
|
||||
L"Footstep volume",
|
||||
L"Stealth difficulty",
|
||||
L"Trap level",
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,87 +0,0 @@
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#define _JA25ENGLISHTEXT__H_
|
||||
|
||||
extern STR16 gzIMPSkillTraitsText[];
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// added by SANDRO
|
||||
extern STR16 gzIMPSkillTraitsTextNewMajor[];
|
||||
extern STR16 gzIMPSkillTraitsTextNewMinor[];
|
||||
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSniper[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRanger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsGunslinger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsMartialArts[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSquadleader[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsTechnician[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsDoctor[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsCovertOps[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsNone[];
|
||||
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsMelee[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsThrowing[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsStealthy[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNightOps[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAthletics[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsBodybuilding[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsDemolitions[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsTeaching[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsScouting[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsSnitch[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSurvival[]; // added by Flugente
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNone[];
|
||||
|
||||
extern STR16 gzIMPOldSkillTraitsHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPNewCharacterTraitsHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPDisabilitiesHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPProfileCostText[];
|
||||
|
||||
extern STR16 zGioNewTraitsImpossibleText[];
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
{
|
||||
IMM__IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__SOFT_IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__EXTREME_IRON_MAN_MODE_WARNING_TEXT,
|
||||
};
|
||||
extern STR16 gzIronManModeWarningText[];
|
||||
|
||||
// display cover message (for tactical usually, seperated)
|
||||
// display cover terrain type info (used in cover information)
|
||||
enum
|
||||
{
|
||||
DC_MSG__COVER_INFORMATION,
|
||||
DC_MSG__GUN_RANGE_INFORMATION,
|
||||
DC_MSG__NCTH_GUN_RANGE_INFORMATION,
|
||||
DC_MSG__COVER_DRAW_OFF,
|
||||
DC_MSG__COVER_DRAW_MERC_VIEW,
|
||||
DC_MSG__COVER_DRAW_ENEMY_VIEW,
|
||||
DC_TTI__WOOD,
|
||||
DC_TTI__URBAN,
|
||||
DC_TTI__DESERT,
|
||||
DC_TTI__SNOW,
|
||||
DC_TTI__WOOD_AND_DESERT,
|
||||
DC_TTI__WOOD_AND_URBAN,
|
||||
DC_TTI__WOOD_AND_SNOW,
|
||||
DC_TTI__DESERT_AND_URBAN,
|
||||
DC_TTI__DESERT_AND_SNOW,
|
||||
DC_TTI__URBAN_AND_SNOW,
|
||||
DC_TTI__UNKNOWN,
|
||||
DC_MSG__COVER_INFORMATION_WITH_DETAILED_CAMO,
|
||||
DC_TTI__DETAILED_SOUND,
|
||||
DC_TTI__DETAILED_STEALTH,
|
||||
DC_TTI__DETAILED_TRAP_LEVEL,
|
||||
};
|
||||
extern STR16 gzDisplayCoverText[];
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,531 +0,0 @@
|
||||
// WANNE: This pragma should not be needed anymore for Polish version, after we set the encoding to UTF8
|
||||
// WANNE: Yes we need this here exclusivly in Polish version, because we do not have a codepage in the code like for other versions.
|
||||
//#pragma setlocale("POLISH")
|
||||
|
||||
#include "Language Defines.h"
|
||||
#ifdef POLISH
|
||||
#include "text.h"
|
||||
#include "Fileman.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25PolishText_public_symbol(void){;}
|
||||
|
||||
#ifdef POLISH
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - New STOMP laptop strings
|
||||
//these strings match up with the defines in IMP Skill trait.cpp
|
||||
STR16 gzIMPSkillTraitsText[]=
|
||||
{
|
||||
L"Otwieranie zamków",
|
||||
L"Walka wręcz",
|
||||
L"Elektronika",
|
||||
L"Operacje nocne",
|
||||
L"Rzucanie",
|
||||
L"Szkolenie",
|
||||
L"Broñ ciężka",
|
||||
L"Broñ automatyczna",
|
||||
L"Skradanie się",
|
||||
L"Oburęczność",
|
||||
L"Broñ biała",
|
||||
L"Snajper",
|
||||
L"Kamuflaż",
|
||||
L"Sztuki walki",
|
||||
|
||||
L"Brak",
|
||||
L"Umiejętności",
|
||||
L"(Ekspert)",
|
||||
|
||||
};
|
||||
|
||||
//added another set of skill texts for new major traits
|
||||
STR16 gzIMPSkillTraitsTextNewMajor[]=
|
||||
{
|
||||
L"Broñ automatyczna",
|
||||
L"Broñ ciężka",
|
||||
L"Strzelec wyborowy",
|
||||
L"£owca",
|
||||
L"Rewolwerowiec",
|
||||
L"Walka wręcz",
|
||||
L"Zastępca szeryfa",
|
||||
L"Technik",
|
||||
L"Paramedyk",
|
||||
L"Covert Ops", // TODO.Translate
|
||||
|
||||
L"None",
|
||||
L"Główne cechy I.M.P",
|
||||
// second names
|
||||
L"Strzelec CKM",
|
||||
L"Bombardier",
|
||||
L"Snajper",
|
||||
L"Leśniczy",
|
||||
L"Rewolwerowiec",
|
||||
L"Walka wręcz",
|
||||
L"Dowódca drużyny",
|
||||
L"Inżynier",
|
||||
L"Doktor",
|
||||
L"Spy", // TODO.Translate
|
||||
};
|
||||
|
||||
//added another set of skill texts for new minor traits
|
||||
STR16 gzIMPSkillTraitsTextNewMinor[]=
|
||||
{
|
||||
L"Oburęczność",
|
||||
L"Walka wręcz",
|
||||
L"Rzucanie",
|
||||
L"Operacje nocne",
|
||||
L"Cichy",
|
||||
L"Atletyka",
|
||||
L"Bodybuilding",
|
||||
L"£adunki wybuchowe",
|
||||
L"Nauczanie",
|
||||
L"Zwiad",
|
||||
L"Radio Operator",
|
||||
L"Survival", //TODO.Translate
|
||||
|
||||
L"Brak",
|
||||
L"Pomniejsze cechy I.M.P",
|
||||
};
|
||||
|
||||
//these texts are for help popup windows, describing trait properties
|
||||
STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[]=
|
||||
{
|
||||
L"+%d%s do szansy trafienia karabinem szturmowym\n",
|
||||
L"+%d%s do szansy trafienia pistoletem maszynowym\n",
|
||||
L"+%d%s do szansy trafienia erkaemem\n",
|
||||
L"-%d%s do liczby PA potrzebnych do strzału erkaemem w trybie automatycznym lub serią\n",
|
||||
L"-%d%s do liczby PA potrzebnych do przygotowania erkaemu\n",
|
||||
L"Kara do szansy trafienia ogniem automatycznym/serią jest zmniejszona o %d%s\n",
|
||||
L"Zmniejszona szansa na wystrzelenie przez przypadek większej liczby pocisków w ogniu automatycznym o -%d%s\n",
|
||||
|
||||
};
|
||||
STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[]=
|
||||
{
|
||||
L"-%d%s do liczby PA potrzebnych do strzału z granatnika\n",
|
||||
L"-%d%s do liczby PA potrzebnych do strzału z wyrzutni rakiet\n",
|
||||
L"+%d%s do szansy trafienia grantnikiem\n",
|
||||
L"+%d%s do szansy trafienia wyrzutnią rakiet\n",
|
||||
L"-%d%s do liczby PA potrzebnych do strzału z moździerza\n",
|
||||
L"Reduced penalty for mortar CtH by %d%s\n",
|
||||
L"+%d%s damage to tanks with heavy weapons, grenades and explosives\n",
|
||||
L"+%d%s damage to other targets with heavy weapons\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSniper[]=
|
||||
{
|
||||
L"+%d%s CtH with Rifles\n",
|
||||
L"+%d%s CtH with Sniper Rifles\n",
|
||||
L"-%d%s effective range to target with all weapons\n",
|
||||
L"+%d%s aiming bonus per aim click (except for handguns)\n",
|
||||
L"+%d%s damage on shot",
|
||||
L" plus",
|
||||
L" per every aim click",
|
||||
L" after first",
|
||||
L" after second",
|
||||
L" after third",
|
||||
L" after fourth",
|
||||
L" after fifth",
|
||||
L" after sixth",
|
||||
L" after seventh",
|
||||
L"-%d%s APs to chamber a round with bolt-action rifles \n",
|
||||
L"Adds one more aim click for rifle-type guns\n",
|
||||
L"Adds %d more aim clicks for rifle-type guns\n",
|
||||
L"Makes aiming faster with rifle-type guns by one aim click\n",
|
||||
L"Makes aiming faster with rifle-type guns by %d aim clicks\n",
|
||||
L"Focus skill: +%d interrupt modifier in marked area\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
||||
{
|
||||
L"+%d%s CtH with Rifles\n",
|
||||
L"+%d%s CtH with Shotguns\n",
|
||||
L"-%d%s APs needed to pump Shotguns\n",
|
||||
L"-%d%s APs to fire Shotguns\n",
|
||||
L"Adds %d more aim click for Shotguns\n",
|
||||
L"Adds %d more aim clicks for Shotguns\n",
|
||||
L"+%d%s effective range with Shotguns\n",
|
||||
L"-%d%s APs to reload single Shotgun shells\n",
|
||||
L"Adds %d more aim click for Rifles\n",
|
||||
L"Adds %d more aim clicks for Rifles\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||
{
|
||||
L"-%d%s APs to fire with pistols and revolvers\n",
|
||||
L"+%d%s effective range with pistols and revolvers\n",
|
||||
L"+%d%s CtH with pistols and revolvers\n",
|
||||
L"+%d%s CtH with machine pistols",
|
||||
L" (on single shots only)",
|
||||
L"+%d%s aiming bonus per click with pistols, machine pistols and revolvers\n",
|
||||
L"-%d%s APs to ready pistols and revolvers\n",
|
||||
L"-%d%s APs to reload pistols, machine pistols and revolvers\n",
|
||||
L"Adds %d more aim click for pistols, machine pistols and revolvers\n",
|
||||
L"Adds %d more aim clicks for pistols, machine pistols and revolvers\n",
|
||||
L"Can fan the hammer with revolvers\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsMartialArts[]=
|
||||
{
|
||||
L"-%d%s AP for hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"+%d%s CtH with hand to hand attacks with bare hands\n",
|
||||
L"+%d%s CtH with hand to hand attacks with brass knuckles\n",
|
||||
L"+%d%s damage of hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"+%d%s breath damage of hand to hand attacks (bare hands or with brass knuckles)\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes slightly longer to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes longer to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes much longer to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes very long to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes extremely long to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks takes long hours to recuperate\n",
|
||||
L"Enemy knocked out due to your HtH attacks probably never stand up\n",
|
||||
L"Focused (aimed) punch deals +%d%s more damage\n",
|
||||
L"Special spinning kick deals +%d%s more damage\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks\n",
|
||||
L"+%d%s additional chance to dodge HtH attacks with bare hands",
|
||||
L" or brass knuckles",
|
||||
L" (+%d%s with brass knuckles)",
|
||||
L"+%d%s additional chance to dodge HtH attacks with brass knuckles\n",
|
||||
L"+%d%s chance to dodge attacks by any melee weapon\n",
|
||||
L"-%d%s APs to steal weapon from enemy hands\n",
|
||||
L"-%d%s APs to change stance (stand, crouch, lie down), turn around, climb on/off roof and jump obstacles\n",
|
||||
L"-%d%s APs to change stance (stand, crouch, lie down)\n",
|
||||
L"-%d%s APs to turn around\n",
|
||||
L"-%d%s APs to climb on/off roof and jump obstacles\n",
|
||||
L"+%d%s chance to kick open doors\n",
|
||||
L"Gains special animations for hand to hand combat\n",
|
||||
L"-%d%s chance to be interrupted when charging towards an enemy on close range\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSquadleader[]=
|
||||
{
|
||||
L"+%d%s APs per round of other mercs in vicinity\n",
|
||||
L"+%d effective exp level of other mercs in vicinity, which have lesser level than the %s\n",
|
||||
L"+%d effective exp level to count as a standby when counting friends' bonus for suppression\n",
|
||||
L"+%d%s total suppression tolerance for other mercs in the vicinity and %s himself\n",
|
||||
L"+%d morale gain for other mercs in the vicinity\n",
|
||||
L"-%d morale loss for other mercs in the vicinity\n",
|
||||
L"The vicinity for bonuses is %d tiles",
|
||||
L" (%d tiles with extended ears)",
|
||||
L"(Max simultaneous bonuses for one soldier is %d)\n",
|
||||
L"+%d%s fear resistence of %s\n",
|
||||
L"Drawback: %dx morale loss for %s's death for all other mercs\n",
|
||||
L"+%d%s chance to trigger collective interrupts\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsTechnician[]=
|
||||
{
|
||||
L"+%d%s to repair speed\n",
|
||||
L"+%d%s to lockpick (normal/electronic locks)\n",
|
||||
L"+%d%s to disarm electronic traps\n",
|
||||
L"+%d%s to attach special items and combining things\n",
|
||||
L"+%d%s to unjamm a gun in combat\n",
|
||||
L"Reduced penalty to repair electronic items by %d%s\n",
|
||||
L"Increased chance to detect traps and mines (+%d detect level)\n",
|
||||
L"+%d%s robot's CtH controlled by the %s\n",
|
||||
L"%s trait grants ability to repair the robot\n",
|
||||
L"Reduced penalty to repair speed of the robot by %d%s\n",
|
||||
L"Able to restore item threshold to 100%% during repair\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsDoctor[]=
|
||||
{
|
||||
L"Able to use medical bag to perform surgical intervention on wounded soldier\n",
|
||||
L"Surgery instantly returns %d%s of lost health back.",
|
||||
L" (This will deplete the medical bag.)",
|
||||
L"Able to heal lost stats (from critical hits) by",
|
||||
L" surgery or",
|
||||
L" doctor assignment.\n",
|
||||
L"+%d%s effectiveness on doctor-patient assignment\n",
|
||||
L"+%d%s bandaging speed\n",
|
||||
L"+%d%s natural regeneration speed for all soldiers in the same sector",
|
||||
L" (max %d of these bonuses per sector stack)",
|
||||
L"Returned health can be boosted an additional %d%s by using blood bags.\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsCovertOps[]=
|
||||
{
|
||||
L"Able to disguise as a civilian or soldier to slip behind enemy lines.\n",
|
||||
L"Will be detected if performing suspicious actions, having\nsuspicious gear or being near fresh corpses.\n",
|
||||
L"Will be detected if disguised as a soldier and\ncloser than %d tiles to the enemy.\n",
|
||||
L"Will be detected if disguised as a soldier and\ncloser than %d tiles to a fresh corpse.\n",
|
||||
L"+%d%s CtH with covert melee weapons\n",
|
||||
L"+%d%s chance of instakill with covert melee weapons\n",
|
||||
L"Disguise AP cost lowered by %d%s.\n",
|
||||
L"Can convince enemy soldiers to secretly change sides.\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]= // TODO.Translate
|
||||
{
|
||||
L"Can use communications equipment.\n",
|
||||
L"Can call in artillery strikes from allies in neighbouring sectors.\n",
|
||||
L"Via Frequency Scan assignment, enemy patrols can be located.\n",
|
||||
L"Communications can be jammed sector-wide.\n",
|
||||
L"If communications are jammed, an operator can scan for the jamming device.\n",
|
||||
L"Can call in militia reinforcements from neighbouring sectors.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[]=
|
||||
{
|
||||
L"Reduced penalty to shoot if offhand item is equipped by %d%s\n", // TODO.Translate
|
||||
L"+%d%s speed on reloading guns with magazines\n",
|
||||
L"+%d%s speed on reloading guns with loose rounds\n",
|
||||
L"-%d%s APs to pickup items\n",
|
||||
L"-%d%s APs to work backpack\n",
|
||||
L"-%d%s APs to handle doors\n",
|
||||
L"-%d%s APs to plant/remove bombs and mines\n",
|
||||
L"-%d%s APs to attach items\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsMelee[]=
|
||||
{
|
||||
L"-%d%s APs to attack with blades\n",
|
||||
L"+%d%s CtH with blades\n",
|
||||
L"+%d%s CtH with blunt melee weapons\n",
|
||||
L"+%d%s damage with blades\n",
|
||||
L"+%d%s damage with blunt melee weapons\n",
|
||||
L"Aimed attack with any melee weapon deals +%d%s damage\n",
|
||||
L"+%d%s chance to dodge attack from melee blades\n",
|
||||
L"+%d%s additional chance to dodge melee blades if holding a blade\n",
|
||||
L"+%d%s chance to dodge attack from blunt melee weapons\n",
|
||||
L"+%d%s additional chance to dodge blunt melee weapons if holding a blade\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsThrowing[]=
|
||||
{
|
||||
L"-%d%s basic APs to throw blades\n",
|
||||
L"+%d%s max range when throwing blades\n",
|
||||
L"+%d%s CtH when throwing blades\n",
|
||||
L"+%d%s CtH when throwing blades per aim click\n",
|
||||
L"+%d%s damage with throwing blades\n",
|
||||
L"+%d%s damage with throwing blades per aim click\n",
|
||||
L"+%d%s chance to inflict critical hit with throwing blade if not seen or heard\n",
|
||||
L"+%d critical hit with throwing blade multiplier\n",
|
||||
L"Adds %d more aim click for throwing blades\n",
|
||||
L"Adds %d more aim clicks for throwing blades\n",
|
||||
L"-%d%s APs to throw grenades\n",
|
||||
L"+%d%s max range when throwing grenades\n",
|
||||
L"+%d%s CtH when throwing grenades\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNightOps[]=
|
||||
{
|
||||
L"+%d to effective sight range in the dark\n",
|
||||
L"+%d to general effective hearing range\n",
|
||||
L"+%d additional hearing range in the dark\n",
|
||||
L"+%d to interrupts modifier in the dark\n",
|
||||
L"-%d need to sleep\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsStealthy[]=
|
||||
{
|
||||
L"-%d%s APs to move quietly\n",
|
||||
L"+%d%s chance to move quietly\n",
|
||||
L"+%d%s stealth (being 'invisible' if unnoticed)\n",
|
||||
L"Reduced cover penalty for movement by %d%s\n",
|
||||
L"-%d%s chance to be interrupted\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAthletics[]=
|
||||
{
|
||||
L"-%d%s APs for movement (running, walking, squatting, crawling, swimming, etc.)\n",
|
||||
L"-%d%s energy spent for moving, roof-climbing, obstacle-jumping, swimming, etc.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsBodybuilding[]=
|
||||
{
|
||||
L"%d%s damage resistance\n",
|
||||
L"+%d%s effective strength for carrying weight capacity\n",
|
||||
L"Reduced energy lost when hit by HtH attack by %d%s\n",
|
||||
L"Increased damage needed to fall down by %d%s if hit on legs\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsDemolitions[]=
|
||||
{
|
||||
L"+%d%s damage for set bombs and mines\n",
|
||||
L"+%d%s to attaching detonators check\n",
|
||||
L"+%d%s to planting/removing bombs check\n",
|
||||
L"Decreased chance of enemy detecting your bombs and mines (+%d bomb level)\n",
|
||||
L"Increased chance for shaped charge on opening doors (damage multiplied by %d)\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsTeaching[]=
|
||||
{
|
||||
L"+%d%s bonus to militia training speed\n",
|
||||
L"+%d%s bonus to effective leadership for determining militia training\n",
|
||||
L"+%d%s bonus to teach other mercs\n",
|
||||
L"Skill value treated to be +%d higher for being able to teach this skill to other mercs\n",
|
||||
L"+%d%s bonus to train stats through self-practice assignment\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsScouting[]=
|
||||
{
|
||||
L"+%d%% to effective sight range with scopes on weapons\n",
|
||||
L"+%d%% to effective sight range with binoculars (and scopes separated from weapons)\n",
|
||||
L"-%d%% tunnel vision with binoculars (and scopes separated from weapons)\n",
|
||||
L"If in sector, adjacent sectors will show exact number of enemies\n",
|
||||
L"If in sector, adjacent sectors will show presence of enemies, if any\n",
|
||||
L"Prevents enemy ambushes on your squad\n",
|
||||
L"Prevents bloodcat ambushes on your squad\n",
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
|
||||
{
|
||||
L"Okazyjnie poinformuje cię o opiniach kolegów z oddziału.\n",
|
||||
L"Zapobiega złemu zachowaniu kolegów z oddziału (narkotyki, alkohol, kradzieże).\n",
|
||||
L"Może szerzyć propagandę w miastach.\n",
|
||||
L"Może zbierać plotki w miastach.\n",
|
||||
L"Może zostać umieszczony w więzieniu jako tajniak.\n",
|
||||
L"Jeżeli w dobrym nastroju, poprawia twoją reputację o %d każdego dnia.\n",
|
||||
L"+%d zasięg słuchu\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSurvival[] = // TODO.Translate
|
||||
{
|
||||
L"-%d%s travel time needed between sectors if traveling by foot\n",
|
||||
L"-%d%s travel time needed between sectors if traveling in vehicle (except helicopter)\n",
|
||||
L"-%d%s less energy spent for travelling between sectors\n",
|
||||
L"-%d%s weather penalties\n",
|
||||
L"-%d%s worn out speed of camouflage by water or time\n",
|
||||
L"Can spot tracks up to %d tiles away\n",
|
||||
|
||||
L"%s%d%% disease resistance\n",
|
||||
L"%s%d%% food consumption\n",
|
||||
L"%s%d%% water consumption\n",
|
||||
L"+%d%% snake evasion\n", // TODO.Translate
|
||||
L"+%d%% camouflage effectiveness\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPOldSkillTraitsHelpTexts[]=
|
||||
{
|
||||
L"+%d%s bonus to lockpicking\n", // 0
|
||||
L"+%d%s hand to hand chance to hit\n",
|
||||
L"+%d%s hand to hand damage\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks\n",
|
||||
L"Eliminates penalty to repair and handle\nelectronic things (locks, traps, rem. detonators, robot, etc.)\n",
|
||||
L"+%d to effective sight range in the dark\n",
|
||||
L"+%d to general effective hearing range\n",
|
||||
L"+%d extra hearing range in the dark\n",
|
||||
L"+%d to interrupts modifier in the dark\n",
|
||||
L"-%d need to sleep\n",
|
||||
L"+%d%s max range when throwing anything\n", // 10
|
||||
L"+%d%s chance to hit when throwing anything\n",
|
||||
L"+%d%s chance to instantly kill by throwing knife if not seen or heard\n",
|
||||
L"+%d%s bonus to militia training and other mercs instructing speed\n",
|
||||
L"+%d%s effective leadership for militia training calculations\n",
|
||||
L"+%d%s chance to hit with rocket/grenade launchers and mortar\n",
|
||||
L"Auto fire/burst chance to hit penalty is divided by %d\n",
|
||||
L"Reduced chance for shooting unwanted bullets on autofire\n",
|
||||
L"+%d%s chance to move quietly\n",
|
||||
L"+%d%s stealth (being 'invisible' if unnoticed)\n",
|
||||
L"Eliminates CtH penalty when firing two weapons at once\n", // 20
|
||||
L"+%d%s chance to hit with melee blades\n",
|
||||
L"+%d%s chance to dodge attacks by melee blades if having blade in hands\n",
|
||||
L"+%d%s chance to dodge attacks by melee blades if having anything else in hands\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks if having blade in hands\n",
|
||||
L"-%d%s effective range to target with all weapons\n",
|
||||
L"+%d%s aiming bonus per aim click\n",
|
||||
L"Provides permanent camouflage\n",
|
||||
L"+%d%s hand to hand chance to hit\n",
|
||||
L"+%d%s hand to hand damage\n",
|
||||
L"+%d%s chance to dodge hand to hand attacks if having empty hands\n", // 30
|
||||
L"+%d%s chance to dodge hand to hand attacks if not having empty hands\n",
|
||||
L"+%d%s chance to dodge attacks by melee blades\n",
|
||||
L"Can perform spinning kick attack on weakened enemies to deal double damage\n",
|
||||
L"Gains special animations for hand to hand combat\n",
|
||||
L"No bonuses",
|
||||
};
|
||||
|
||||
STR16 gzIMPNewCharacterTraitsHelpTexts[]=
|
||||
{
|
||||
L"A: No advantage.\nD: No disadvantage.",
|
||||
L"A: Better performance when a couple of mercs are nearby.\nD: Gains no morale when no other merc is nearby.",
|
||||
L"A: Better performance when no other merc is nearby.\nD: Gains no morale when in a group.",
|
||||
L"A: Morale sinks a little slower and grows faster than normal.\nD: Lower chance to detect traps and mines.",
|
||||
L"A: Bonus on training militia and is better at communicating with people.\nD: Gains no morale for actions of other mercs.",
|
||||
L"A: Slightly faster learning when self-practicing or as a student.\nD: Lower suppression and fear resistance.",
|
||||
L"A: Energy goes down a bit slower except on assignments such as doctor, repairman, militia trainer or if learning certain skills.\nD: Wisdom, leadership, explosives, mechanical and medical skills improve slightly slower.",
|
||||
L"A: Slightly better CtH on burst/autofire and inflicts slightly bigger damage in close combat\n Gains a little more morale for killing.\nD: Penalty for actions that need patience like repairing items, picking locks, removing traps, doctoring, training militia.",
|
||||
L"A: Bonus for actions that need patience like repairing items, picking locks, removing traps, doctoring and training militia.\nD: Interrupt chance is slightly lowered.",
|
||||
L"A: Higher suppression and fear resistance.\n Morale loss for taking damage and companions deaths is lower.\nD: Higher chance to be hit and enemy's penalty reduced when oneself is the moving target.",
|
||||
L"A: Gains morale on non-combat assignments (except training militia).\nD: Gains no morale for killing.",
|
||||
L"A: Higher chance for inflicting stat loss, which may also inflict special painful wounds.\n Gains bonus morale for inflicting stat loss.\nD: Penalty in communicating with people and morale sinks faster while not in battle.",
|
||||
L"A: Better performance when mercs of opposite gender are nearby.\nD: Morale for mercs of the same gender grows slower when nearby.",
|
||||
L"A: Gains morale when retreating.\nD: Loses morale when encountering numerically superior enemy forces.", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPDisabilitiesHelpTexts[]=
|
||||
{
|
||||
L"No effects.",
|
||||
L"Problems with breathing and reduced overall performance when in tropical or desert sectors.",
|
||||
L"Will suffer panic attack if left alone in certain situations.",
|
||||
L"Overall performance is reduced when underground.",
|
||||
L"Will drown easily if attempt to swim.",
|
||||
L"A look at large insects can cause big problems\nand being in tropical sectors also reduces performance a bit.",
|
||||
L"Sometimes forgets orders given and will lose some APs if it happens in combat.",
|
||||
L"Will go psycho and shoot like mad once in a while\nand will lose morale if unable to do so with equipped weapon.",
|
||||
L"Drastically reduced hearing.",
|
||||
L"Reduced sight range.",
|
||||
L"Drastically increased bleeding.", // TODO.Translate
|
||||
L"Performance suffers while on a rooftop.", // TODO.Translate
|
||||
L"Occasionally harms self.",
|
||||
};
|
||||
|
||||
|
||||
STR16 gzIMPProfileCostText[]=
|
||||
{
|
||||
L"The profile cost is $%d. Authorize payment?",
|
||||
};
|
||||
|
||||
STR16 zGioNewTraitsImpossibleText[]=
|
||||
{
|
||||
L"You cannot choose the New Trait System with PROFEX utility deactivated. Check your JA2_Options.ini for entry: READ_PROFILE_DATA_FROM_XML.",
|
||||
};
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//@@@: New string as of March 3, 2000.
|
||||
STR16 gzIronManModeWarningText[]=
|
||||
{
|
||||
L"Wybrałeś tryb CZŁOWIEKA Z ŻELAZA. Opcja ta sprawi, że gra będzie dużo trudniejsza, ponieważ nie będzie możliwości zapisywania gry podczas walki. Będzie to miało wpływ na cały przebieg rozgrywki. Czy na pewno chcesz grać w trybie CZŁOWIEKA Z ŻELAZA?",
|
||||
L"Wybrałeś tryb CZŁOWIEKA Z ŻELIWA. Opcja ta sprawi, że gra będzie nieco trudniejsza, gdyż nie będziesz miał możliwości zapisywania gry podczas walki w trybie turowym. Będzie to miało wpływ na cały przebieg rozgrywki. Czy na pewno chcesz grać w trybie CZŁOWIEKA Z ŻELIWA?",
|
||||
L"Wybrałeś tryb CZŁOWIEKA ZE STALI. Opcja ta sprawi, że gra będzie znacznie trudniejsza, gdyż będziesz mógł zapisać grę zaledwie raz dziennie, o %02d:00. Będzie to miało wpływ na cały przebieg rozgrywki. Jesteś pewien, że gra w trybie CZŁOWIEKA ZE STALI to dobry pomysł?",
|
||||
};
|
||||
|
||||
STR16 gzDisplayCoverText[]=
|
||||
{
|
||||
L"Osłona: %d/100 %s, Oświetlenie: %d/100",
|
||||
L"Zasięg broni: %d/%d pól, Szansa trafienia: %d/100",
|
||||
L"Zasięg broni: %d/%d pól, Stabilność broni: %d/100",
|
||||
L"Ukryj wyświetlani informacji o osłonie",
|
||||
L"Pokaż zasięg wzroku postaci",
|
||||
L"Pokaż stefy zagrożenia postaci",
|
||||
L"Las", // wanted to use jungle , but wood is shorter in german too (dschungel vs wald)
|
||||
L"Miasto",
|
||||
L"Pustynia",
|
||||
L"Śnieg",
|
||||
L"Las i pustynia",
|
||||
L"Las i miasto",
|
||||
L"Las i śnieg",
|
||||
L"Pustynia i miasto",
|
||||
L"Pustynia i śnieg",
|
||||
L"Miasto i śnieg",
|
||||
L"-", // yes empty for now // TODO.Translate
|
||||
L"Cover: %d/100, Brightness: %d/100",
|
||||
L"Footstep volume",
|
||||
L"Stealth difficulty",
|
||||
L"Trap level",
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,87 +0,0 @@
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#define _JA25ENGLISHTEXT__H_
|
||||
|
||||
extern STR16 gzIMPSkillTraitsText[];
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// added by SANDRO
|
||||
extern STR16 gzIMPSkillTraitsTextNewMajor[];
|
||||
extern STR16 gzIMPSkillTraitsTextNewMinor[];
|
||||
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSniper[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRanger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsGunslinger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsMartialArts[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSquadleader[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsTechnician[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsDoctor[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsCovertOps[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsNone[];
|
||||
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsMelee[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsThrowing[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsStealthy[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNightOps[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAthletics[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsBodybuilding[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsDemolitions[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsTeaching[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsScouting[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsSnitch[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSurvival[]; // added by Flugente
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNone[];
|
||||
|
||||
extern STR16 gzIMPOldSkillTraitsHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPNewCharacterTraitsHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPDisabilitiesHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPProfileCostText[];
|
||||
|
||||
extern STR16 zGioNewTraitsImpossibleText[];
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
{
|
||||
IMM__IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__SOFT_IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__EXTREME_IRON_MAN_MODE_WARNING_TEXT,
|
||||
};
|
||||
extern STR16 gzIronManModeWarningText[];
|
||||
|
||||
// display cover message (for tactical usually, seperated)
|
||||
// display cover terrain type info (used in cover information)
|
||||
enum
|
||||
{
|
||||
DC_MSG__COVER_INFORMATION,
|
||||
DC_MSG__GUN_RANGE_INFORMATION,
|
||||
DC_MSG__NCTH_GUN_RANGE_INFORMATION,
|
||||
DC_MSG__COVER_DRAW_OFF,
|
||||
DC_MSG__COVER_DRAW_MERC_VIEW,
|
||||
DC_MSG__COVER_DRAW_ENEMY_VIEW,
|
||||
DC_TTI__WOOD,
|
||||
DC_TTI__URBAN,
|
||||
DC_TTI__DESERT,
|
||||
DC_TTI__SNOW,
|
||||
DC_TTI__WOOD_AND_DESERT,
|
||||
DC_TTI__WOOD_AND_URBAN,
|
||||
DC_TTI__WOOD_AND_SNOW,
|
||||
DC_TTI__DESERT_AND_URBAN,
|
||||
DC_TTI__DESERT_AND_SNOW,
|
||||
DC_TTI__URBAN_AND_SNOW,
|
||||
DC_TTI__UNKNOWN,
|
||||
DC_MSG__COVER_INFORMATION_WITH_DETAILED_CAMO,
|
||||
DC_TTI__DETAILED_SOUND,
|
||||
DC_TTI__DETAILED_STEALTH,
|
||||
DC_TTI__DETAILED_TRAP_LEVEL,
|
||||
};
|
||||
extern STR16 gzDisplayCoverText[];
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,529 +0,0 @@
|
||||
// WANNE: Yes, this should be disabled, otherwise we get weird behavior when running the game with a VS 2005 build!
|
||||
//#pragma setlocale("RUSSIAN")
|
||||
|
||||
#include "Language Defines.h"
|
||||
#ifdef RUSSIAN
|
||||
#include "text.h"
|
||||
#include "Fileman.h"
|
||||
#endif
|
||||
|
||||
//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible
|
||||
void this_is_the_Ja25RussianText_public_symbol(void){;}
|
||||
|
||||
#ifdef RUSSIAN
|
||||
|
||||
// VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - New STOMP laptop strings
|
||||
//these strings match up with the defines in IMP Skill trait.cpp
|
||||
STR16 gzIMPSkillTraitsText[]=
|
||||
{
|
||||
// made this more elegant
|
||||
L"Взлом замков",
|
||||
L"Рукопашный бой",
|
||||
L"Электроника",
|
||||
L"Ночник",
|
||||
L"Метание",
|
||||
L"Инструктор",
|
||||
L"Тяжелое оружие",
|
||||
L"Автоматическое оружие",
|
||||
L"Скрытность",
|
||||
L"Ловкач",
|
||||
L"Холодное оружие",
|
||||
L"Снайпер",
|
||||
L"Камуфляж",
|
||||
L"Боевые искусства",
|
||||
|
||||
L"Нет",
|
||||
L"I.M.P.: Специализация",
|
||||
L"(эксперт)",
|
||||
|
||||
};
|
||||
|
||||
//added another set of skill texts for new major traits
|
||||
STR16 gzIMPSkillTraitsTextNewMajor[]=
|
||||
{
|
||||
L"Автоматчик", //Auto Weapons
|
||||
L"Гренадёр", //Heavy Weapons
|
||||
L"Стрелок", //Marksman
|
||||
L"Охотник", //Hunter
|
||||
L"Ковбой", //Gunslinger
|
||||
L"Боксёр", //Hand to Hand
|
||||
L"Старшина", //Deputy
|
||||
L"Техник", //Technician
|
||||
L"Санитар", //Paramedic
|
||||
L"Диверсант", //Covert Ops
|
||||
|
||||
L"Нет",
|
||||
L"I.M.P.: Основные навыки", //I.M.P. Major Traits
|
||||
// second names
|
||||
L"Пулемётчик", //Machinegunner
|
||||
L"Артиллерист", //Bombardier
|
||||
L"Снайпер", //Sniper
|
||||
L"Егерь", //Ranger
|
||||
L"Пистолетчик", //Gunfighter
|
||||
L"Каратист", //Martial Arts
|
||||
L"Командир", //Squadleader
|
||||
L"Инженер", //Engineer
|
||||
L"Доктор", //Doctor
|
||||
L"Шпион", //Spy
|
||||
};
|
||||
|
||||
//added another set of skill texts for new minor traits
|
||||
STR16 gzIMPSkillTraitsTextNewMinor[]=
|
||||
{
|
||||
L"Ловкач", //Ambidextrous
|
||||
L"Мастер клинка", //Melee
|
||||
L"Мастер по метанию", //Throwing
|
||||
L"Ночник", //Night Ops
|
||||
L"Бесшумный убийца", //Stealthy
|
||||
L"Спортсмен", //Athletics
|
||||
L"Культурист", //Bodybuilding
|
||||
L"Подрывник", //Demolitions
|
||||
L"Инструктор", //Teaching
|
||||
L"Разведчик", //Scouting
|
||||
L"Радист", //Radio Operator
|
||||
L"Спец по выживанию", //Survival
|
||||
|
||||
L"Нет",
|
||||
L"I.M.P.: Дополнительные навыки", //I.M.P. Minor Traits
|
||||
};
|
||||
|
||||
//these texts are for help popup windows, describing trait properties
|
||||
STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[]=
|
||||
{
|
||||
L"+%d%s к шансу попадания из автомата\n",
|
||||
L"+%d%s к шансу попадания из пистолет-пулемёта\n",
|
||||
L"+%d%s к шансу попадания из ручного пулемёта\n",
|
||||
L"-%d%s ОД на стрельбу из ручного пулемёта в\nрежиме автоматической стрельбы или очередью с отсечкой\n",
|
||||
L"-%d%s ОД на вскидывание ручного пулемёта\n",
|
||||
L"Штраф на шанс попадания в автоматическом\nрежиме огня и в режиме очереди понижен на %d%s\n",
|
||||
L"Понижен шанс лишних выстрелов при автоматической стрельбе\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[]=
|
||||
{
|
||||
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"+%d%s к урону танкам от тяжёлого оружия, гранат и взрывчатки\n",
|
||||
L"+%d%s к урону иным целям из тяжёлого оружия\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSniper[]=
|
||||
{
|
||||
L"+%d%s к шансу попадания из винтовки\n",
|
||||
L"+%d%s к шансу попадания из снайперской винтовки\n",
|
||||
L"-%d%s эффективной дальности до цели для всего вида оружия\n", //-%d%s effective range to target with all weapons
|
||||
L"+%d%s к бонусу прицеливания на каждый клик прицеливания (за исключением пистолетов)\n",
|
||||
L"+%d%s к повреждению от выстрела", //+%d%s damage on shot
|
||||
L" плюс",
|
||||
L" с каждым кликом",
|
||||
L" после первого",
|
||||
L" после второго",
|
||||
L" после третьего",
|
||||
L" после четвёртого",
|
||||
L" после пятого",
|
||||
L" после шестого",
|
||||
L" после седьмого",
|
||||
L"-%d%s ОД на досылание патрона в винтовки со скользящим затвором\n",
|
||||
L"+1 клик прицеливания для оружия типа винтовок\n",
|
||||
L"+%d кликов прицеливания для оружия типа винтовок\n",
|
||||
L"Прицеливание оружия типа винтовок быстрее на один клик прицеливания\n",
|
||||
L"Прицеливание оружия типа винтовок быстрее на %d кликов прицеливания\n",
|
||||
L"Focus skill: +%d interrupt modifier in marked area\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsRanger[]=
|
||||
{
|
||||
L"+%d%s к шансу попадания из винтовки\n",
|
||||
L"+%d%s к шансу попадания из дробовика\n",
|
||||
L"-%d%s ОД на перезарядку помпового дробовика\n",
|
||||
L"-%d%s ОД на выстрел из дробовика\n",
|
||||
L"+%d клик прицеливания для дробовиков\n",
|
||||
L"+%d кликов прицеливания для дробовиков\n",
|
||||
L"+%d%s к эффективной дальности дробовиков\n",
|
||||
L"-%d%s ОД на перезарядку однозарядного дробовика\n",
|
||||
L"+%d клик прицеливания для винтовок\n",
|
||||
L"+%d кликов прицеливания для винтовок\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsGunslinger[]=
|
||||
{
|
||||
L"-%d%s ОД на выстрел из пистолетов и револьверов\n",
|
||||
L"+%d%s к эффективной дальности пистолетов и револьверов\n",
|
||||
L"+%d%s к шансу попадания из пистолетов и револьверов\n",
|
||||
L"+%d%s к шансу попадания из автоматических пистолетов",
|
||||
L" (только для одиночного выстрела)",
|
||||
L"+%d%s бонуса на один клик прицеливания для пистолетов,\nавтоматических пистолетов и револьверов\n",
|
||||
L"-%d%s ОД на вскидывание пистолетов и револьверов\n",
|
||||
L"-%d%s ОД на перезарядку пистолетов, автоматических пистолетов и револьверов\n",
|
||||
L"+%d клик прицеливания для пистолетов, автоматических пистолетов и револьверов",
|
||||
L"+%d кликов прицеливания для пистолетов, автоматических пистолетов и револьверов\n",
|
||||
L"Can fan the hammer with revolvers\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsMartialArts[]=
|
||||
{
|
||||
L"-%d%s ОД на рукопашные атаки (кулаками и кастетом)\n",
|
||||
L"+%d%s к шансу на результативный удар рукой\n",
|
||||
L"+%d%s к шансу на результативный удар кастетом\n",
|
||||
L"+%d%s к урону в рукопашных атаках (кулаками и кастетом)\n",
|
||||
L"+%d%s к урону выносливости в рукопашных атаках (кулаками и кастетом)\n",
|
||||
L"Враг, сваленный вашими ударами, немного дольше приходит в себя\n",
|
||||
L"Враг, сваленный вашими ударами, дольше приходит в себя\n",
|
||||
L"Враг, сваленный вашими ударами, намного дольше приходит в себя\n",
|
||||
L"Враг, сваленный вашими ударами, очень долго приходит в себя\n",
|
||||
L"Враг, сваленный вашими ударами, надолго теряет сознание\n",
|
||||
L"Враг, сваленный вашими ударами, теряет сознание на много часов\n",
|
||||
L"Враг, сваленный вашими ударами, вероятно, больше не очнётся\n",
|
||||
L"Прицельный удар наносит на %d%s больше урона\n",
|
||||
L"Удар ногой с разворота наносит на %d%s больше урона\n",
|
||||
L"+%d%s к шансу увернуться от атаки в рукопашном бою\n",
|
||||
L"+%d%s к шансу увернуться от удара рукой",
|
||||
L" или кастетом",
|
||||
L" (+%d%s с кастетом)",
|
||||
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"Нужно на %d%s ОД меньше, чтобы слезть/залезть на крышу и перепрыгнуть препятствие\n",
|
||||
L"+%d%s к шансу выбить дверь ногой\n",
|
||||
L"Вы получаете специальные движения для атак ближнего боя\n",
|
||||
L"-%d%s к шансу перехвата вашего хода во время движения\n", //chance to be interrupted when moving
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSquadleader[]=
|
||||
{
|
||||
L"+%d%s ОД на каждый ход рядом находящимся наёмникам\n",
|
||||
L"+%d к фактическому уровню рядом находящихся наёмников, у которых уровень ниже, чем у %s\n",
|
||||
L"+%d к фактическому уровню опыта союзников при подсчете бонуса подавления для их огня\n",
|
||||
L"На +%d%s труднее подавить %s и наёмников рядом с ним\n",
|
||||
L"+%d к боевому духу рядом находящихся наёмников\n",
|
||||
L"-%d к потере боевого духа для рядом находящихся наёмников\n",
|
||||
L"Радиус влияния на других наёмников составляет %d тайлов",
|
||||
L" (%d тайлов с усилителем звука)",
|
||||
L"(Максимальное количество одновременных бонусов для одного солдата %d)\n",
|
||||
L"+%d%s сопротивление страху у %s\n",
|
||||
L"Недостаток: %dx кратное ухудшение боевого духа у наёмников, если погибает %s\n",
|
||||
L"+%d%s к шансу получить перехват всем отрядом\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsTechnician[]=
|
||||
{
|
||||
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"Повышен шанс обнаружить электронные ловушки и мины (+%d к уровню обнаружения)\n",
|
||||
L"+%d%s к шансу попадания по цели роботу, управляемому %s\n",
|
||||
L"%s даёт возможность ремонтировать робота\n",
|
||||
L"Понижен штраф на скорость ремонта робота на %d%s\n",
|
||||
L"Возможность восстановить вещь при ремонте на все 100%%\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsDoctor[]=
|
||||
{
|
||||
L"Может выполнять хирургические операции при наличии медицинской сумки\n",
|
||||
L"Хирургическая операция возвращает %d%s единиц потерянного здоровья.",
|
||||
L" (Требует значительного расхода содержимого мед. сумки.)",
|
||||
L"Может вернуть ухудшившиеся навыки (вследствие критического ранения) путём",
|
||||
L" хирургического вмешательства или",
|
||||
L" обычным лечением.\n",
|
||||
L"+%d%s к эффективности при связке доктор-пациент\n",
|
||||
L"+%d%s к скорости перевязки\n",
|
||||
L"+%d%s к природной скорости регенерации для всех солдат в том же квадрате",
|
||||
L" (максимум %d бонуса на находящихся в квадрате)",
|
||||
L"Returned health can be boosted an additional %d%s by using blood bags.\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsCovertOps[]=
|
||||
{
|
||||
L"Может переодеваться в гражданского или солдата, \nчтобы проникать в тыл врага.\n",
|
||||
L"Будет раскрыт, если совершает подозрительные действия, \nимеет подозрительное снаряжение или застигнут над остывающим трупом.\n",
|
||||
L"Будет моментально раскрыт, если переодет в солдата \nи находится ближе %d тайлов к врагу.\n",
|
||||
L"Будет моментально раскрыт, если переодет в солдата \nи находится ближе %d тайлов к остывающему трупу.\n",
|
||||
L"+%d%s к шансу попадания скрытным оружием ближнего боя.\n",
|
||||
L"+%d%s к шансу на смертельный удар скрытным оружием ближнего боя.\n",
|
||||
L"ОД на переодевание снижены на %d%s.\n",
|
||||
L"Can convince enemy soldiers to secretly change sides.\n", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]=
|
||||
{
|
||||
L"Может использовать оборудование связи.\n",
|
||||
L"Может запрашивать артиллерийские удары у союзников в соседних квадратах.\n",
|
||||
L"Может обнаруживать вражеские патрули при сканировании частот.\n",
|
||||
L"Радиопереговоры могут быть подавлены во всем квадрате.\n",
|
||||
L"Если радиопереговоры подавлены, то радист может искать подавляющее устройство.\n",
|
||||
L"Может вызывать подкрепление ополченцев из соседних квадратов.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"Нет преимуществ",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[]=
|
||||
{
|
||||
L"Reduced penalty to shoot if offhand item is equipped by %d%s\n", // TODO.Translate
|
||||
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"-%d%s ОД, необходимых на присоединение навески\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsMelee[]=
|
||||
{
|
||||
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"+%d%s к шансу уклониться от атаки клинковым холодным оружием\n",
|
||||
L"+%d%s к шансу уклониться от атаки клинковым холодным оружием, если в руках нож\n",
|
||||
L"+%d%s к шансу уклониться от атаки дробящим холодным оружием\n",
|
||||
L"+%d%s к шансу уклониться от атаки дробящим холодным оружием, если в руках нож\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsThrowing[]=
|
||||
{
|
||||
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"+%d%s к шансу нанести критический урон при броске ножа, если вас не слышали и не видели\n",
|
||||
L"+%d к множителю критического урона при броске ножа\n",
|
||||
L"+%d клик прицеливания для метательных ножей\n",
|
||||
L"+%d кликов прицеливания для метательных ножей\n",
|
||||
L"-%d%s ОД для броска гранаты\n",
|
||||
L"+%d%s к максимальной дальности броска гранаты\n",
|
||||
L"+%d%s к точности броска гранаты\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNightOps[]=
|
||||
{
|
||||
L"+%d к зрению в темноте\n",
|
||||
L"+%d к дальности слуха\n",
|
||||
L"+%d дополнительно к слуху в темноте\n",
|
||||
L"+%d к вероятности перехвата хода в ночи\n",
|
||||
L"-%d к нужде во сне\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsStealthy[]=
|
||||
{
|
||||
L"-%d%s ОД, необходимых для бесшумного передвижения\n",
|
||||
L"+%d%s к шансу двигаться бесшумно\n",
|
||||
L"+%d%s к скрытности (быть 'невидимым', если вас не обнаружили)\n",
|
||||
L"Штраф укрытия при передвижении уменьшен на %d%s\n",
|
||||
L"-%d%s к шансу быть перехваченным\n", //chance to be interrupted
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsAthletics[]=
|
||||
{
|
||||
L"-%d%s ОД на передвижение (бег, шаг, шаг вприсядку, переползание, плавание и т.д.)\n",
|
||||
L"-%d%s на затраты энергии при движении, вскарабкивание на крышу, прыжки через препятствия, плавание и т.д.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsBodybuilding[]=
|
||||
{
|
||||
L"Имеет %d%s устойчивости к повреждениям\n",
|
||||
L"+%d%s к силе для определения максимально допустимого веса\n",
|
||||
L"Потеря сил при пропущенных ударах в ближнем бою уменьшена на %d%s\n",
|
||||
L"Урон при ранении в ногу, при котором вы падаете на землю, должен быть больше на %d%s\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsDemolitions[]=
|
||||
{
|
||||
L"+%d%s к урону для установленных бомб и мин\n",
|
||||
L"+%d%s к умению устанавливать детонатор\n",
|
||||
L"+%d%s к установке/разминированию бомб\n",
|
||||
L"Уменьшает шанс обнаружения противником установленных вами бомб и мин (+%d к уровню бомб)\n",
|
||||
L"Повышает вероятность вскрытия замка формовым зарядом (урон увеличен на %d)\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsTeaching[]=
|
||||
{
|
||||
L"+%d%s к скорости обучения ополчения\n",
|
||||
L"+%d%s к фактическому навыку лидерства при обучении ополчения\n",
|
||||
L"+%d%s к скорости обучения других наёмников\n",
|
||||
L"Значение уровня умения будет выше на +%d при обучении другого бойца этому умению\n",
|
||||
L"+%d%s к скорости самостоятельного обучения/тренировке\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsScouting[]=
|
||||
{
|
||||
L"+%d%% к эффективной прицельной видимости для оружия с оптическими прицелами\n",
|
||||
L"+%d%% к эффективной дальности видимости для биноклей (и оптических прицелов, отсоединённых от оружия)\n",
|
||||
L"-%d%% от туннельного зрения для биноклей (и оптических прицелов, отсоединённых от оружия)\n",
|
||||
L"В квадратах, смежных с вашим, будет показано точное количество врагов\n",
|
||||
L"В квадратах, смежных с вашим, будет показано наличие врагов\n",
|
||||
L"Предотвращает попадание отряда во вражеские засады\n",
|
||||
L"Предотвращает попадание отряда в засады кошек-убийц\n",
|
||||
};
|
||||
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
|
||||
{
|
||||
L"Иногда будет оповещать вас о мнениях членов команды.\n",
|
||||
L"Предотвращает плохое поведение членов команды (наркотики, алкоголь, воровство).\n",
|
||||
L"Может заниматься пропагандой в городах.\n",
|
||||
L"Может собирать слухи в городах.\n",
|
||||
L"Можно засылать в качестве доносчика в тюрьмы.\n",
|
||||
L"Увеличивает вашу репутацию на %d каждый день, если его боевой дух высок.\n",
|
||||
L"+%d фактической дальности слуха.\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMajorTraitsHelpTextsSurvival[] =
|
||||
{
|
||||
L"+%d%s к скорости передвижения группы пешком между квадратами\n",
|
||||
L"+%d%s к скорости передвижения группы на транспорте между квадратами (кроме вертолёта)\n",
|
||||
L"-%d%s к потере сил при переходе в другой квадрат\n",
|
||||
L"-%d%s к погодным трудностям\n",
|
||||
L"-%d%s к износу камуфляжного покрытия из-за воды и времени\n",
|
||||
L"Может заметить следы за %d метров\n",
|
||||
|
||||
L"%s%d%% к сопротивляемости заболеваниям\n",
|
||||
L"%s%d%% к потреблению еды\n",
|
||||
L"%s%d%% к потреблению воды\n",
|
||||
L"+%d%% к уклонению от атак змей\n",
|
||||
L"+%d%% к эффективности камуфляжа\n",
|
||||
};
|
||||
|
||||
STR16 gzIMPMinorTraitsHelpTextsNone[]=
|
||||
{
|
||||
L"Нет преимуществ",
|
||||
};
|
||||
|
||||
STR16 gzIMPOldSkillTraitsHelpTexts[]=
|
||||
{
|
||||
L"+%d%s бонус ко взлому замков\n",
|
||||
L"+%d%s к точности удара в рукопашной схватке\n",
|
||||
L"+%d%s к повреждениям в рукопашной схватке\n",
|
||||
L"+%d%s к шансу уклониться от удара кулака в рукопашной схватке\n",
|
||||
L"Нет штрафа для ремонта и использования электронных устройств \n(замков, ловушек, детонаторов, робота и т.д.)\n",
|
||||
L"+%d к зрению в темноте\n",
|
||||
L"+%d к дальности слуха\n",
|
||||
L"+%d дополнительно к слуху в темноте\n",
|
||||
L"+%d к вероятности перехвата хода в ночи\n",
|
||||
L"-%d к нужде во сне\n",
|
||||
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"Штраф на вероятность поражения цели при стрельбе очередью понижен на %d\n",
|
||||
L"Понижен шанс лишних выстрелов при автоматической стрельбе\n",
|
||||
L"+%d%s к бесшумному передвижению\n",
|
||||
L"+%d%s к скрытности (быть 'невидимым', если вас не обнаружили)\n",
|
||||
L"Нет штарафа на шанс попадания по цели при стрельбе с двух рук\n",
|
||||
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"Несмываемый камуфляж.\n",
|
||||
L"+%d%s к шансу попадания в ближнем бою\n",
|
||||
L"+%d%s к урону в ближнем бою\n",
|
||||
L"+%d%s к шансу уклониться от атаки в ближнем бою, если в руках ничего нет\n",
|
||||
L"+%d%s к шансу уклониться от атаки в ближнем бою, если руки заняты\n",
|
||||
L"+%d%s к шансу уклониться от атаки клинковым холодным оружием\n",
|
||||
L"Способен нанести удар ногой с разворота по ослабленному противнику с нанесением двойного урона\n",
|
||||
L"У вас будет особая анимация ударов в ближнем бою.\n",
|
||||
L"Нет преимуществ",
|
||||
};
|
||||
|
||||
STR16 gzIMPNewCharacterTraitsHelpTexts[]=
|
||||
{
|
||||
L"плюсы: Нет преимуществ.\n \nминусы: Без изъянов.", //Neutral
|
||||
L"плюсы: Лучше работает в команде.\n \nминусы: Боевой дух не растёт, когда наёмник работает один.", //Sociable
|
||||
L"плюсы: Лучше работает в одиночестве.\n \nминусы: Боевой дух не растёт в присутствии других бойцов.", //Loner
|
||||
L"плюсы: Боевой дух растет быстрее, а снижается медленнее обычного.\n \nминусы: Шанс обнаружить мины и ловушки ниже среднего.", //Optimist
|
||||
L"плюсы: Лучше ладит с людьми и тренирует ополчение.\n \nминусы: Действия других бойцов не влияют на его боевой дух.", //Assertive
|
||||
L"плюсы: Немного быстрее обучается при самоподготовке или в качестве ученика.\n \nминусы: Обладает меньшим сопротивлением страху и подавлению.", //Intellectual
|
||||
L"плюсы: Устаёт медленнее других, если работает не как врач, ремонтник, тренер или ученик.\n \nминусы: Его мудрость, лидерство, взрывное дело, механика и медицина растут медленнее обычного.", //Primitive
|
||||
L"плюсы: Немного большие шанс попадания при стрельбе очередями и урон в рукопашной. \nПри убийстве врага боевой дух растёт больше, чем у других.\n \nминусы: Хуже исполняет обязанности, для которых требуется терпение: \nремонт, вскрытие замков, снятие ловушек, лечение, тренировка ополчения.", //Aggressive
|
||||
L"плюсы: Лучше исполняет обязанности, требующие терпения: \nремонт, вскрытие замков, снятие ловушек, лечение, тренировка ополчения.\n \nминусы: Имеет меньший шанс перехватить ход врага.", //Phlegmatic
|
||||
L"плюсы: Имеет повышенное сопротивление подавлению и страху. \nБоевой дух при ранениях и гибели товарищей понижается медленнее, чем у других.\n \nминусы: Может быть с большей вероятностью поражен во время движения.", //Dauntless
|
||||
L"плюсы: Боевой дух повышается при выполнении небоевых заданий (кроме тренировки ополчения).\n \nминусы: Убийство врагов не повышает боевой дух.", //Pacifist
|
||||
L"плюсы: Имеет больший шанс нанести болезненные раны и травмы, приводящие к ухудшению параметров.\nБоевой дух повышается при нанесении таких ран.\n \nминусы: Имеет проблемы в общении и быстро теряет боевой дух, если не сражается.", //Malicious
|
||||
L"плюсы: Лучше работает в компании представителей противоположного пола.\n \nминусы: Боевой дух бойцов того же пола в его присутствии растёт медленнее.", //Show-off
|
||||
L"плюсы: При отступлении боевой дух повышается.\n \nминусы: Боевой дух падает при встрече с превосходящими силами противника.",
|
||||
};
|
||||
|
||||
STR16 gzIMPDisabilitiesHelpTexts[]=
|
||||
{
|
||||
L"Никакого влияния.",
|
||||
L"Уменьшается работоспособность и возникают проблемы с дыханием, \nесли находится в пустынной или тропической местности.",
|
||||
L"Может впасть в панику, если оставить одного в определённых ситуациях.",
|
||||
L"Понижается работоспособность в подземельях.",
|
||||
L"При попытке плыть может с лёгкостью утонуть.",
|
||||
L"При виде больших насекомых может впасть в крайности и наворотить дел... \nНахождение в тропических лесах также слегка понижает его работоспособность.",
|
||||
L"Иногда забывает приказы, из-за чего теряет \nнекоторое количество ОД во время боя.",
|
||||
L"Иногда бывают приступы помутнения рассудка. \nВ такие моменты он расстреливает весь магазин до последней пули. \nПадает духом, если его оружие этого не позволяет.",
|
||||
L"Значительно пониженный слух.",
|
||||
L"Сниженная дальность видимости.",
|
||||
L"Значительно большие кровопотери.",
|
||||
L"Снижаются возможности при нахождении наёмника на крышах.",
|
||||
L"Иногда наносит себе раны.",
|
||||
};
|
||||
|
||||
STR16 gzIMPProfileCostText[]=
|
||||
{
|
||||
L"Составление вашей харрактеристики стоит $%d. Подтвердить оплату?",
|
||||
};
|
||||
|
||||
STR16 zGioNewTraitsImpossibleText[]=
|
||||
{
|
||||
L"Нельзя выбрать новые умения IMP персонажа с отключенным PROFEX. Проверьте значение файла настроек JA2_Options.ini, ключ: READ_PROFILE_DATA_FROM_XML.",
|
||||
};
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//@@@: New string as of March 3, 2000.
|
||||
STR16 gzIronManModeWarningText[]=
|
||||
{
|
||||
L"Вы выбрали сохранение \"между боями\". Проходить игру станет гораздо сложнее, так как сохраняться можно будет только когда противника нет в секторе. После старта игры изменить эту настройку нельзя. Вы уверены, что сможете играть в таком режиме?",
|
||||
L"Вы выбрали сохранение \"между перестрелками\". Проходить игру станет немного сложнее, так как нельзя будет сохраняться в пошаговом режиме. После старта игры изменить эту настройку нельзя. Вы уверены, что сможете играть в таком режиме?",
|
||||
L"Вы выбрали сохранение \"один раз в день\". Проходить игру станет значительно сложнее, так как сохраняться можно будет только раз в день - в %02d:00. После старта игры изменить эту настройку нельзя. Вы уверены, что сможете играть в таком режиме?",
|
||||
};
|
||||
|
||||
STR16 gzDisplayCoverText[]=
|
||||
{
|
||||
L"Укрытие: %d/100 %s, освещённость: %d/100",
|
||||
L"Дальнобойность оружия: %d/%d тайлов, шанс попадания: %d/100",
|
||||
L"Дальнобойность оружия: %d/%d тайлов, твердость руки: %d/100",
|
||||
L"Отключено выделение видимых зон наёмника и врага",
|
||||
L"Видимые зоны наёмника",
|
||||
L"Опасные зоны для наёмника",
|
||||
L"Лес", //Wood //wanted to use jungle , but wood is shorter in german too (dschungel vs wald)
|
||||
L"Город",
|
||||
L"Пустыня",
|
||||
L"Снег", //NOT USED!!!
|
||||
L"Лес и пустыня",
|
||||
L"Лес и город",
|
||||
L"Лес и снег",
|
||||
L"Пустыня и город",
|
||||
L"Пустыня и снег",
|
||||
L"Город и снег",
|
||||
L"-", // yes empty for now
|
||||
L"Укрытие: %d/100, освещённость: %d/100",
|
||||
L"Громкость шагов",
|
||||
L"Сложность остаться незаметным", //Stealth difficulty
|
||||
L"Уровень ловушки",
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,87 +0,0 @@
|
||||
#ifndef _JA25ENGLISHTEXT__H_
|
||||
#define _JA25ENGLISHTEXT__H_
|
||||
|
||||
extern STR16 gzIMPSkillTraitsText[];
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// added by SANDRO
|
||||
extern STR16 gzIMPSkillTraitsTextNewMajor[];
|
||||
extern STR16 gzIMPSkillTraitsTextNewMinor[];
|
||||
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsAutoWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsHeavyWeapons[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSniper[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRanger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsGunslinger[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsMartialArts[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSquadleader[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsTechnician[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsDoctor[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsCovertOps[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsRadioOperator[]; // added by Flugente
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsNone[];
|
||||
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAmbidextrous[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsMelee[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsThrowing[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsStealthy[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNightOps[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsAthletics[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsBodybuilding[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsDemolitions[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsTeaching[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsScouting[];
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsSnitch[];
|
||||
extern STR16 gzIMPMajorTraitsHelpTextsSurvival[]; // added by Flugente
|
||||
extern STR16 gzIMPMinorTraitsHelpTextsNone[];
|
||||
|
||||
extern STR16 gzIMPOldSkillTraitsHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPNewCharacterTraitsHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPDisabilitiesHelpTexts[];
|
||||
|
||||
extern STR16 gzIMPProfileCostText[];
|
||||
|
||||
extern STR16 zGioNewTraitsImpossibleText[];
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
{
|
||||
IMM__IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__SOFT_IRON_MAN_MODE_WARNING_TEXT,
|
||||
IMM__EXTREME_IRON_MAN_MODE_WARNING_TEXT,
|
||||
};
|
||||
extern STR16 gzIronManModeWarningText[];
|
||||
|
||||
// display cover message (for tactical usually, seperated)
|
||||
// display cover terrain type info (used in cover information)
|
||||
enum
|
||||
{
|
||||
DC_MSG__COVER_INFORMATION,
|
||||
DC_MSG__GUN_RANGE_INFORMATION,
|
||||
DC_MSG__NCTH_GUN_RANGE_INFORMATION,
|
||||
DC_MSG__COVER_DRAW_OFF,
|
||||
DC_MSG__COVER_DRAW_MERC_VIEW,
|
||||
DC_MSG__COVER_DRAW_ENEMY_VIEW,
|
||||
DC_TTI__WOOD,
|
||||
DC_TTI__URBAN,
|
||||
DC_TTI__DESERT,
|
||||
DC_TTI__SNOW,
|
||||
DC_TTI__WOOD_AND_DESERT,
|
||||
DC_TTI__WOOD_AND_URBAN,
|
||||
DC_TTI__WOOD_AND_SNOW,
|
||||
DC_TTI__DESERT_AND_URBAN,
|
||||
DC_TTI__DESERT_AND_SNOW,
|
||||
DC_TTI__URBAN_AND_SNOW,
|
||||
DC_TTI__UNKNOWN,
|
||||
DC_MSG__COVER_INFORMATION_WITH_DETAILED_CAMO,
|
||||
DC_TTI__DETAILED_SOUND,
|
||||
DC_TTI__DETAILED_STEALTH,
|
||||
DC_TTI__DETAILED_TRAP_LEVEL,
|
||||
};
|
||||
extern STR16 gzDisplayCoverText[];
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
-12256
File diff suppressed because it is too large
Load Diff
-12237
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -5,4 +5,4 @@
|
||||
void GenerateAllMapsInit(void);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "GameSettings.h"
|
||||
#include "sgp_logger.h"
|
||||
|
||||
#include <language.hpp>
|
||||
typedef struct
|
||||
{
|
||||
UINT32 uiFont;
|
||||
|
||||
+1
-1
@@ -118,4 +118,4 @@ void DisplayLastMessage( void );
|
||||
*/
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -337,4 +337,4 @@
|
||||
};
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -1861,4 +1861,4 @@ void popupMouseClickCallback(MOUSE_REGION *pRegion, INT32 iReason)
|
||||
if (p) {
|
||||
p->MenuBtnCallBack(pRegion, iReason);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -232,4 +232,4 @@
|
||||
return applyPopupContentGenerator( popup, this->generatorId );
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -106,4 +106,4 @@ protected:
|
||||
UINT16 generatorId;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user