v1.2.6.0 (Winter Update)
This commit is contained in:
@@ -374,13 +374,12 @@ namespace Barotrauma
|
||||
btn.RectTransform.MinSize = new Point(0, (int)(btn.TextBlock.Rect.Height * 1.2f));
|
||||
}
|
||||
|
||||
textContent.RectTransform.MinSize = new Point(0, textContent.Children.Sum(c => c.Rect.Height) + GUI.IntScale(16));
|
||||
textContent.RectTransform.MinSize = new Point(0, textContent.Children.Sum(c => c.Rect.Height + textContent.AbsoluteSpacing) + GUI.IntScale(16));
|
||||
content.RectTransform.MinSize = new Point(0, content.Children.Sum(c => c.Rect.Height));
|
||||
|
||||
// Recalculate the text size as it is scaled up and no longer matching the text height due to the textContent's minSize increasing
|
||||
textBlock.CalculateHeightFromText();
|
||||
textBlock.TextAlignment = Alignment.TopLeft;
|
||||
//content.RectTransform.MinSize = new Point(0, textContent.Rect.Height);
|
||||
|
||||
return buttons;
|
||||
}
|
||||
|
||||
+9
-1
@@ -16,6 +16,11 @@ partial class EventObjectiveAction : EventAction
|
||||
int width = 450,
|
||||
int height = 80)
|
||||
{
|
||||
if (Type == SegmentActionType.AddIfNotFound)
|
||||
{
|
||||
if (ObjectiveManager.IsSegmentActive(Identifier)) { return; }
|
||||
}
|
||||
|
||||
ObjectiveManager.Segment? segment = null;
|
||||
// Only need to create the segment when it's being triggered (otherwise the tutorial already has the segment instance)
|
||||
if (Type == SegmentActionType.Trigger)
|
||||
@@ -24,7 +29,8 @@ partial class EventObjectiveAction : EventAction
|
||||
new ObjectiveManager.Segment.Text(TextTag, width, height, Anchor.Center),
|
||||
new ObjectiveManager.Segment.Video(videoFile, TextTag, width, height));
|
||||
}
|
||||
else if (Type == SegmentActionType.Add)
|
||||
else if (Type == SegmentActionType.Add ||
|
||||
Type == SegmentActionType.AddIfNotFound)
|
||||
{
|
||||
segment = ObjectiveManager.Segment.CreateObjectiveSegment(Identifier, !ObjectiveTag.IsEmpty ? ObjectiveTag : Identifier);
|
||||
}
|
||||
@@ -33,10 +39,12 @@ partial class EventObjectiveAction : EventAction
|
||||
segment.CanBeCompleted = CanBeCompleted;
|
||||
segment.ParentId = ParentObjectiveId;
|
||||
}
|
||||
|
||||
switch (Type)
|
||||
{
|
||||
case SegmentActionType.Trigger:
|
||||
case SegmentActionType.Add:
|
||||
case SegmentActionType.AddIfNotFound:
|
||||
ObjectiveManager.TriggerSegment(segment);
|
||||
break;
|
||||
case SegmentActionType.Complete:
|
||||
|
||||
+7
-10
@@ -1,22 +1,19 @@
|
||||
#nullable enable
|
||||
using Microsoft.Xna.Framework;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Barotrauma;
|
||||
|
||||
partial class TutorialHighlightAction : EventAction
|
||||
partial class HighlightAction : EventAction
|
||||
{
|
||||
private static readonly Color highlightColor = Color.Orange;
|
||||
|
||||
partial void UpdateProjSpecific()
|
||||
partial void SetHighlightProjSpecific(Entity entity, IEnumerable<Character>? targetCharacters)
|
||||
{
|
||||
if (GameMain.GameSession?.GameMode is not TutorialMode) { return; }
|
||||
foreach (var target in ParentEvent.GetTargets(TargetTag))
|
||||
if (targetCharacters != null && !targetCharacters.Contains(Character.Controlled))
|
||||
{
|
||||
SetHighlight(target);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetHighlight(Entity entity)
|
||||
{
|
||||
if (entity is Item i)
|
||||
{
|
||||
SetItemHighlight(i);
|
||||
@@ -47,7 +47,7 @@ namespace Barotrauma
|
||||
}
|
||||
|
||||
float theoreticalMaxMonsterStrength = 10000;
|
||||
float relativeMaxMonsterStrength = theoreticalMaxMonsterStrength * (GameMain.GameSession?.LevelData?.Difficulty ?? 0f) / 100;
|
||||
float relativeMaxMonsterStrength = theoreticalMaxMonsterStrength * (GameMain.GameSession?.Level?.Difficulty ?? 0f) / 100;
|
||||
float absoluteMonsterStrength = monsterStrength / theoreticalMaxMonsterStrength;
|
||||
float relativeMonsterStrength = monsterStrength / relativeMaxMonsterStrength;
|
||||
|
||||
@@ -581,7 +581,14 @@ namespace Barotrauma
|
||||
StatusEffect effect = StatusEffect.Load(subElement, $"EventManager.ClientRead ({eventIdentifier})");
|
||||
foreach (Entity target in targets)
|
||||
{
|
||||
effect.Apply(effect.type, 1.0f, target, target as ISerializableEntity);
|
||||
if (target is Item item)
|
||||
{
|
||||
effect.Apply(effect.type, 1.0f, item, item.AllPropertyObjects);
|
||||
}
|
||||
else
|
||||
{
|
||||
effect.Apply(effect.type, 1.0f, target, target as ISerializableEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -51,7 +51,8 @@ namespace Barotrauma
|
||||
if (requiredDeliveryAmount == 0) { requiredDeliveryAmount = items.Count; }
|
||||
if (requiredDeliveryAmount > items.Count)
|
||||
{
|
||||
DebugConsole.AddWarning($"Error in mission \"{Prefab.Identifier}\". Required delivery amount is {requiredDeliveryAmount} but there's only {items.Count} items to deliver.");
|
||||
DebugConsole.AddWarning($"Error in mission \"{Prefab.Identifier}\". Required delivery amount is {requiredDeliveryAmount} but there's only {items.Count} items to deliver.",
|
||||
contentPackage: Prefab.ContentPackage);
|
||||
requiredDeliveryAmount = items.Count;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,7 +126,13 @@ namespace Barotrauma
|
||||
void GiveMissionExperience(CharacterInfo info)
|
||||
{
|
||||
if (info == null) { return; }
|
||||
var experienceGainMultiplierIndividual = new AbilityMissionExperienceGainMultiplier(this, 1f);
|
||||
var experienceGainMultiplierIndividual = new AbilityMissionExperienceGainMultiplier(this, 1f, info.Character);
|
||||
//check if anyone else in the crew has talents that could give a bonus to this one
|
||||
foreach (var c in crew)
|
||||
{
|
||||
if (c == info.Character) { continue; }
|
||||
c.CheckTalents(AbilityEffectType.OnAllyGainMissionExperience, experienceGainMultiplierIndividual);
|
||||
}
|
||||
info.Character?.CheckTalents(AbilityEffectType.OnGainMissionExperience, experienceGainMultiplierIndividual);
|
||||
info.GiveExperience((int)(experienceGain * experienceGainMultiplierIndividual.Value));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user