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; }