Upload from upload_mods.ps1
This commit is contained in:
184
Scripts/MinEvents/MinEventActionAOEDamage.cs
Normal file
184
Scripts/MinEvents/MinEventActionAOEDamage.cs
Normal file
@@ -0,0 +1,184 @@
|
||||
using System.Xml.Linq;
|
||||
|
||||
public class MinEventActionAOEDamage : MinEventActionTargetedBase
|
||||
{
|
||||
|
||||
public override void Execute(MinEventParams _params)
|
||||
{
|
||||
//Log.Out("MinEventActionAOEDamage-Execute");
|
||||
var entityAlive = _params.Self as EntityAlive;
|
||||
|
||||
if (entityAlive == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Log.Out("ENTITY: " + entityAlive.EntityName);
|
||||
//Log.Out("POSITION: " + entityAlive.position);
|
||||
//Log.Out("BELONGS TO PLAYER: " + entityAlive.belongsPlayerId);
|
||||
//Log.Out("ENTITY radius: " + this.entityRadius);
|
||||
//Log.Out("ENTITY damage: " + this.entityDamage);
|
||||
|
||||
int entityId = EntityClass.FromString("FuriousRamsayNoEarthDamage");
|
||||
|
||||
DynamicProperties properties = EntityClass.list[entityId].Properties;
|
||||
|
||||
ExplosionData tmpExplosionData = new ExplosionData(properties);
|
||||
|
||||
bool ignore = false;
|
||||
|
||||
if (this.ignoreHeatmap == 1)
|
||||
{
|
||||
ignore = true;
|
||||
}
|
||||
|
||||
ExplosionData explosionData = new ExplosionData
|
||||
{
|
||||
BlastPower = this.blastPower,
|
||||
BlockDamage = (float)this.blockDamage,
|
||||
BlockRadius = (float)this.blockRadius,
|
||||
BlockTags = this.blockTags,
|
||||
EntityDamage = (float)this.entityDamage,
|
||||
EntityRadius = this.entityRadius,
|
||||
ParticleIndex = this.ParticleIndex,
|
||||
damageMultiplier = tmpExplosionData.damageMultiplier,
|
||||
IgnoreHeatMap = ignore
|
||||
|
||||
};
|
||||
|
||||
ItemValue itemExplosion = null;
|
||||
|
||||
if (explosionType == 1)
|
||||
{
|
||||
itemExplosion = ItemClass.GetItem("thrownGrenadeContact", false);
|
||||
}
|
||||
else if (explosionType == 9997)
|
||||
{
|
||||
itemExplosion = ItemClass.GetItem("otherExplosion2", false);
|
||||
}
|
||||
else if (explosionType == 9998)
|
||||
{
|
||||
itemExplosion = ItemClass.GetItem("otherExplosion", false);
|
||||
}
|
||||
else if (explosionType == 9999)
|
||||
{
|
||||
itemExplosion = ItemClass.GetItem("auraExplosion", false);
|
||||
}
|
||||
else if (explosionType == 9996)
|
||||
{
|
||||
itemExplosion = ItemClass.GetItem("auraExplosion2", false);
|
||||
}
|
||||
|
||||
//Log.Out("MinEventActionAOEDamage-Execute: InstigatorId: " + _params.Buff.InstigatorId);
|
||||
//Log.Out("MinEventActionAOEDamage-Execute: entityAlive.belongsPlayerId: " + entityAlive.belongsPlayerId);
|
||||
|
||||
if (entityAlive is EntityZombieSDX)
|
||||
{
|
||||
//Log.Out("MinEventActionAOEDamage-Execute: InstigatorId: " + _params.Buff.InstigatorId);
|
||||
EntityZombieSDX entityZombie = (EntityZombieSDX)entityAlive;
|
||||
if (entityZombie != null)
|
||||
{
|
||||
//Log.Out("MinEventActionAOEDamage-Execute: InstigatorId B");
|
||||
entityZombie.entityThatKilledMeID = _params.Buff.InstigatorId;
|
||||
}
|
||||
}
|
||||
|
||||
if (this.blastPower == 201)
|
||||
{
|
||||
RebirthUtilities.InstantiateParticleEffect(particleName, impactPosition, soundName, _params.Self, _params.Position);
|
||||
}
|
||||
|
||||
GameManager.Instance.ExplosionServer(0, entityAlive.position, entityAlive.GetBlockPosition(), entityAlive.qrotation, explosionData, _params.Buff.InstigatorId, 0f, false, itemExplosion);
|
||||
}
|
||||
}
|
||||
|
||||
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 == "blastPower")
|
||||
{
|
||||
blastPower = Int32.Parse(_attribute.Value);
|
||||
return true;
|
||||
}
|
||||
else if (name == "blockDamage")
|
||||
{
|
||||
blockDamage = Int32.Parse(_attribute.Value);
|
||||
return true;
|
||||
}
|
||||
else if (name == "blockRadius")
|
||||
{
|
||||
blockRadius = Int32.Parse(_attribute.Value);
|
||||
return true;
|
||||
}
|
||||
else if (name == "entityDamage")
|
||||
{
|
||||
entityDamage = Int32.Parse(_attribute.Value);
|
||||
return true;
|
||||
}
|
||||
else if (name == "entityRadius")
|
||||
{
|
||||
entityRadius = Int32.Parse(_attribute.Value);
|
||||
return true;
|
||||
}
|
||||
else if (name == "ParticleIndex")
|
||||
{
|
||||
ParticleIndex = Int32.Parse(_attribute.Value);
|
||||
return true;
|
||||
}
|
||||
else if (name == "explosionType")
|
||||
{
|
||||
explosionType = Int32.Parse(_attribute.Value);
|
||||
return true;
|
||||
}
|
||||
else if (name == "blockTags")
|
||||
{
|
||||
blockTags = _attribute.Value;
|
||||
return true;
|
||||
}
|
||||
else if (name == "ignoreHeatmap")
|
||||
{
|
||||
ignoreHeatmap = Int32.Parse(_attribute.Value);
|
||||
return true;
|
||||
}
|
||||
else if (name == "particleName")
|
||||
{
|
||||
particleName = _attribute.Value;
|
||||
return true;
|
||||
}
|
||||
else if (name == "impactPosition")
|
||||
{
|
||||
impactPosition = _attribute.Value;
|
||||
return true;
|
||||
}
|
||||
else if (name == "soundName")
|
||||
{
|
||||
soundName = _attribute.Value;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
protected int blastPower = 0;
|
||||
protected int blockDamage = 0;
|
||||
protected int blockRadius = 0;
|
||||
protected int entityDamage = 0;
|
||||
protected int entityRadius = 0;
|
||||
protected int ParticleIndex = 13;
|
||||
protected int explosionType = 0;
|
||||
protected int ignoreHeatmap = 0;
|
||||
protected string blockTags = "";
|
||||
protected string particleName = "";
|
||||
protected string impactPosition = "";
|
||||
protected string soundName = "";
|
||||
}
|
||||
Reference in New Issue
Block a user