mirror of
https://github.com/tribufu/ServerManagers
synced 2026-05-06 15:17:34 +00:00
Added ItemStatClamps Settings
This commit is contained in:
parent
ae55d0d1c0
commit
7c6bfbbfd3
3 changed files with 141 additions and 0 deletions
|
|
@ -1310,6 +1310,17 @@
|
|||
<sys:String x:Key="ServerSettings_CryopodNerfDamageMultiplierTooltip">Specifies the multiplier for damage done by creatures, after they have been released from a cryopod. Lower values means the damage done by the creature will be lower (eg. 0.01 means 99% of the damage is removed).</sys:String>
|
||||
<sys:String x:Key="ServerSettings_CryopodNerfIncomingDamageMultPercentLabel">Incoming Damage Multiplier Percent</sys:String>
|
||||
<sys:String x:Key="ServerSettings_CryopodNerfIncomingDamageMultPercentTooltip">Specifies the percentage increase to the incoming damage multiplier of a creature, after they have been released from a cryopod. Higher values means more incoming damage done to the creature (eg. 0.25 = 25% more damage).</sys:String>
|
||||
|
||||
<sys:String x:Key="ServerSettings_ItemStatClampsLabel">Item Stat Clamps</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ItemStatClampsNoteLabel">WARNING: This will permanently change the stats of any existing items so make sure to backup your current save before modifying and playing with the clamping values.</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ItemStatClamps_GenericQualityLabel">Generic Quality</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ItemStatClamps_ArmorLabel">Armor</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ItemStatClamps_MaxDurabilityLabel">Max Durability</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ItemStatClamps_WeaponDamagePercentLabel">Weapon Damage Percent</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ItemStatClamps_WeaponClipAmmoLabel">Weapon Clip Ammo</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ItemStatClamps_HypothermalInsulationLabel">Hypo Insulation</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ItemStatClamps_WeightLabel">Weight</sys:String>
|
||||
<sys:String x:Key="ServerSettings_ItemStatClamps_HyperthermalInsulationLabel">Hyper Insulation</sys:String>
|
||||
<!--#endregion-->
|
||||
|
||||
<!--#region Server Settings - Chat and Notifications -->
|
||||
|
|
|
|||
|
|
@ -1666,6 +1666,85 @@ namespace ServerManagerTool.Lib
|
|||
get { return (float)GetValue(HexagonCostMultiplierProperty); }
|
||||
set { SetValue(HexagonCostMultiplierProperty, value); }
|
||||
}
|
||||
|
||||
public bool ClampItemStats
|
||||
{
|
||||
get
|
||||
{
|
||||
return ItemStatClamps_GenericQuality.HasValue
|
||||
|| ItemStatClamps_Armor.HasValue
|
||||
|| ItemStatClamps_MaxDurability.HasValue
|
||||
|| ItemStatClamps_WeaponDamagePercent.HasValue
|
||||
|| ItemStatClamps_WeaponClipAmmo.HasValue
|
||||
|| ItemStatClamps_HypothermalInsulation.HasValue
|
||||
|| ItemStatClamps_Weight.HasValue
|
||||
|| ItemStatClamps_HyperthermalInsulation.HasValue;
|
||||
}
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty ItemStatClamps_GenericQualityProperty = DependencyProperty.Register(nameof(ItemStatClamps_GenericQuality), typeof(NullableValue<int>), typeof(ServerProfile), new PropertyMetadata(new NullableValue<int>(false, 0)));
|
||||
[IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.Rules, "ItemStatClamps[0]")]
|
||||
public NullableValue<int> ItemStatClamps_GenericQuality
|
||||
{
|
||||
get { return (NullableValue<int>)GetValue(ItemStatClamps_GenericQualityProperty); }
|
||||
set { SetValue(ItemStatClamps_GenericQualityProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty ItemStatClamps_ArmorProperty = DependencyProperty.Register(nameof(ItemStatClamps_Armor), typeof(NullableValue<int>), typeof(ServerProfile), new PropertyMetadata(new NullableValue<int>(false, 0)));
|
||||
[IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.Rules, "ItemStatClamps[1]")]
|
||||
public NullableValue<int> ItemStatClamps_Armor
|
||||
{
|
||||
get { return (NullableValue<int>)GetValue(ItemStatClamps_ArmorProperty); }
|
||||
set { SetValue(ItemStatClamps_ArmorProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty ItemStatClamps_MaxDurabilityProperty = DependencyProperty.Register(nameof(ItemStatClamps_MaxDurability), typeof(NullableValue<int>), typeof(ServerProfile), new PropertyMetadata(new NullableValue<int>(false, 0)));
|
||||
[IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.Rules, "ItemStatClamps[2]")]
|
||||
public NullableValue<int> ItemStatClamps_MaxDurability
|
||||
{
|
||||
get { return (NullableValue<int>)GetValue(ItemStatClamps_MaxDurabilityProperty); }
|
||||
set { SetValue(ItemStatClamps_MaxDurabilityProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty ItemStatClamps_WeaponDamagePercentProperty = DependencyProperty.Register(nameof(ItemStatClamps_WeaponDamagePercent), typeof(NullableValue<int>), typeof(ServerProfile), new PropertyMetadata(new NullableValue<int>(false, 0)));
|
||||
[IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.Rules, "ItemStatClamps[3]")]
|
||||
public NullableValue<int> ItemStatClamps_WeaponDamagePercent
|
||||
{
|
||||
get { return (NullableValue<int>)GetValue(ItemStatClamps_WeaponDamagePercentProperty); }
|
||||
set { SetValue(ItemStatClamps_WeaponDamagePercentProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty ItemStatClamps_WeaponClipAmmoProperty = DependencyProperty.Register(nameof(ItemStatClamps_WeaponClipAmmo), typeof(NullableValue<int>), typeof(ServerProfile), new PropertyMetadata(new NullableValue<int>(false, 0)));
|
||||
[IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.Rules, "ItemStatClamps[4]")]
|
||||
public NullableValue<int> ItemStatClamps_WeaponClipAmmo
|
||||
{
|
||||
get { return (NullableValue<int>)GetValue(ItemStatClamps_WeaponClipAmmoProperty); }
|
||||
set { SetValue(ItemStatClamps_WeaponClipAmmoProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty ItemStatClamps_HypothermalInsulationProperty = DependencyProperty.Register(nameof(ItemStatClamps_HypothermalInsulation), typeof(NullableValue<int>), typeof(ServerProfile), new PropertyMetadata(new NullableValue<int>(false, 0)));
|
||||
[IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.Rules, "ItemStatClamps[5]")]
|
||||
public NullableValue<int> ItemStatClamps_HypothermalInsulation
|
||||
{
|
||||
get { return (NullableValue<int>)GetValue(ItemStatClamps_HypothermalInsulationProperty); }
|
||||
set { SetValue(ItemStatClamps_HypothermalInsulationProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty ItemStatClamps_WeightProperty = DependencyProperty.Register(nameof(ItemStatClamps_Weight), typeof(NullableValue<int>), typeof(ServerProfile), new PropertyMetadata(new NullableValue<int>(false, 0)));
|
||||
[IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.Rules, "ItemStatClamps[6]")]
|
||||
public NullableValue<int> ItemStatClamps_Weight
|
||||
{
|
||||
get { return (NullableValue<int>)GetValue(ItemStatClamps_WeightProperty); }
|
||||
set { SetValue(ItemStatClamps_WeightProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty ItemStatClamps_HyperthermalInsulationProperty = DependencyProperty.Register(nameof(ItemStatClamps_HyperthermalInsulation), typeof(NullableValue<int>), typeof(ServerProfile), new PropertyMetadata(new NullableValue<int>(false, 0)));
|
||||
[IniFileEntry(IniFiles.Game, IniSections.Game_ShooterGameMode, ServerProfileCategory.Rules, "ItemStatClamps[7]")]
|
||||
public NullableValue<int> ItemStatClamps_HyperthermalInsulation
|
||||
{
|
||||
get { return (NullableValue<int>)GetValue(ItemStatClamps_HyperthermalInsulationProperty); }
|
||||
set { SetValue(ItemStatClamps_HyperthermalInsulationProperty, value); }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Chat and Notifications
|
||||
|
|
@ -3499,6 +3578,11 @@ namespace ServerManagerTool.Lib
|
|||
|
||||
serverArgs.Append($"?AllowCrateSpawnsOnTopOfStructures={this.AllowCrateSpawnsOnTopOfStructures}");
|
||||
|
||||
if (this.ClampItemStats)
|
||||
{
|
||||
serverArgs.Append("?ClampItemStats=true");
|
||||
}
|
||||
|
||||
if (Config.Default.SectionSOTFEnabled && this.SOTF_Enabled)
|
||||
{
|
||||
serverArgs.Append("?EvoEventInterval=").Append(this.SOTF_EvoEventInterval);
|
||||
|
|
@ -5314,6 +5398,15 @@ namespace ServerManagerTool.Lib
|
|||
this.ClearValue(HexStoreAllowOnlyEngramTradeOptionProperty);
|
||||
this.ClearValue(HexagonRewardMultiplierProperty);
|
||||
this.ClearValue(HexagonCostMultiplierProperty);
|
||||
|
||||
this.ClearNullableValue(ItemStatClamps_GenericQualityProperty);
|
||||
this.ClearNullableValue(ItemStatClamps_ArmorProperty);
|
||||
this.ClearNullableValue(ItemStatClamps_MaxDurabilityProperty);
|
||||
this.ClearNullableValue(ItemStatClamps_WeaponDamagePercentProperty);
|
||||
this.ClearNullableValue(ItemStatClamps_WeaponClipAmmoProperty);
|
||||
this.ClearNullableValue(ItemStatClamps_HypothermalInsulationProperty);
|
||||
this.ClearNullableValue(ItemStatClamps_WeightProperty);
|
||||
this.ClearNullableValue(ItemStatClamps_HyperthermalInsulationProperty);
|
||||
}
|
||||
|
||||
public void ResetSOTFSection()
|
||||
|
|
@ -5970,6 +6063,15 @@ namespace ServerManagerTool.Lib
|
|||
this.SetValue(HexStoreAllowOnlyEngramTradeOptionProperty, sourceProfile.HexStoreAllowOnlyEngramTradeOption);
|
||||
this.SetValue(HexagonRewardMultiplierProperty, sourceProfile.HexagonRewardMultiplier);
|
||||
this.SetValue(HexagonCostMultiplierProperty, sourceProfile.HexagonCostMultiplier);
|
||||
|
||||
this.SetNullableValue(ItemStatClamps_GenericQualityProperty, sourceProfile.ItemStatClamps_GenericQuality);
|
||||
this.SetNullableValue(ItemStatClamps_ArmorProperty, sourceProfile.ItemStatClamps_Armor);
|
||||
this.SetNullableValue(ItemStatClamps_MaxDurabilityProperty, sourceProfile.ItemStatClamps_MaxDurability);
|
||||
this.SetNullableValue(ItemStatClamps_WeaponDamagePercentProperty, sourceProfile.ItemStatClamps_WeaponDamagePercent);
|
||||
this.SetNullableValue(ItemStatClamps_WeaponClipAmmoProperty, sourceProfile.ItemStatClamps_WeaponClipAmmo);
|
||||
this.SetNullableValue(ItemStatClamps_HypothermalInsulationProperty, sourceProfile.ItemStatClamps_HypothermalInsulation);
|
||||
this.SetNullableValue(ItemStatClamps_WeightProperty, sourceProfile.ItemStatClamps_Weight);
|
||||
this.SetNullableValue(ItemStatClamps_HyperthermalInsulationProperty, sourceProfile.ItemStatClamps_HyperthermalInsulation);
|
||||
}
|
||||
|
||||
private void SyncServerFiles(ServerProfile sourceProfile)
|
||||
|
|
|
|||
|
|
@ -2357,6 +2357,34 @@
|
|||
<cctl:AnnotatedSlider Grid.Row="3" Grid.ColumnSpan="3" Margin="5,5,5,0" Label="{DynamicResource ServerSettings_HexagonCostMultiplierLabel}" Value="{Binding HexagonCostMultiplier}" Suffix="{DynamicResource SliderUnits_Multiplier}" Minimum="0" Maximum="10" SmallChange="0.1" LargeChange="1" TickFrequency="1" ToolTip="{DynamicResource ServerSettings_HexagonCostMultiplierTooltip}"/>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
<GroupBox Header="{DynamicResource ServerSettings_ItemStatClampsLabel}" Style="{StaticResource GroupBoxStyle}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="6" Margin="5,0,5,0" Text="{DynamicResource ServerSettings_ItemStatClampsNoteLabel}" FontWeight="Bold" TextWrapping="WrapWithOverflow" IsEnabled="False"/>
|
||||
|
||||
<cctl:AnnotatedCheckBoxAndIntegerSlider Grid.Row="1" Grid.Column="0" Margin="1" Label="{DynamicResource ServerSettings_ItemStatClamps_GenericQualityLabel}" Value="{Binding ItemStatClamps_GenericQuality}" Minimum="0" Maximum="1000000" TickFrequency="100" SmallChange="10" LargeChange="100" SuffixRelativeWidth="0" />
|
||||
<cctl:AnnotatedCheckBoxAndIntegerSlider Grid.Row="2" Grid.Column="0" Margin="1" Label="{DynamicResource ServerSettings_ItemStatClamps_ArmorLabel}" Value="{Binding ItemStatClamps_Armor}" Minimum="0" Maximum="1000000" TickFrequency="100" SmallChange="10" LargeChange="100" SuffixRelativeWidth="0" />
|
||||
<cctl:AnnotatedCheckBoxAndIntegerSlider Grid.Row="3" Grid.Column="0" Margin="1" Label="{DynamicResource ServerSettings_ItemStatClamps_WeaponDamagePercentLabel}" Value="{Binding ItemStatClamps_WeaponDamagePercent}" Minimum="0" Maximum="1000000" TickFrequency="100" SmallChange="10" LargeChange="100" SuffixRelativeWidth="0" />
|
||||
<cctl:AnnotatedCheckBoxAndIntegerSlider Grid.Row="4" Grid.Column="0" Margin="1" Label="{DynamicResource ServerSettings_ItemStatClamps_HypothermalInsulationLabel}" Value="{Binding ItemStatClamps_HypothermalInsulation}" Minimum="0" Maximum="1000000" TickFrequency="100" SmallChange="10" LargeChange="100" SuffixRelativeWidth="0" />
|
||||
|
||||
<cctl:AnnotatedCheckBoxAndIntegerSlider Grid.Row="1" Grid.Column="1" Margin="1" Label="{DynamicResource ServerSettings_ItemStatClamps_WeightLabel}" Value="{Binding ItemStatClamps_Weight}" Minimum="0" Maximum="1000000" TickFrequency="100" SmallChange="10" LargeChange="100" SuffixRelativeWidth="0" />
|
||||
<cctl:AnnotatedCheckBoxAndIntegerSlider Grid.Row="2" Grid.Column="1" Margin="1" Label="{DynamicResource ServerSettings_ItemStatClamps_MaxDurabilityLabel}" Value="{Binding ItemStatClamps_MaxDurability}" Minimum="0" Maximum="1000000" TickFrequency="100" SmallChange="10" LargeChange="100" SuffixRelativeWidth="0" />
|
||||
<cctl:AnnotatedCheckBoxAndIntegerSlider Grid.Row="3" Grid.Column="1" Margin="1" Label="{DynamicResource ServerSettings_ItemStatClamps_WeaponClipAmmoLabel}" Value="{Binding ItemStatClamps_WeaponClipAmmo}" Minimum="0" Maximum="1000000" TickFrequency="100" SmallChange="10" LargeChange="100" SuffixRelativeWidth="0" />
|
||||
<cctl:AnnotatedCheckBoxAndIntegerSlider Grid.Row="4" Grid.Column="1" Margin="1" Label="{DynamicResource ServerSettings_ItemStatClamps_HyperthermalInsulationLabel}" Value="{Binding ItemStatClamps_HyperthermalInsulation}" Minimum="0" Maximum="1000000" TickFrequency="100" SmallChange="10" LargeChange="100" SuffixRelativeWidth="0" />
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Expander>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue