public void GoBoom() { GenExplosion.DoExplosion(Wearer.Position, Wearer.Map, 1.5f, DamageDefOf.Bomb, this, 50); var destroyNeck = new DamageInfo(DamageDefOf.Bomb, 100f, 100f, -1f, this, Wearer.RaceProps.body.AllParts.Find(part => part.def == BodyPartDefOf.Neck)); Wearer.TakeDamage(destroyNeck); }
public override void Tick() { base.Tick(); if (Wearer != null) { if (Wearer.MentalState != null) { if (Wearer.MentalState.def.defName == "Slaughterer") { DamageInfo dinfo = new DamageInfo(); dinfo.Def = OGShockCollarDefOf.OGElectrical; Wearer.TakeDamage(dinfo); } } } }
public void Zap() { var zap = new DamageInfo(DamageDefOf.Burn, 1f, 100f, -1f, this, Wearer.RaceProps.body.AllParts.Find(part => part.def == BodyPartDefOf.Neck)); var zap2 = new DamageInfo(DamageDefOf.Stun, 1f, 100f, -1f, this, Wearer.RaceProps.body.AllParts.Find(part => part.def == BodyPartDefOf.Neck)); if (Wearer.Downed || !Wearer.Spawned) { armed = false; return; } SoundInfo info = SoundInfo.InMap(new TargetInfo(Wearer.PositionHeld, Wearer.MapHeld)); SoundDefOf.Power_OffSmall.PlayOneShot(info); Wearer.TakeDamage(zap); Wearer.TakeDamage(zap2); Wearer.health.AddHediff(SS_HediffDefOf.Electrocuted); SlaveUtility.TryHeartAttack(Wearer); }