3 [
Attribute(
"", UIWidgets.EditBox,
"Name of this mission.")]
6 [
Attribute(
"", UIWidgets.EditBox,
"Author of this mission.")]
9 [
Attribute(
"", UIWidgets.EditBox,
"Path to mission.")]
12 [
Attribute(
"", UIWidgets.EditBox,
"Brief description of this mission's purpose.")]
13 string m_sDescription;
15 [
Attribute(
"", UIWidgets.EditBox,
"Detailed description of this mission (i.e. rules).")]
18 [
Attribute(
"{6CFADAEE9287D1D2}UI/Textures/WorldSelection/Default.edds", UIWidgets.ResourcePickerThumbnail,
"Icon texture of this mission visible e.g. in menus.",
"edds")]
21 [
Attribute(
"{C58FCC06AF13075B}UI/Textures/MissionLoadingScreens/placeholder_1.edds", UIWidgets.ResourcePickerThumbnail,
"Texture of this mission visible when loading this mission.",
"edds")]
22 ResourceName m_sLoadingScreen;
24 [
Attribute(
"{C58FCC06AF13075B}UI/Textures/MissionLoadingScreens/placeholder_1.edds", UIWidgets.ResourcePickerThumbnail,
"Texture of this mission visible when loading this mission.",
"edds")]
25 ResourceName m_sPreviewImage;
27 [
Attribute(
"Sandbox", UIWidgets.EditBox,
"Game mode of this mission.")]
30 [
Attribute(
"1", UIWidgets.EditBox,
"The count of players for this mission")]
33 [
Attribute(
"0", uiwidget: UIWidgets.Flags,
"Editable Game Flags",
"", ParamEnumArray.FromEnum(
EGameFlags))]
36 [
Attribute(
"0", uiwidget: UIWidgets.Flags,
"Default Game Flags",
"", ParamEnumArray.FromEnum(
EGameFlags))]
39 [
Attribute(
desc:
"When true, saving mission state is enabled.")]
40 bool m_bIsSavingEnabled;
42 [
Attribute(
"", UIWidgets.EditBox,
"Name of save file for this mission.\nWhen undefined, the name of associated world file will be used.")]
43 string m_sSaveFileName;
45 [
Attribute(
"", UIWidgets.ResourceNamePicker,
"Configuration file for briefing screen.",
"conf")]
46 ResourceName m_sBriefingConfig;
48 [
Attribute(
"0",
desc:
"If the scenario allows it, its daytime and weather will use values from this header. Requires SCR_TimeAndWeatherHandlerComponent on gamemode entity.")];
49 bool m_bOverrideScenarioTimeAndWeather;
51 [
Attribute(
"8", UIWidgets.Slider,
"Starting time of day (hours)",
"0 23 1")]
54 [
Attribute(
"0", UIWidgets.Slider,
"Starting time of day (minutes)",
"0 59 1")]
55 int m_iStartingMinutes;
58 bool m_bRandomStartingDaytime;
60 [
Attribute(
"1", UIWidgets.Slider,
"Time acceleration during the day (1 = 100%, 2 = 200% etc)",
"0.1 12 0.1")]
61 float m_fDayTimeAcceleration;
63 [
Attribute(
"1", UIWidgets.Slider,
"Time acceleration during the night (1 = 100%, 2 = 200% etc)",
"0.1 12 0.1")]
64 float m_fNightTimeAcceleration;
67 bool m_bRandomStartingWeather;
70 bool m_bRandomWeatherChanges;
72 [
Attribute(
"1", UIWidgets.EditBox,
"Player XP multiplier (when enabled in gamemode; 1 for default)")]
73 float m_fXpMultiplier;
75 [
Attribute(
"",
desc:
"Determines whether map markers can be deleted only by player who placed them or by anyone within faction")]
76 bool m_bMapMarkerEnableDeleteByAnyone;
78 [
Attribute(
"10",
desc:
"How many map markers per player can exist at a time")];
79 int m_iMapMarkerLimitPerPlayer;
88 return m_iPlayerCount > 1;
95 string GetSaveFileName()
98 return m_sSaveFileName;
100 return FilePath.StripPath(FilePath.StripExtension(GetWorldPath()));
107 static SCR_MissionHeader GetMissionHeader(notnull MissionWorkshopItem item,
bool blockFromAddons =
false)
111 if (blockFromAddons && item.GetOwner())