81 lines
2.3 KiB
C#
81 lines
2.3 KiB
C#
using System.Xml.Linq;
|
|
|
|
public class MinEventActionSetNumSpawns : MinEventActionTargetedBase
|
|
{
|
|
public override void Execute(MinEventParams _params)
|
|
{
|
|
//Log.Out("MinEventActionSetNumSpawns-Execute START");
|
|
if (_params.Self.isEntityRemote && !_params.IsLocal)
|
|
{
|
|
//Log.Out("MinEventActionSetNumSpawns-Execute 1");
|
|
return;
|
|
}
|
|
|
|
string optionMutatedSpawns = RebirthVariables.customMutatedSpawns;
|
|
|
|
int numDays = 0;
|
|
|
|
if (optionMutatedSpawns == "never")
|
|
{
|
|
numDays = 99999;
|
|
}
|
|
else if (optionMutatedSpawns == "afterday07")
|
|
{
|
|
numDays = 7;
|
|
}
|
|
else if (optionMutatedSpawns == "afterday14")
|
|
{
|
|
numDays = 14;
|
|
}
|
|
else if (optionMutatedSpawns == "afterday21")
|
|
{
|
|
numDays = 21;
|
|
}
|
|
|
|
for (int i = 0; i < this.targets.Count; i++)
|
|
{
|
|
//Log.Out("MinEventActionSetNumSpawns-Execute 2, i: " + i);
|
|
|
|
EntityAlive entity = this.targets[i];
|
|
|
|
if (entity != null)
|
|
{
|
|
//Log.Out("MinEventActionSetNumSpawns-Execute 3 entity: " + entity.EntityClass.entityClassName);
|
|
int currentDay = GameUtils.WorldTimeToDays(GameManager.Instance.World.worldTime);
|
|
|
|
//Log.Out("MinEventActionSetNumSpawns-Execute 3 currentDay: " + currentDay);
|
|
|
|
int numSpawns = 0;
|
|
|
|
if (currentDay > numDays)
|
|
{
|
|
numSpawns = GameManager.Instance.World.GetGameRandom().RandomRange(1, this.value);
|
|
//Log.Out("MinEventActionSetNumSpawns-Execute numSpawns: " + numSpawns);
|
|
}
|
|
|
|
entity.Buffs.SetCustomVar(".varFuriousRamsayRandomZombieMutatedSpawn", numSpawns);
|
|
}
|
|
}
|
|
}
|
|
|
|
public override bool ParseXmlAttribute(XAttribute _attribute)
|
|
{
|
|
bool flag = base.ParseXmlAttribute(_attribute);
|
|
if (!flag)
|
|
{
|
|
string name = _attribute.Name.LocalName;
|
|
if (name != null)
|
|
{
|
|
if (name == "value")
|
|
{
|
|
this.value = int.Parse(_attribute.Value);
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return flag;
|
|
}
|
|
|
|
protected int value = 1;
|
|
|
|
} |