Upload from upload_mods.ps1
This commit is contained in:
76
Scripts/MinEvents/NPCs/MinEventActionSendNPCForRebirth.cs
Normal file
76
Scripts/MinEvents/NPCs/MinEventActionSendNPCForRebirth.cs
Normal file
@@ -0,0 +1,76 @@
|
||||
using System.Xml.Linq;
|
||||
|
||||
public class MinEventActionSendNPCForRebirth : MinEventActionTargetedBase
|
||||
{
|
||||
private bool hide;
|
||||
private string task = "";
|
||||
private float duration = 600;
|
||||
|
||||
public override void Execute(MinEventParams _params)
|
||||
{
|
||||
//Log.Out("MinEventActionSendNPCForRebirth-Execute START");
|
||||
|
||||
var entity = _params.Self as EntityNPCRebirth;
|
||||
if (entity == null)
|
||||
{
|
||||
//Log.Out("MinEventActionSendNPCForRebirth-Execute 1");
|
||||
return;
|
||||
}
|
||||
|
||||
switch (task)
|
||||
{
|
||||
case null:
|
||||
//Log.Out("MinEventActionSendNPCForRebirth-Execute 2");
|
||||
return;
|
||||
case "mine":
|
||||
{
|
||||
//Log.Out("MinEventActionSendNPCForRebirth-Execute 3");
|
||||
entity.GameTimerTicks = GameTimer.Instance.ticks;
|
||||
entity.HideDuration = ((int)GameManager.Instance.World.worldTime / GameStats.GetInt(EnumGameStats.TimeOfDayIncPerSec)) + duration;
|
||||
//Log.Out("MinEventActionSendNPCForRebirth-Execute entity.HideDuration: " + entity.HideDuration);
|
||||
entity.bMine = true;
|
||||
entity.HideNPC(true);
|
||||
return;
|
||||
}
|
||||
case "repair":
|
||||
{
|
||||
//Log.Out("MinEventActionSendNPCForRebirth-Execute 4");
|
||||
entity.GameTimerTicks = GameTimer.Instance.ticks;
|
||||
entity.HideDuration = ((int)GameManager.Instance.World.worldTime / GameStats.GetInt(EnumGameStats.TimeOfDayIncPerSec)) + duration;
|
||||
entity.bRepair = true;
|
||||
entity.HideNPC(true);
|
||||
return;
|
||||
}
|
||||
default:
|
||||
//Log.Out("MinEventActionSendNPCForRebirth-Execute 5");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public override bool ParseXmlAttribute(XAttribute _attribute)
|
||||
{
|
||||
var flag = base.ParseXmlAttribute(_attribute);
|
||||
if (flag) return true;
|
||||
var name = _attribute.Name;
|
||||
|
||||
if (name == null)
|
||||
{
|
||||
return flag;
|
||||
}
|
||||
else if (name == "task")
|
||||
{
|
||||
task = _attribute.Value;
|
||||
return true;
|
||||
}
|
||||
else if (name == "duration")
|
||||
{
|
||||
duration = float.Parse(_attribute.Value); //Convert.ToUInt64(_attribute.Value) * 20UL;
|
||||
//Log.Out("MinEventActionSendNPCForRebirth-ParseXmlAttribute duration: " + duration);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user