54 lines
1.7 KiB
C#
54 lines
1.7 KiB
C#
using System.Xml.Linq;
|
|
|
|
public class MinEventActionFactionChangeSDX : MinEventActionRemoveBuff
|
|
{
|
|
private string Faction = "";
|
|
|
|
public override void Execute(MinEventParams _params)
|
|
{
|
|
//Log.Out("MinEventActionFactionChangeSDX-Execute START");
|
|
|
|
for (var i = 0; i < targets.Count; i++)
|
|
{
|
|
var entity = targets[i];
|
|
|
|
//Log.Out("MinEventActionFactionChangeSDX-Execute entityClassName:" + entity.EntityClass.entityClassName);
|
|
|
|
if (entity != null)
|
|
{
|
|
//Log.Out("MinEventActionFactionChangeSDX-Execute 1");
|
|
// If the faction name is original, try to find the original faction of the entity, stored via cvar.
|
|
if (Faction == "original")
|
|
{
|
|
//Log.Out("MinEventActionFactionChangeSDX-Execute 2");
|
|
entity.Buffs.SetCustomVar("$faction", 0);
|
|
}
|
|
else
|
|
{
|
|
//Log.Out("MinEventActionFactionChangeSDX-Execute 3");
|
|
entity.Buffs.SetCustomVar("$faction", RebirthUtilities.GetFactionID(Faction));
|
|
}
|
|
|
|
entity.attackTarget = (EntityAlive) null;
|
|
entity.SetRevengeTarget((EntityAlive) null);
|
|
}
|
|
}
|
|
}
|
|
|
|
public override bool ParseXmlAttribute(XAttribute _attribute)
|
|
{
|
|
var flag = base.ParseXmlAttribute(_attribute);
|
|
if (!flag)
|
|
{
|
|
var name = _attribute.Name;
|
|
if (name != null)
|
|
if (name == "value")
|
|
{
|
|
Faction = _attribute.Value;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return flag;
|
|
}
|
|
} |