Track LocalMods as part of monolith
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
using Barotrauma;
|
||||
using MoreLevelContent.Missions;
|
||||
using MoreLevelContent.Shared.Data;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Linq;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using MoreLevelContent.Networking;
|
||||
using MoreLevelContent.Shared.Utils;
|
||||
|
||||
namespace MoreLevelContent.Shared.Generation
|
||||
{
|
||||
internal partial class LostCargoMapModule : TimedEventMapModule
|
||||
{
|
||||
protected override NetEvent EventCreated => NetEvent.MAP_SEND_NEWCARGO;
|
||||
|
||||
//protected override NetEvent EventUpdated => throw new NotImplementedException();
|
||||
|
||||
protected override string NewEventText => "mlc.lostcargo.new";
|
||||
|
||||
protected override string EventTag => "lostcargo";
|
||||
|
||||
protected override int MaxActiveEvents => 5;
|
||||
|
||||
protected override float EventSpawnChance => 1;
|
||||
|
||||
protected override int MinDistance => 1;
|
||||
|
||||
protected override int MaxDistance => 2;
|
||||
|
||||
protected override int MinEventDuration => 4;
|
||||
|
||||
protected override int MaxEventDuration => 6;
|
||||
|
||||
protected override bool ShouldSpawnEventAtStart => true;
|
||||
|
||||
protected override void HandleEventCreation(LevelData_MLCData data, int eventDuration)
|
||||
{
|
||||
data.HasLostCargo = true;
|
||||
data.CargoStepsLeft = eventDuration;
|
||||
}
|
||||
|
||||
protected override void HandleUpdate(LevelData_MLCData data, LocationConnection connection)
|
||||
{
|
||||
data.CargoStepsLeft--;
|
||||
if (data.CargoStepsLeft <= 0)
|
||||
{
|
||||
data.HasLostCargo = false;
|
||||
string textTag = MLCUtils.GetRandomTag("mlc.lostcargo.tooslow", connection.LevelData);
|
||||
AddNewsStory(textTag, connection);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected override bool LevelHasEvent(LevelData_MLCData data) => data.HasLostCargo;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user