public override bool HandleEvent(AttackerDealingDamageEvent E) { if (E.Actor == ParentObject && ParentObject.HasEffect("AstralTabbyStance")) { E.Damage.Amount = (E.Damage.Amount / 2); } return(base.HandleEvent(E)); }
public override bool HandleEvent(AttackerDealingDamageEvent E) { try { var Parent = E.Actor == ParentObject; var Target = E.Object; Body body = ParentObject.GetPart("Body") as Body; var ParentsAgility = ParentObject.StatMod("Ego"); var ParentsLevel = ParentObject.Statistics["Level"].BaseValue; List <BodyPart> hands = body.GetPart("Hand"); if (E.Actor == ParentObject && (E.Weapon.HasPart("MartialConditioningFistMod") || E.Weapon.Blueprint == "DefaultMartialFist" || E.Weapon.HasPart("NaturalGear") || E.Weapon.HasPropertyOrTag("WeaponUnarmed"))) { // AddPlayerMessage("Accessing Damage System.s"); foreach (BodyPart hand in hands) { try { // AddPlayerMessage("Accessing Damage System. A"); if (Parent && Target.HasPart("Brain") && Target.HasPart("Combat")) { var FistDamage = E.Damage.Amount; E.Damage.Amount = (int)Math.Round(E.Damage.Amount + ((CurrentComboICounter * 0.025) * E.Damage.Amount)); } else if (Stat.Random(1, 100) < CurrentComboICounter && Parent && hand.DefaultBehavior.HasPart("MartialConditioningFistMod") && ParentObject.HasSkill("WM_MMA_CombinationStrikesII") && Target.HasPart("Brain") && Target.HasPart("Combat")) { E.Damage.Amount = (int)Math.Round(E.Damage.Amount + ((CurrentComboICounter * 0.050) * E.Damage.Amount)); } } catch { return(base.HandleEvent(E)); } } } } catch { } return(base.HandleEvent(E)); }
public override bool HandleEvent(AttackerDealingDamageEvent E) { var Parent = E.Actor; var Target = E.Object; var eDamage = E.Damage; var ParentsLevel = Parent.Statistics["Level"].BaseValue; if (Parent.HasPart("MartialBody") && Parent == Object && Parent.HasEffect("DawnStance") && eDamage.HasAttribute("Fire")) { var ComboSystem = Object.GetPart <WM_MMA_CombinationStrikesI>(); eDamage.Amount = (int)Math.Round(eDamage.Amount + ((ComboSystem.CurrentComboICounter * 0.025) * E.Damage.Amount)); } return(base.HandleEvent(E)); }
public override bool HandleEvent(AttackerDealingDamageEvent E) { try { var Attacker = E.Object; var Defender = E.Actor; var ElectroHook = ParentObject.GetPart <Electrokinesis>(); var WeaponMeleeHook = E.Weapon.GetPart <MeleeWeapon>(); var ProjectileHook = E.Projectile.GetPart <Projectile>(); var DefenderArmor = Defender.Equipped.GetEquippedObjects(); var PotencyMod = 1 + ElectroHook.Potency; if (ElectroHook.Potency >= 12 && ParentObject.HasEffect("ShimmeringShroud")) { if (Defender == ParentObject && E.Weapon.HasPart("Metal") && !E.Weapon.HasPart("NaturalEquipment")) { Attacker.TakeDamage((PotencyMod), Attacker.Is + "takes damage from " + Defender.its + " shimmering shroud!", "Electricity", DeathReason: null, ThirdPersonDeathReason: null, Defender); } else if (Defender == ParentObject && E.Weapon.HasPart("Metal") || E.Weapon.HasPart("NaturalEquipment")) { foreach (var wornObj in DefenderArmor) { if (wornObj.IsEquippedOnLimbType("Body") && wornObj.HasPart("Metal")) { Attacker.TakeDamage((PotencyMod), Attacker.Is + "takes damage from " + Defender.its + " shimmering shroud!", "Electricity", DeathReason: null, ThirdPersonDeathReason: null, Defender); } else { } } } } if (ElectroHook.Potency >= 28 && ParentObject.HasEffect("ShimmeringShroud")) { if (Defender == ParentObject && Attacker.HasPart("Combat") || Attacker.HasPart("Robot") || Attacker.HasTag("Robot")) { if (!Attacker.MakeSave("Toughness", 8 + ElectroHook.Potency, Defender, null, null)) { Attacker.TakeDamage((PotencyMod), Attacker.Is + "takes damage from " + Defender.its + " shimmering shroud!", "Electricity", DeathReason: null, ThirdPersonDeathReason: null, Defender); Attacker.ApplyEffect(new Stun(PotencyMod, PotencyMod)); } } } else if (ElectroHook.Potency >= 38 && ParentObject.HasEffect("ShimmeringShroud")) { if (Defender == ParentObject && E.Damage.IsElectricDamage()) { var DamageConversion = E.Damage.Amount; ElectroHook.Potency += DamageConversion / 2; E.Damage.Amount /= 2; } } else if (ElectroHook.Potency >= 42 && ParentObject.HasEffect("ShimmeringShroud")) { if (Defender == ParentObject && E.Weapon.HasPart("DischargeOnHit") || WeaponMeleeHook.Element == "Electric" || ProjectileHook.Attributes == "Electric") { ElectroHook.Potency += E.Damage.Amount / 3; } } if (Defender == ParentObject && E.Damage.HasAttribute("Light Laser") || E.Projectile.HasTagOrStringProperty("EnergyAmmoLoader", "ProjectileLaserRifle") || E.Projectile.HasTagOrStringProperty("EnergyAmmoLoader", "ProjectileEigenrifle") || E.Projectile.HasTagOrStringProperty("EnergyAmmoLoader", "ProjectileLaserPistol") || E.Projectile.HasTagOrStringProperty("EnergyAmmoLoader", "ProjectileOverloadedLaserPistol") || E.Projectile.HasTagOrStringProperty("EnergyAmmoLoader", "ProjectileElectrobow")) { if (ElectroHook.Potency >= 18 && ParentObject.HasEffect("ShimmeringShroud")) { E.Damage.Amount /= 2; } else if (ElectroHook.Potency >= 28 && ParentObject.HasEffect("ShimmeringShroud")) { E.Damage.Amount = 0; } else if (ElectroHook.Potency >= 38 && ParentObject.HasEffect("ShimmeringShroud")) { var DamageConversion = E.Damage.Amount; ElectroHook.Potency += DamageConversion / 2; E.Damage.Amount = 0; } else if (ElectroHook.Potency >= 42 && ParentObject.HasEffect("ShimmeringShroud")) { if (E.Damage.IsElectricDamage()) { var DamageConversion = E.Damage.Amount; ElectroHook.Potency += DamageConversion; E.Damage.Amount = 0; } } } } catch { } return(base.HandleEvent(E)); }